Por lo que puedo decir, la declaración que lo confundió es un compromiso pragmático hecho para que las pautas sirvan a la audiencia más amplia posible. Dependiendo de su contexto específico (más sobre eso a continuación) puede tener una opción para ajustarlo y hacer un uso más eficiente de las pautas.
Verá, las pautas se refieren a "fuertes objeciones personales" como un medio para justificar la violación. Tales objeciones no son algo que ignorar a la ligera, especialmente si provienen de desarrolladores experimentados.
Estas objeciones pueden estar equivocadas, pero (y esto es muy, pero MUY GRANDE) también pueden indicar que una regla en particular está mal, ya sea en general o en el contexto específico del proyecto (un ejemplo de desajuste de la regla es un requisito para proporcionar registro detallado en el código crítico de rendimiento).
Creo que cualquier guía de estilo sensata debería tener en cuenta lo anterior e intentar acomodar una posible necesidad de ajustarse. Ahora, si la guía que lo confundió estaba dirigida solo a equipos maduros con procesos y entornos eficientes y fluidos, podría decirse de manera mucho menos ambigua, por ejemplo, así:
Las reglas deben seguirse estrictamente, a menos que se presente un desafío contra ellas, en cuyo caso la regla impugnada debe permanecer ignorada hasta que se resuelva, ya sea rechazando el desafío o al aceptarlo y ajustar las reglas para que encajen.
Es posible que le guste más lo anterior y desee que sea así en todas partes, para todos, pero mire más de cerca esa parte del "desafío se plantea / permanezca ignorado / ajuste" y pregúntese cómo se puede implementar. Pregúntese cuánto tiempo puede tomar dependiendo del proyecto y el equipo. Si lleva una hora, ¿es eso aceptable? ¿Qué pasa si toma un día, o una semana, o ... un mes?
Verá, ese enfoque de desafío e ignorar hasta que se resuelva podría abrir una amplia puerta para el abuso si se presentara como una guía para cualquier proyecto. "Sí, sí, lo escuchamos, hagámoslo como dice la guía. Primero, complete este formulario de desafío y obtenga las aprobaciones de CEO / CFO / CTO; espere que esto tome una semana o dos. Después de eso, espere hasta que actualicemos nuestras comprobaciones de código ; eso puede tomar una o dos semanas más. Mientras tanto, asegúrese de que su código crítico de rendimiento vomite declaraciones de registro formateadas correctamente sobre cada movimiento de registro ".
No puedo leer las mentes de los autores de la guía, pero parece razonable suponer que querían evitar usarlo para justificar un desastre como se describió anteriormente. Desde esta perspectiva, es simplemente más seguro afirmar claramente que la guía no asume ningún cumplimiento; de esta manera, por torpe que sea, aún puede utilizarse para una amplia gama arbitraria de equipos y proyectos. Probablemente existe la expectativa de que una asignación tan amplia deja a los equipos más maduros y eficientes la oportunidad de reducirla razonablemente sin dañar la productividad del desarrollador.
Aplicado a su caso específico, escribir el documento de estilo de codificación para su equipo y fallar la revisión del código si el estilo no coincide: creo que debe calcular cuánto tiempo les tomará a los desarrolladores desafiar una regla en particular, ignorarla, resuelto y cambiarlo o recuperarlo según la resolución.
Si encuentra una manera de hacer que este proceso funcione sin introducir muchos obstáculos en su flujo de trabajo de desarrollo, entonces vale la pena considerar un enfoque de desafío / resolución formal y fácil de rastrear en lugar del caótico "violar si llora lo suficientemente fuerte".
Como nota al margen, me gustaría abordar lo que escribió en otro comentario : "Suponga que el estilo de codificación es ideal, y si ese no es el caso, etc."
Esta es una suposición peligrosa, de verdad. Me rompí la nariz (¡dos veces en un solo proyecto! Donde tenía una vasta experiencia e imaginé que lo sabía todo, imagínense) y le recomiendo encarecidamente que lo deje. Es más seguro asumir que la guía de estilo puede tener errores y hacer un esfuerzo para pensar qué hacer en caso de que se descubran dichos errores.