El equipo de I + D en el que estoy ha decidido adoptar un estándar de codificación. Recientemente nos hemos formado y tenemos muy poco código y tiempo de codificación común para basar nuestro documento de estándares / convenciones en lo que se ha desarrollado orgánicamente en nuestro equipo, y en buenos ejemplos de nuestro propio código, etc.
Ahora, cada uno de nosotros tiene algo de experiencia en lugares de trabajo pasados, aunque ninguno de nosotros está en el estado de decir "adoptemos aquí este documento completo que he encontrado adecuado para el tipo de trabajo que hacemos aquí" (*). Además, algunos de nosotros (incluido yo mismo) solo tenemos experiencia en lugares sin un estándar de codificación oficial, o escribiendo en diferentes idiomas en un entorno diferente (entorno de producción de lanzamiento semanal de alta presión en lugar de un trabajo de desarrollo más orientado a la investigación)
Por lo tanto, una de las opciones en las que he estado pensando es tomar un documento relativamente conocido y bien considerado, recortar lo que no nos interesa o hacer y hacer algunas modificaciones basadas en nuestras preferencias.
¿Es esta una práctica común? ¿Crees que es una buena idea? De ser así, ¿cuál sería un estándar de codificación razonable 'de referencia'? .)
Notas:
- Esperamos trabajar con C, C ++, OpenCL, CUDA, Python.
- Somos un equipo de 4 personas + gerente, se espera que crezca a unos 5-6 dentro de un año más o menos.
- En nuestra empresa, los equipos son casi completamente autónomos y, por lo general, no interactúan en absoluto (ni siquiera mediante el uso del código de los demás; el trabajo se realiza en proyectos completamente diferentes); así que no hay que hacer consideraciones a nivel de toda la empresa.
- En cuanto a las herramientas, en este momento lo que sabemos es que vamos a utilizar Eclipse , por lo que su formateador de código será al menos una herramienta. Ctrl + Shift + F ha sido mi amigo por mucho tiempo
- Cuando escribo Java, adopté la práctica de adherirme lo más estrictamente posible a la Java efectiva de Bloch . Ahora, ese no es un estándar de codificación, pero podría llamar a algunos ladrillos, cemento y mortero para un estándar de codificación. Estaba pensando en incluir algo así como parte de la 'mezcla' (teniendo en cuenta que no hacemos Java).
- Me refiero a las normas de codificación en el sentido más amplio de la palabra, por ejemplo, la adopción de propuestas formuladas en las respuestas a esta pregunta P.SE .
- He encontrado una gran lista de documentos de estándares de codificación C ++ ; tal vez debería minar que nuestra línea de base.
- (*) Eso no es del todo cierto, pero no quiero complicar esta pregunta con demasiados detalles.