Hace 6 años | Por --536706-- a github.com
Publicado hace 6 años por --536706-- a github.com

En el interés de crear oportunidades de trabajo en el campo de la programación en Java, describo algunos consejos de como escribir código tan difícil de mantener, que las personas que vengan después de ti tardarán años en hacer los cambios más simples. Además, si sigues estás reglas religiosamente, te aseguraras tu empleo de por vida, ya que no habrá persona viva salvo tú que pueda mantenerlo. De nuevo, si sigues estás reglas demasiado religiosamente, ni tu serás capaz de mantenerlo.

Comentarios

s

#10 Jajaja ese fue un de los que más me hizo reír a mí también.

h

#10 LA que mas megustó a mi:

Lie in the comments

r

#10 Cualquier programador medio decente sabe que esa fórmula está mal... en realidad es

yondu = (marypopping + starship) / celestial

D

#3 lol Lo conocía como chiste. De quién es la canción?

D

#4 Ni idea. Es una sevillana.

N0noYy

#11 do ma sei

squanchy

#14 Algunos aún podemos leer esa expresión. El resultado de la operación es 8.

J

#11 Yo siempre uso comentarios en gallego cuando estoy testeando en local. Al final cambio todo antes de subirlo a produccion pero, como no, una vez se me paso un comentario. La cara que se me quedo cuando un compañero ingles me pregunto que significaba "A cona da tua vella" lol

D

#9 sigue existiendo Raulito el Friki?? Veo que ha madurado y todo.

Sigue sin tener gracia

m

#9: Adivina cómo son muchas fórmulas de Excel.

Vale que si son simples no pase nada, pero si tienes una compleja cadena de IFs, no es mala idea separarlo en líneas (alt+enter) y indentarlo con espacios.

Wayfarer

#49 Concho, ¿eso se puede hacer?

m

#54: Si, yo así tengo algunas fórmulas complejillas para entenderlas mejor luego.

Claro, en cuanto termine el contrato voy fuera, porque no seré imprescindible. lol Tendré que poner en práctica lo que pone en el artículo.

Wayfarer

#55 Yo lo que hago con las fórmulas largas es pasarlas al Notepad++ y manejarlas allí, luego vuelvo a eliminar espacios ysaltos de línea y las vuelvo a meter en el Excel...

m

#64: Ojo, que con el Open Office no era posible.

D

#9 Si es bueno para google, es bueno para ti.

D

#18 Tío lo que has puesto precisamente se cumple siempre.

alexwing

#23 verdad a esas horas ni me pidas más un día 1

D

Es un poco en clave de humor, pero es bastante informativo de porque no hacer ciertas cosas.

Jokessoℝ

#1 humor? tú eres algo inocente. Becario ¿verdad?

qué sería de los curriculums inventados en este pais si no existiera github para hacer copia-pega y llamarte a ti mismo "programador"!!

D

#6 ¿Cómo copias un repositorio de tal forma que el log parece hecho por ti?

D

#15 Copias el código, limpias el historial de tu local, haces 4 cambios y lo subes a tu branch .

D

#20 Salen las fechas de las subidas. Un trabajo de semanas en dos horas no cuela.

LaInsistencia

#20 #15 descargas
borras .git
git init
git add .
git comit -m 'rama personalizada para xxxxx, primera version: hola mundo!'

D

#29 Pero sigues sin tener un log progresivo, con sus fechas y sus explicaciones de cada una de las subidas.

Huele a estafa a kilómetros.

D

#39 En los sitios en los que yo he trabajado ni dios se leí los historiales del repo, ni saben como leerlo...

Y donde estoy ahora les da igual de donde salga el código mientras funcione, si algún día hay problemas de licencia ya verán como solucionarlo.

D

#39 Sinceramente dudo que nadie haga una investigación relativamente profunda al respecto, además, creo que siempre es posible que alguien por lo que sea haya subido un proyecto que no tenía antes en github, que haya perdido, o lo que sea.

D

#56 Si no lo tenía subido ya, con push constantes y medianamente bien documentados me fío muy poco de la capacidad organizativa de ese aplicante.

Si a algún director técnico incompetente le cuelan así proyecto tos realizados por otros... Pues bueno.

D

#57 Quizás sea error mio, pero yo doy por sentado que la mayoría lo son.

D

#58 lol Todos los directores técnicos que he conocido han hecho bien su trabajo

yoshi_fan

#6 StackOverflow*. El 99% de los titulados de FP y Uni no saben lo que es GitHub. Aun se sigue usando SVN en muchas universidades "para enseñar" pero ni dios tiene idea real por que no se obliga a usarse como herramienta de dia a dia en los centros educativos.

D

