Login Barrapunto
¿Como convencer a mis compañeros para que utilicen buenas practicas de programación?
desde el dept. problemas-sociales-y-soluciones-tecnológicas
Un pobrecito hablador nos cuenta: «He entrado en un nuevo puesto de trabajo de desarrollo de software y me he encontrado con que la gente aqui no sabe programar de una manera estructurada, encapsulada, con un diseño orientado a objetos que cumpla el pincipio abierto/cerrado y el de responsabilidad unica; no aplican patrones de diseño (ni siquiera saben lo que es), no utilizan herencia ni interfaces, el codigo es un caos de parcheos, chapuzas y declaracion de clases a la que ni siquiera le puedes poner un nombre y una descrpcion concreta por que simplemente las usan como punto de entrada a una ristra de funciones sin estado y proposito concreto. Dicen que soy quisquilloso y "especialito" por que estoy todo el dia intentando convencerles sobre todos los problemas inherentes a hacer las cosas asi (mantenibilidad, trazabilidad del rendimiento, menos posiblidades de bugs, flexibilidad y facilidad ante los cambios que puedan surguir, etc). Pero dicen que no tengo razon y que lo que yo propongo solo sirve para tardar mas en programar una aplicacion (y el jefazo que les podria obligar les da la razon). ¿Os ha pasado algo parecido? ¿Como habeis capeado la situacion? ¿Como podria convencerlos de que estan equivocados?» Por lo que dices, de pruebas unitarias e integración continua ni hablamos, ¿no?
« Watson, un ordenador con tecnología DeppQA gana Jeopardy! | Acusan falsamente de difundir pornografía infantil a 84.000 sitios web »

