Trabajo en una nueva empresa en una gran empresa de software empresarial (más de 3000 programadores). En mi grupo, tenemos un montón de proyectos y la gente suele trabajar en varios proyectos en el transcurso de un año.
Acabo de comenzar a trabajar en un proyecto que ha sido mantenido anteriormente por un amigo mío (consultor que ha estado con nosotros durante más de 3 años) para agregar algunas características. Me metí en el código, y la calidad era bastante mala. Ya sea en la interfaz de usuario de la interfaz de usuario o en el de servicios, el código simplemente no tenía sangría, había cientos de líneas comentadas sin razón aparente, la documentación era básicamente inexistente, los estándares de codificación no se aplicaban de manera consistente (por ejemplo, mezcla camelCase
y under_scored_variables
), los nombres de las variables fueron ininteligibles, las opciones de tipo de datos fueron incorrectas, etc. etc.
Soy una persona muy poco conflictiva, por lo que no quiero atacar a mi compañero de trabajo, pero tampoco quiero ir a mi jefe y quejarme de su desempeño. ¿Qué tipo de cosas puedo decir para mencionar educadamente que el código está mal estructurado?
EDIT:
Quiero aclarar que si bien entiendo que hay un elemento de "el código de todos los demás apesta" para todos los programadores, cuando veo algo como esto (los nombres se eligen a propósito y algunos detalles se omiten / se modifican en este ejemplo):
public void doCalculate(Object argument) {
if (argument instanceof String) {
String argument2 = (String) argument;
if (argument2 == "DataBase") {
// do something
} else {
long argument3;
try {
argument3 = Long.parseLong(argument2);
} catch (Exception e) {
argument3 = -1;
}
// do something completely unrelated
}
}
}
Creo que es objetivamente justo decir que esto no es una buena idea no . Además, no estoy tratando con un novato aquí (solo estoy codificando 3 años ahora). Él tiene tal vez 20 años de experiencia en mí. El consejo que ustedes han dado hasta ahora es genial; solo quiero asegurarnos de que no estamos hablando de una "línea fina" aquí.