#62 En mi experiencia te puedo decir, que ni en FP ni en carrera he visto usar gestion de versiones, ni el mítico CVS. Yo todo lo que se sobre gestores de versiones ha sido laboralmente y para meterme con git me he tenido que montar yo un servidor en casa sobre SSH para acostumbrarme a usarlo. Aunque te parezca mentira, al menos en España, hay infinidad de empresas y administraciones que siguen usando SVN. Y muchas veces no es porque no quieran, si no hay mucha gente incompetente incapaz de tener bien el estado "preparado" y otros 4 conceptos que se deben tener claro de git.

Tema aparte, no creo que los gestores de versiones deban darse exclusivamente en determinadas carreras tecnicas. Fuera de la programación también es muy util. Por ejemplo una empresa donde se editen simultaneamente un monton de documentos.

yoshi_fan

#72 Totalmente de acuerdo. Y ademas con herramientas como Source Tree el control de versiones se ha supersimplificado asi que apenas hay barrera tecnica.

D

#34 Me lo creo, por desgracia lo he visto también.

yoshi_fan

#34 Has dado en el clavo 100%.

Penetrator

#1 Sí, es muy divertido hasta que me leo alguno de los consejos y me doy cuenta de que eso también lo he hecho alguna vez.

D

El de poner un trozo de código comentado que no parezca estar comentado me ha matado

alexwing

#8 eso lo he visto yo y no hace mucho le pones un if (1!=0) y todo lo de dentro a la mierda.

D

#8 A mí éste me ha parecido diabólico:

If the compiler will only distinguish the first, say, 8 characters of names, then vary the endings e.g. var_unit_update() in one case and var_unit_setup() in another. The compiler will treat both as var_unit”.

squanchy

Esas técnicas están muy bien si trabajas solo, pero si formas parte de un equipo y todos tocan en todas partes, enseguida te pillan y te tiran de las orejas.
En cualquier caso, algunas cosas que comenta suelen darse habitualmente. P. e., a veces para que algo funcione con un nuevo elemento, necesita que se toque código, configuración y base de datos. Si eres tú quien lo hizo, vas derecho, pero si ponen a otro, da palos de ciego.
Muchas veces los comentarios en el código son contraproducentes, porque explican qué hacía el código en su primera versión, pero se ha tocado luego tantas veces, que ese código hace otra cosa distinta a la que se comenta.

M

#36 Salvo que seas de los intocables de la empresa, yo los he sufrido. Estos que tienen un sueldazo y la indemnización por las nubes.

Mael

me ha recordado mucho a esto
http://bofhers.net/blog/marr%C3%B3n-oscuro-el-idiotizador-cuarta-parte

Gran invento, el idiotizador... lol

D

el java en sí mismo ya es ininteligible

M

Lo he vivido en varias empresas, al final en la última los compañeros le llamaban el chico de oro.

Porque tenía un sueldazo que por indemnizaciones era almohadilla despedirlo, supo a lo largo de la historia de la empresa hacerse importante y pedir aumentos en el punto justo para ir haciéndose intocable.

El chico de oro, llevaba un proyecto para servers en Perl (1° ofuscación) y después era muy celoso de que tocaramos el código (pese a tener svn al principio y git después), tenía tabulaciones mezcladas en todo el código (2° ofuscación) y después el lío de código y que sólo el sabía de esa parte del proyecto ya era el remate.

Era tan celoso que a mí a base de reprimendas (porque no eran broncas) me fue apartando de mi idea de por lo menos que estuviera bien formateado el código, recuerdo que al principio en plan infantil le metía mano a "su código" cuando estaba de vacaciones, pero se enteraba cuando conocía y hacia un svn update (en aquellos tiempos).

Recuerdo cuando el jefe le enviaba novatos a intentar meter alguno más en el esa parte proyecto, y como los echaba con delicadeza y mareandolos.

Pero sabéis lo mejor, que el tío era buena gente, creo de los mejores compañeros de esa empresa, pese a que desapruebo esa forma de empoderarse, a costa de poner en una situación difícil a los compañeros.

Era buena gente, porque en otra que estuve, además de ser varios intocables en varias proyectos de la empresa, eran unos bordes y cabrones.

mirav

Hoy en dia, con las pull request, es basicamente imposible que cualquiera de esos errores acabe subido al repo.

Recuerdo algunos jefes de proyecto de mi etapa en Madrid, que veian las pull request / pair reviews como una perdida de tiempo y no nos permitian literalmente mantener la calidad, metiendo y sacando developers todas las semanas.

Luego claro, el fracaso es monumental, y la culpa, del equipo TECNICO.

Pero bueno de eso hace unos años, y de hecho en mi ultimo trabajo las pull requests eran revisadas de forma extrema, fue un shock al principio tanta paranoia sobre el source formatting. Espero que ahora la industria haya madurado bastante.

Leyendo por internet asi parece, pero me da la sensacion que las empresas que lo hacen bien hacen muchisimo ruido, como si sus buenas practicas fuesen lo habitual. Pasa lo mismo leyendo discusiones en s. overflow, parece que todos los programadores controlan y luego en la vida real, ya tal...

