Je lisais donc cette question. Dois-je supprimer le code non référencé?
Certains des conseils étaient de supprimer le code non référencé car le code est dans le contrôle de source pour référence au cas où il serait nécessaire plus tard.
Comment organisez-vous ce code supprimé pour qu'une version ultérieure de vous (ou d'un autre programmeur) puisse le retrouver plus tard? Créez-vous une branche distincte ou la marquez-vous dans le contrôle de source d'une manière ou d'une autre?
Je n'ai jamais ressuscité de code supprimé hors du contrôle des sources auparavant, je l'ai principalement utilisé pour suivre les modifications du code qui est toujours en ligne. J'ai déjà référencé des branches lorsqu'elles contenaient le travail expérimental de quelqu'un d'autre, alors c'est peut-être un bon moyen de marquer des sections intéressantes de code qui sont supprimées dans le tronc?
la source
Réponses:
Sauf si vous expérimentez dans une branche et n'êtes pas encore sûr de la solution qui sera finalement réintégrée, vous ne faites généralement pas référence au code supprimé.
Vous pouvez, en de très rares occasions, rechercher explicitement le code supprimé dont vous vous souvenez vaguement avoir résolu un problème que vous rencontrez actuellement . Mais, la raison la plus courante pour laquelle vous verrez du code supprimé est lorsque vous parcourez le backlog pour comprendre quelque chose sur le code ou le comportement actuel d'une application par rapport à son code ou comportement historique.
Plus précisément, vous pourriez être ...
... etc.
Et dans ces cas, vous ne ressuscitez généralement pas l' ancien code. Vous comprenez simplement quelque chose que vous voyez en ce moment en utilisant du code supprimé pour le contexte ou des conseils.
la source
Je suppose que la réponse est: la grande majorité des programmeurs ne se soucient pas de référencer le code supprimé. Pour plusieurs raisons. Voici quelques raisons qui me viennent à l'esprit:
Le plus important probablement, la pure paresse ...
La plupart n'ont jamais ressenti le besoin de ressusciter du code, ils n'ont donc aucune expérience qui les motive à faciliter la résurrection du code.
La plupart du code supprimé est supprimé pour une raison. Habituellement, il est remplacé par un autre code, meilleur, fonctionnellement équivalent ou plus puissant. Pourquoi voudrait-on ressusciter le code inférieur?
Notez que c'est également un problème psychologique: la plupart des programmeurs sont assez fiers des résultats de leur travail. Comment pourrait-il jamais venir à l'esprit qu'il y avait encore une certaine valeur dans ce qu'ils remplaçaient?
Étant donné que la plupart du code n'est pas purement supprimé, mais remplacé, les interfaces qui ont été modifiées au cours de la transition fournissent suffisamment d'informations si vous avez vraiment besoin de retrouver le code supprimé en raison de certaines régressions introduites par le nouveau code.
Mais, indépendamment des raisons plus ou moins valables que vous pouvez mettre derrière ce mépris pour le code mort, je pense que c'est vraiment juste un "ne se soucie pas" de la part des programmeurs. Et même si vous essayez de marquer des éléments supprimés d'une manière ou d'une autre, préparez-vous à être complètement ignoré avec cet effort ...
la source
Cette question revient probablement sur "Comment conservez-vous la traçabilité de vos connexions VCS par rapport à la base de données de bogues et à la configuration système requise?"
Les moments où les gens vont ressusciter du code à partir du contrôle de source ont tendance à être ceux où vous découvrez que quelque chose s'est accidentellement cassé et doit être ramené.
La chose la plus importante dans ce scénario pour quelqu'un qui recherche un morceau spécifique de code supprimé est qu'il peut facilement le retrouver en parcourant la base de données des exigences et l'outil de suivi des bogues; car ils sont susceptibles de rechercher l'exigence spécifique ou des mots qui décrivent la fonctionnalité. Il est peu probable qu'ils connaissent le nom du fichier source ou la classe / fonction qui a été supprimée.
Si vous souhaitez suivre un code intéressant / expérimental qui doit être retiré avant la sortie, vous pouvez simplement le tracer avec des tickets de "bug" du type "Supprimer le code inutilisé pour ..." . Ou peut-être introduire un nouveau type de ticket dans le système pour la fonctionnalité Prototype .
Donc, pour répondre directement à la question - n'utilisez pas de branches / balises dans votre système VCS pour suivre le code supprimé - utilisez votre outil de suivi des modifications.
la source
Le conseil est destiné aux personnes qui gardent du code obsolète dans la base de code "juste au cas où". Étant donné que le code existera toujours dans le contrôle de code source, vous ne devriez pas craindre de le supprimer. Vous n'organisez pas vraiment le code supprimé en tant que tel, car le fait est qu'il n'est plus nécessaire. Vous venez d'ajouter un message de validation qui indique ce qui a été modifié et supprimé dans la validation. Le message de validation le plus pertinent pour le code supprimé est le message au moment où le code a été initialement ajouté, pas le message lorsqu'il a été supprimé à nouveau.
Le «travail expérimental» est vraiment une question différente. Vous devriez avoir une branche distincte pour cela.
la source