Question

re-poste demandé de StackOverflow:

Je travaille dans un petit temps de développement avec le temps très limité pour le développement. Nous développons un outil qui est important pour le résultat de notre travail, mais pas utilisé tous les jours. Je suis la seule personne dans l'équipe qui a un arrière-plan en tant que programmeur.

Mon problème est que je suis poussais pour des revues de code avant de fusionner avec le tronc pour plus d'un an. Tout le monde a accepté à ce sujet, mais il est seulement mon code qui a été examiné. De retour d'un long séjour Je reviens à un tronc avec des commentaires de code comme « ceci est une solution laide - supprimer le plus rapidement possible » et « solution rapide ». Ce qui est nouveau est qu'un gars a été nommé responsable de l'outil. (Un rôle qui m'a d'abord été offert à mais je me suis tourné vers le bas pour une raison non liée au travail.) Et il pense que c'est un moyen correct au travail: Comme nous l'avons si peu de temps à se développer, nous devons couper les coins ronds comme ça.

Ma préoccupation est que les autres développeurs d'écrire du code laid: casser souvent l'encapsulation, l'écriture des classes énormes, l'ajout de classes internes à des endroits étranges, ayant peu ou pas de tests unitaires, et ainsi de suite. Il sera éventuellement impossible de développer l'outil.

Devrais-je insiste pour que nous révisons le code avant de fusionner avec le tronc ou suis-je juste une chienne de qualité de code?

Était-ce utile?

La solution

Je suis dans des situations similaires avant et à mon avis cela dépend de « dois-je maintenir le code ».

Si je dois maintenir le code, que je veux le code de haute qualité, personnellement, je ne nécessite pas des revues de code pour tous les commits (c.-à-programmeurs peuvent décider eux-mêmes si certain code a besoin d'un examen ou non) mais si la lisibilité / souffre de maintenabilité qu'il pourrait être dans l'ordre.

Lors de la lecture suivante:

Je crains que l'autre Les développeurs d'écrire du code laid: souvent rupture encapsulation, écriture énorme des cours, l'ajout de classes internes à lieux étranges, ayant peu ou pas d'unité des tests, et ainsi de suite. Il finira par impossible de développer l'outil plus loin.

Je pense que votre problème est plus grand que des revues de code. Vous semblez manquer quelques directives et / ou ils ne sont pas implémentés. Ayant pas / peu de tests unitaires est peut-être une mauvaise idée, mais dépend du cas spécifique. Cependant, breaking encapsulation, writing huge classes, ... vraiment faire code d'erreur sujettes à ce qui devrait certainement être fixé.

Autres conseils

Je pense que les examens de code et le maintien des directives de codage est une bonne idée, mais je pense que faire pour chaque enregistrement est une perte de temps. Il est une bonne idée lors de l'établissement d'une équipe et avec les jeunes programmeurs, mais les programmeurs expérimentés peuvent penser pour eux-mêmes et, éventuellement, vous devrez leur faire confiance. Cela dit - vous pouvez faire les revues de code périodiques à la chose nouvelle, mais regardant chaque ligne de code qui entre dans votre VCS est exagérait vraiment

.

Et un petit commentaire concernant les corrections de votre collègue - quelques fois faisant une solution laide est la bonne solution . Il se peut que ce code particulier ne suffit pas important d'investir beaucoup de temps dans, il se peut que la solution est simple assez bon et il est préférable d'investir du temps dans d'autres choses. Faire votre code « joli » n'est pas votre objectif principal en tant que programmeur. Votre principal objectif est de fournir et obsédante sur chaque ligne de code tout simplement pas vous y .

Ce que je veux dire est - vous devez choisir vos batailles. Il est OK pour perdre la bataille sur une classe utilitaire insignifiante pour gagner la guerre de livraison (ou cette guerre du sous-système très important, pour cette question).

Si le programme en question n'est pas un unique prototype jetable, je pense que les examens de code devrait être obligatoire pour chaque enregistrement.

Les développeurs seniors pourrait avoir un privilège de check-ins non examinés, une fois qu'ils sont connus pour assez consciencieux pour demander une révision, le cas échéant.

Je ne sais pas l'examen du code est la réponse jusqu'à ce que commence quelqu'un de mieux faire respecter les normes de codage. Quelqu'un écrit le code merdique, commentaires / admet et le vérifie en tout cas. A quoi bon un examen va faire si quelqu'un veut rejeter le code, mais il vous mettre en retard?

Vous allez devoir: définir des normes, surveiller les principaux coupables de plus près, et la livre dans la tête que du bon code ne prend pas toujours plus de temps d'écriture. Ils doivent cesser d'utiliser les délais comme une excuse pour avoir refusé de changer les mauvaises habitudes.

Licencié sous: CC-BY-SA avec attribution
scroll top