Primero un poco de historia: mi actual gerente de desarrollo está aprovechando otra oportunidad al final de esta semana, dejando a nuestro equipo con cuatro desarrolladores a tiempo completo, un pasante a tiempo parcial y un diseñador web (que técnicamente es parte de Marketing, no AppDev). En este momento no estamos promocionando o contratando un nuevo gerente.
El gerente anterior nunca se tomaría el tiempo para idear un conjunto de estándares de codificación que cumplir (para poner esto en perspectiva: mi primer aniversario en este trabajo es en dos semanas y he estado hablando con él sobre los estándares desde Yo empecé). Debido a esto, todos los cuatro desarrolladores escribimos código a nuestra manera: algunos de nosotros seguimos las convenciones de nomenclatura de Microsoft para .NET, algunos usan notación húngara, algunos usan una mezcla (por ejemplo, mezcla PascalCasey camelCasepara nombres de parámetros), y es completamente aleatorio cuando abre un archivo de código según el estándar que seguirá; lo único coherente es que las llaves están en líneas separadas.
Dos de mis tres compañeros de trabajo se han acercado a mí para crear un documento de codificación estándar que podamos usar y aplicar en el futuro (aunque técnicamente no soy el desarrollador más veterano, el cuarto desarrollador ha estado aquí durante varios años, dos compañeros de trabajo y el interno busca consejo / guía pero no tenemos un líder de equipo). He tenido la intención de hacer esto por un tiempo, pero el gerente que ahora se marcha siempre lo pondría en un segundo plano; Su partida ahora nos da la oportunidad de tomarnos un tiempo y configurar las cosas correctamente para facilitar un entorno de software adecuado y no la mezcolanza apresurada que tenemos actualmente.
¿Cómo debo hacer esto y presentar este estándar a mi equipo sin causar fricción? No quiero que parezca que estoy "asumiendo el control", aunque si me ofrecieran el puesto de gerente lo aceptaría. Como dije, dos de los otros tres desarrolladores están a bordo conmigo creando uno, pero el cuarto (el verdadero "senior" en tiempo) puede o no aceptarlo. Planeo comenzar con las convenciones .Net de Microsoft (por ejemplo, no use la notación húngara), agregue algunas preferencias personales (por ejemplo, _camelcasepara los campos) y mencione específicamente ciertas prácticas extrañas que usamos aquí para no usarlas (por ejemplo, nombrar una clase con un guión bajo al comienzo), pero ¿qué más debo incluir? No quiero entrar en pautas arquitectónicas ya que eso causamos fricción y tenemos una base de código existente muy grande y maloliente que no se adhiere a ella, y no estamos cerca de llegar a una estrategia de refactorización.
Para resumir: más allá de las convenciones de nomenclatura básicas, ¿qué debo incluir en un documento de estándares de codificación? (Los ejemplos serían geniales; no he logrado encontrar ejemplos concretos de cómo debería ser ese documento) y cómo debo hacerlo. presentarlo a mi equipo sin sonar como el nuevo dictador.