D

True story: TODO: nose porque peta revisar,(de esa linea hacia 3 años).

D

Pues yo sigo la filosofía opuesta: escribo el código más sencillo de mantener posible, primero porque me cabreo conmigo mismo si lo hago mal, y segundo porque el día que me vaya no quiero que me estén llamando cada dos por tres porque no saben como hacer lo que sea.

Y aún así a veces te vienen a preguntar subnormalidades porque al que sea no le da por leerse el código de un programa de 200 líneas...

dreierfahrer

#42 haces bien. Tu salud mental te lo agradecera
#46 Esa es la actitud. Mis dieses: 'Si me voy de esta empresa ya encontrare sitio en otra pq HAGO BUENOS PRODUCTOS.' Que te valoren por lo que eres, no por lo que escondes.
#68 Ni de palo tio; tu has aprendido y eso que te llevas. Ya saldran mas cosas y tu sabes mas cosas para ellas.

Esto de la programacion es aprender siempre, no poner tornillos.

thinkr

sub ZEROPATATERO


TE TENGO EN MIS RECUERDOS ** wall

N

Yo creo que hay pocos programadores que no hagan esto (en mayor o menor grado) y aún así, siguen siendo carne de cañón para las empresas.

En la empresa donde trabajo había uno que se encargaba de desarrollar y mantener una herramienta que usábamos todos los días. Todos los cambios tardaban mil en implementarse, incluidas las soluciones a los fallos que cometían. Aún recuerdo una en la que hicieron imposible borrar cosas agrupándolas (y que antes funcionaba perfectamente), pues al día siguiente se reportó el tema y aún (2 años después) no lo han arreglado.

Primero porque el cabr** era más perro que Rintintín y segundo porque un año después de tan majestuosa obra, durante las revisiones salariales no le subieron el sueldo. Momento en que aprovechó para dárselas de imprescindible y su jefe acabó por cabrearse y ponerle de patitas en la calle. Pues ahora tienen a 4 programadores trabajando en mantener el programa y por lo visto tenía todo tan enrevesado y hecho para solo poder mantenerlo él que ahora los cambios van a dos por hora y tienen a cuatro personas en el puesto de una solo para entender que ha hecho.

m

#41: Os ha PWNeado a todos. lol #pwned

acido303

#41 Han hecho bien en despedirle. Una pena no haberse dado cuenta antes.

jonsy.gaviota

Mucho más fácil: utiliza Perl como lenguaje de programación

D

#31 No si quieres encontrar trabajo lol

m

#31: O Lisp, y piérdelos a todos en un mar de listas de insípidos y estúpidos paréntesis.

devil-bao

A partir de "Java", ya he dejado de leer...

C

Usa cualquier generador de código y luego dices que lo has hecho tú.

albandy

Eso devuelve true, se cumple la condición ya que 1 siempre será diferente de 0.
Mejor pon if(false) y te ahorras un comparador

Black_Diamond

#21 #define False 1


....


If(variable == False)
Telacuelo() ;

albandy

#44 false lo he puesto en minúsculas y es una palabra reservada (a no ser que uses un lenguaje que no tenga definido true y false como el C, pero mira mi avatar) en C pondrías if (0) y seria lo mismo que if (false) en java o .net

D

Gente que gana más dinero que yo programa de esta manera. Pronto me iré de esa empresa.

Cidwel

Bueno. En mi empresa se programa genial. Se añaden a los equipillos de proyecto a los pull request (minimo 1, maximo 10) y se comenta el código hasta el punto que pueden haber conflictos por no tener tacto humano en algunas circunstancias donde a = b. En general he aprendido muchisimo programando con ellos ya que siempre hay alguno que tenga una idea de como mejorar o optimizar un codigo.

El marzo nos vamos todos a la calle: EU denuncia: la EUIPO contrata los servicios informáticos a una firma de India y prescinde de 150 operarios de Alicante

Hace 6 años | Por --133372-- a alicanteplaza.es


La verdad, si hubieramos conocido la decisión de antemano no sé si nos hubieramos esforzado tanto en hacer el codigo tan mantenible. Normalmente haces codigo para que tu empresa y tu equipo lo disfrute. No para que otro país se lleve el beneficio y aprendan nuevas tecnicas gracias a nuestro código.

D

Es tan patético leer a los programadores hablar de si mismos que da un asco que merece una categoria que no existe, un termino aun no definido.

Penetrator

#24 ¿Y cómo clasificarías a alguien que se mete en un hilo sobre algo que no le interesa en absoluto para luego comentar en ese mismo hilo lo poco que le interesa lo que está leyendo?

O

#24 Aver estudiao.

katinka_aäå

#24 Dí que sí. Año nuevo, karma nuevo.