¿Cómo hacer una revisión de código práctica?

Como siempre, en entornos precisos trato de responder preguntas ambiguas pero que intentan ser mas precisas que otras.

Estoy siendo sarcastico y exagerado pero trato de manifestar escalas de valores y principios.

1.- Si el código anda, para qué revisarlo?

(Principio: sell first / fix later)… En otras palabras … reviso todo lo que quieras… ¿pero quien lo paga? Si hay alguien que paga, puedo pasar el resto de mi vida revisando.

2.- Trabajo muchas veces para startups.

El principal objetivo de las startups es tener algo funcionando pronto. Ver el primer paso hecho realidad (y cobrar antes de que intenten tener ganancias)

2.- Puedo mencionar herramientas, pero de nuevo, va a haber errores más frecuentes en ciertos entornos. Entonces creo que hay que poner el foco siempre primero en lo que más duele. (Principio: Quien evalua el costo de la revision y los resultados obtenidos? Porque si lo que se encuentra es “malas practicas” que no tuvieron ningun efecto nocivo para el negocio… es simplemente protegernos de los “elefantes verdes” que igual nunca iban a suceder, porque las tecnologias cambian mas rapido que las aplicaciones.”

Entonces si el error no iba a aparecer… por mas refactor que le hagamos, tenemos mas probabilidad de reconstruir toda la aplicacion cuando una nueva tecnologia aparezca…. que amortizar el desarrollo de una aplicacion … haciendola sobrevivir como Rambo… con una tecnologia vieja.

3.- Usaria herramientas tipicas (eclemma, sonar) poniendole un limite de tiempo al esfuerzo y una criticidad que el equipo pueda y este dispuesto a cumplir.

4.- Perdón… agrego algo. Prefiero siempre las herramientas automáticas y cotidianas. Por lo tanto … creo que lo más inocuo y que deja trabajar es la integración continua. Cuanto mas seguido es el control habrá menos desvio y por lo tanto es aplicable. Pero siempre las reglas tienen que ser pocas y cumplibles.

Ejemplo terrible de revision (no de codigo) es reddit. Los “moderadores” de reddit enumeran un monton de reglas y me da la idea que se pasan un monton de tiempo controlando. Es raro que una persona que no use cotidianamente un foro especifico pueda moverse libremente ahi.

En un equipo de desarrollo, tambien me parece que deberia ser un alerta gigante si hay mas codigo a “arreglar” o “refactorizar” que el que se genera “creando” . En esos casos hay que revisar las reglas y los controles que se imponen.

Deja un comentario