No me llamaría un desarrollador superestrella, sino relativamente experimentado. Intento mantener la calidad del código a un alto nivel, y siempre busco mejorar mi estilo de codificación, intentar que el código sea eficiente, legible y coherente, así como alentar al equipo a seguir patrones y metodologías para garantizar la coherencia. También entiendo la necesidad del equilibrio entre calidad y velocidad.
Para lograr esto, he presentado a mi equipo el concepto de revisión por pares. Dos pulgares arriba en github pull-request para una fusión. Genial, pero no en mi opinión sin hipo.
A menudo veo comentarios de revisión por pares de los mismos colegas como:
- Sería bueno agregar un espacio después
<INSERT SOMETHING HERE>
- Línea extra no deseada entre métodos
- El punto final debe usarse al final de los comentarios en docblocks.
Ahora desde mi perspectiva, el revisor está mirando superficialmente la estética del código, y realmente no está realizando una revisión del código. La revisión del código cosmético me parece una mentalidad arrogante / elitista. Carece de sustancia, pero no se puede discutir demasiado porque el revisor es técnicamente correcto . Preferiría ver menos de los tipos de revisiones anteriores y más revisiones de la siguiente manera:
- Puede reducir la complejidad ciclomática ...
- Salga temprano y evite si / si no
- Resuma su consulta de base de datos a un repositorio
- Esta lógica realmente no pertenece aquí
- No te repitas: abstrae y reutiliza
- ¿Qué pasaría si
X
se pasara como argumento al métodoY
? - ¿Dónde está la prueba de unidad para esto?
Creo que siempre son los mismos tipos de personas quienes dan los tipos cosméticos de revisiones, y los mismos tipos de personas que, en mi opinión, dan las revisiones por pares "basadas en la calidad y la lógica".
¿Cuál (si lo hay) es el enfoque correcto para la revisión por pares? ¿Y estoy en lo correcto al sentirme frustrado con las mismas personas que básicamente pasan por alto el código en busca de errores ortográficos y defectos estéticos en lugar de defectos de código reales?
Si estoy en lo correcto, ¿cómo podría alentar a mis colegas a buscar fallas en el código en equilibrio con sugerir retoques cosméticos?
Si soy incorrecto, por favor, ilumíneme. ¿Existen reglas generales para lo que en realidad constituye una buena revisión de código? ¿Me he perdido el punto de qué son las revisiones de código?
Desde mi perspectiva, la revisión del código se trata de la responsabilidad compartida del código. No me sentiría cómodo dando el visto bueno al código sin direccionar / verificar la lógica, la legibilidad y la funcionalidad. Tampoco me molestaría en bloquear una fusión para un código sólido si me di cuenta de que alguien ha omitido una parada completa en un bloque de documentos.
Cuando reviso el código, gasto entre 15-45 minutos por 500 Loc. No puedo imaginar que estas revisiones superficiales tarden más de 10 minutos si esa es la profundidad de la revisión que están realizando. Además, ¿cuánto valor tiene el pulgar hacia arriba del crítico superficial? Seguramente esto significa que todos los pulgares no tienen el mismo peso y es necesario que haya un proceso de revisión de 2 pases. ¿Un pulgar para revisiones profundas y un segundo pulgar para el "pulido"?