¿Cómo debo implementar la revisión de código en esta situación?

7

Mi pregunta es sobre cómo poner en práctica la revisión del código en un lugar de trabajo donde nadie más lo ha pedido, nunca lo he hecho antes, y no estoy del todo seguro de si vale la pena para este tipo de programación.

Soy un contratista en una tarea que involucra principalmente ingeniería de herramientas, análisis de datos, corrección de código cuando los cambios de la plantilla de Excel rompen una macro, etc. Es una codificación total de cowboy: las solicitudes son más "haz lo que necesites hacer para hackear juntos, algo que funciona lo antes posible, lo necesitamos en la producción mañana por la mañana y solo lo vamos a necesitar por un par de meses "en lugar de" hacer una aplicación bien estructurada que sea fácil de mantener y desarrollar en todas las circunstancias previsibles ". / p>

El equipo de ingeniería de software es yo y otra persona a quien superviso. Actualmente no seguimos ningún tipo de metodología de desarrollo de software más allá de "hacer algo que cumpla con los requisitos funcionales", y ninguno de nosotros ha trabajado en ningún lugar que haya tenido una revisión de código o principios de diseño. Todo lo que hacemos son aplicaciones de escritorio VBA o C #, y cada uno de nosotros usualmente trabaja en una tarea separada en lugar de construir en colaboración el mismo programa. No existe un sistema de control de versiones y no tenemos acceso al servidor para instalar dicho sistema.

Lo que estoy tratando de averiguar es que, dado que el trabajo es muy ad hoc, ¿qué tipo de revisión de código, si corresponde, debería realizar? ¿O es incluso necesario para el tipo de trabajo que estamos haciendo?

    
pregunta sigil 24.04.2013 - 19:21

4 respuestas

6

¿Estás haciendo tu propio control de calidad también? Su situación se parece mucho a las últimas 3 en las que he estado, y sospecho que es mucho más común de lo que parece implicar toda la documentación sobre las mejores prácticas (revisiones de códigos, documentación, SCM, etc.).

Mi opinión es que al menos tienes al otro tipo! Mejor que sea todo en ti. Les sugiero a cada uno de ustedes que hagan el QA en el código de los otros muchachos y que lo lean rápidamente para asegurarse de que puedan comprender lo que el otro individuo ha escrito. Esto le permitirá obtener un mejor código porque el otro individuo que realiza el control de calidad puede no hacer las mismas suposiciones que el autor y puede detectar más errores que el autor, y como cada uno puede terminar trabajando en las cosas del otro individuo, usted quiere asegurarse al menos un nivel mínimo de legibilidad / mantenibilidad. Heredé cosas que fueron obtusas y apenas documentadas, y la única manera de resolverlas fue atravesar el depurador de forma dolorosa. El código legible / mantenible no es un lujo, es una inversión.

También estoy de acuerdo con los otros muchachos: la programación en pares puede ser una buena opción, y definitivamente obtener al menos un SCM.

    
respondido por el Aerik 24.04.2013 - 22:26
7

Lo primero es obtener un SCM de algún tipo, incluso si solo se comparte entre ustedes sin ninguna forma de servidor central / golden repo.

Luego diría que instale Redmine y use eso para rastrear las solicitudes de cambio que recibe, ya que puede apuntar a redmine en su repositorio git y ver los cambios que se confirmaron, pero para que esto funcione bien, necesitará un dorado. Repo y un servidor para instalar redmine en! Por supuesto, puede salirse con la suya utilizando sus propias PC para esta tarea, pero uno de ustedes tendrá que ser el tipo que hospeda esto y, por lo tanto, el tipo que "posee" el repositorio definitivo. Asumo que este chico sería usted como usted está interesado en él, y realmente recomendaría este enfoque. Si tienes miedo de usar git, o no confías mucho en manejarlo bien (ya que puede ser confuso y complejo al principio) entonces instala VisualSVN Server y haz que la otra persona se comprometa con eso. Configurar SVN es Más fácil tanto desde las herramientas PoV como conceptualmente. Siempre puede cambiar a git más tarde si se da cuenta de los beneficios y puede forzar los flujos de trabajo requeridos para el otro.

Esto le permitirá comenzar con los conceptos básicos de las herramientas de SCM, y quizás en el futuro pueda obtener un servidor y hacer algo más organizado y "oficial".

Oh, sí ... revisa el código ... hasta que tengas más personal, haz las revisiones manuales del código - mira el registro de cambios en Redmine, haz doble clic en él y te mostrará una gran diferencia gráfica de los cambios para que los revises. . No hay necesidad de una herramienta más formal que le envíe correos electrónicos, entradas de errores o cualquier otra cosa con un enlace a la diferencia de registro en este caso.

    
respondido por el gbjbaanb 24.04.2013 - 19:57
4
  

Las solicitudes son más "haga lo que debe hacer para piratear algo que funcione lo antes posible, lo necesitamos en la producción mañana por la mañana y solo lo vamos a necesitar por un par de meses

En base a esto, el enfoque de las revisiones de su código probablemente no sea un código estable y sostenible. Sin embargo, aún puede sacar provecho de las revisiones de código como un medio para desarrollar su y las capacidades de programación de su colega y para desarrollar una comprensión común del problema. Como sugiere @Mike, la combinación de programas en problemas específicos puede convertirse en una forma muy efectiva de emplear algún tipo de revisión de código en su escenario. La programación en pares lo llevará a discutir los enfoques para resolver un problema y, por lo tanto, puede ayudarlo a "piratear algo" con menos errores aún más rápido, lo que se traduce directamente en valor comercial.

    
respondido por el blubb 24.04.2013 - 21:28
0

Estoy de acuerdo con la sugerencia de programación en pareja, sin embargo, si no puede pagarla, me parece que las revisiones de código uno a uno antes de la confirmación son un buen compromiso. Si no tiene un sistema de control de fuente y, por lo tanto, no realiza confirmaciones, bueno, primero que todo, debería obtener absolutamente uno (¿un DVCS en su caso?) :) y mientras tanto puede realizar estas revisiones de código justo antes del lanzamiento, es decir, antes de publicar el instalador de la aplicación en un servidor, entregar la plantilla de Excel con la macro actualizada al usuario, etc.

Cada vez que se escribe una actualización significativa, lo suficientemente compleja como para que un programa se ponga en marcha, el autor debe, por su propia iniciativa, solicitar una revisión colaborativa completa de ese código. Esto lleva tiempo, pero se necesita para difundir el conocimiento entre todos los miembros del equipo, establecer la propiedad colectiva del código y realizar un primer paso del control de calidad interno sobre lo que se produce.

    
respondido por el guillaume31 25.04.2013 - 14:24

Lea otras preguntas en las etiquetas