Choque de culturas
(Puntos:3, Inspirado)( Última bitácora: Viernes, 04 Febrero de 2011, 10:50h )
Re:Choque de culturas
(Puntos:4, Inspirado)( http://www.cientifico.net/ | Última bitácora: Martes, 22 Junio de 2004, 13:46h )
La próxima vez pregunta cual es la manera de trabajar y punto.
De momento cambiate de trabajo, busca otra cosa. Ahora mismo de Rails la verdad es que hay demasiado curro y muy poca gente.
Puede que seas tú el que estás equivocad
(Puntos:4, Inspirado)Te cuento por qué... [...] con un diseño orientado a objetos que cumpla [...]
¡Vaya! Parece que damos por sentado que hay que utilizar un diseño orientado a objetos.
Los "novatos" (es broma) tenéis que saber que también se puede utilizar una buena programación estructurada y procedural, y no utilizar un diseño orientado a objetos. Incluso aunque utilices un lenguaje orientado a objetos (Java, C++, etc.), no es necesario que utilices un diseño orientado a objetos, puedes utilizar un diseño estructurado y procedural.
no utilizan herencia ni interfaces
¡Esto es el colmo! Y aquí sí que me pongo serio. ¿Acaso es obligatorio utilizar interfaces? Esta moda de ahora de utilizar interfaces, por ejemplo "por si cambiamos la base de datos por otra cosa" es típica de alguien que se ha leído muchos documentos "modernos" de los que circulan por Internet pero tiene poca experiencia en una empresa real. Enterémonos: NADIE cambia la base de datos por otra cosa, y, si se cambia, te aseguro que el menor de los problemas será el haber usado o no interfaces. Es realmente absurda la costumbre de hacer siempre dos fuentes: uno con el interface y otro con la implementación. Los interfaces están bien cuando necesitas herencia múltiple (que no existe en Java), pero es absurdo usarlos "por si nos cambian la base de datos por otra cosa y tenemos que modificar la implementación".
Akbar
(Puntos:2)( http://labotelladeklein.blogspot.com/ | Última bitácora: Domingo, 20 Febrero de 2011, 13:04h )
Ahora en serio, si la situación es como la pintas, lo mejor es que salgas corriendo de allí, porque lo más probable es que te peguen a ti los malos vicios y la cultura que ha generado ese tipo de desarrollos.
Si por la razón que imagino, no puedes permitirte salir de allí, trata de ponerte en cuarentena y realizar bien tu trabajo. Eso implica que tu seas el único responsable de tus desarrollos y que si alguien más tiene que tocarlos o colaborar contigo, lo haga baja tus reglas. De esta manera minimizas el contagio y quizá consigas un converso o dos a la larga. Pero ya te adelanto que ese camino es duro y muy largo, y requiere de aptitudes que van más allá de las aptitudes técnicas.
El doble de diversión en: La Botella de Klein [blogspot.com]
Ayuda
(Puntos:1)Cuando pete, di por qué
(Puntos:4, Interesante)Y, por supuesto, practica con el ejemplo. Que los demás hagan lo que quieran, pero tu código hazlo bien. A lo mejor el día que un cambio en alguna cosa a los demás les implique una semana de trabajo y a ti sólo modificar dos líneas, se van dando cuenta de que haces las cosas por algo.
Saludos y suerte
¡qué coincidencia!
(Puntos:1)( http://barrapunto.com/ )
~out of the closet!~
La competencia
(Puntos:1)( http://www.rfc-es.org/ )
No.
(Puntos:1, Inspirado)huye
(Puntos:1)¿Eres tu el responsable? ¿no? Pues te ca
(Puntos:1, Troll)Consejo
(Puntos:1)Si tienes que matar a alguien, ya sabes, los jefes primero.
Si te dice algo la poli, al final les explicas que era un bromón.
Un consejo que no te lo dará ni el Fortune
(Puntos:1, Inspirado)Poco que hacer
(Puntos:2)Si el jefe está de acuerdo con ellos me temo que no puedes hacer mucho más que irte y buscarte a un equipo más serio, o hacer un trabajo a largo plazo de educación, que es lo que necesitan, haciéndoles ver lo que pierden trabajando a la chapuza.
Existe un problema de educación muy importante en esta profesión, y es que en pocos sitios se aprende a trabajar bien y formalmente, y en muy pocos sitios te pagan por así hacerlo. Muchos jefes no saben ver estas cosas (muchos jefes no distinguirían un ordenador de una farola, tampoco).
Dales donde les duele
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Miércoles, 02 Febrero de 2011, 01:52h )
Pero yo me iría pensando muy mucho lo que te han dicho casi todos: lárgate de ahí en cuanto puedas.
No te abstengas: vota a otros [nolesvotes.com]
No puedes hacer nada, yo ni lo intentaría
(Puntos:2)( http://www.gatogordo.es/ | Última bitácora: Sábado, 29 Mayo de 2004, 03:47h )
No se puede enseñar a alguien que no quiere aprender.
El Gato Gordo [gatogordo.es]
Lo básico
(Puntos:2)Tao of programming
(Puntos:1)( http://barrapunto.com/ )
A novice asked the Master: ``Here is a programmer that never designs, documents or tests his programs. Yet all who know him consider him one of the best programmers in the world. Why is this?''
The Master replies: ``That programmer has mastered the Tao. He has gone beyond the need for design; he does not become angry when the system crashes, but accepts the universe without concern. He has gone beyond the need for documentation; he no longer cares if anyone else sees his code. He has gone beyond the need for testing; each of his programs are perfect within themselves, serene and elegant, their purpose self-evident. Truly, he has entered the mystery of Tao.''
Lo preocupante no son los problemas sino la carencia de soluciones.
codigo optimizado o codigo reutilizable?
(Puntos:1)Bienvenido al mundo real
(Puntos:1)Yo también me encontré con eso en mi primer trabajo. Todo funcionaba parche sobre parche, cuando tenias que modificar algo tenias que recorrerte prácticamente toda la aplicación fichero por fichero para ver que no estuviese en más sitios. Huelga comentar, que la documentación era inexistente.
Como ya te han dicho algunos:
1 - Tampoco tiene que ser todo orientado a objetos (depende del lenguaje en que programes). También hay otro métodos de organizar el código, no necesariamente POO.
2 - Haz tu código lo mejor que puedas. Cuando alguien tenga que modificar algo y se tire una semana para hacerlo... y tu si lo has hecho bien solo tengas que cambiar un par de lineas... lo normal sería que se diesen cuenta... el problema de esto es que como tardas poquito, le dan menos importancia aún, ya que por lo general el mandamás suele no tener ni idea de nada...
3 - Esto es un consejo, no vayas de "listillo" y trates de cambiar todo el funcionamiento de la empresa de la noche a la mañana... El clavo que sobresale es el primero en llevarse el martillazo...
Creces con las adversidades
(Puntos:2)( http://guslibu.awardspace.com/ | Última bitácora: Jueves, 08 Julio de 2010, 08:35h )
complicado
(Puntos:1)mano izquierda y psicología
(Puntos:2)( Última bitácora: Miércoles, 10 Febrero de 2010, 11:10h )
Las cosas hay que plantearlas de otra forma, con más psicología y mucha mano izquierda para hacer que ellos mismos se convenzan y no lo vean como una imposición sin sentido del novato listillo.
Las buenas prácticas de negociación también son muy importantes.
No Aptos
(Puntos:1)Re:Reclama en el colegio
(Puntos:2, Inspirado)Re:Es lo normal trabajando con inutiles
(Puntos:1)Re:Diferencia entre Ingenieros informáticos y
(Puntos:1)Re:Falta de formación
(Puntos:3, Inspirado)Re:comentario troll y fuera de tema
(Puntos:1)Re:bote de vaselina
(Puntos:1)¿Esperas que los coja uno a uno y les dé por el culo si resulta que no hacen caso?. Seguramente se resistirán, y hasta es posible que el que no oponga mucha resistencia acabe "devolviéndole" la jugada a él. xD
Demasiado sexy para dejarme ver en público