2010-05-05 5 views
2

Est-il possible que YAGNI s'applique au passé? Vous avez créé une fonctionnalité, elle a été utilisée il y a un petit moment, mais vous ne l'utilisez plus, et vous ne voulez pas la conserver, alors préférez la supprimer.La suppression des fonctionnalités inutilisées est-elle une mauvaise chose?

Le fait de se débarrasser de la fonctionnalité inutilisée ou rarement utilisée est-il nécessairement une mauvaise chose?

Contexte:

  • J'utilise le contrôle source, donc si je dois à nouveau la fonctionnalité, je peux l'obtenir.
  • Je suis le seul utilisateur de mon logiciel (je suis un bio-informaticien analysant un ensemble de données).
  • Un scénario où je suis tombé sur ceci était que j'utilisais l'héritage, avec une classe parente, et deux classes d'enfants. L'un traitait les fichiers générés par séquençage 454 (séquençage de nouvelle génération) et l'autre traitait les fichiers générés par séquençage Sanger (séquençage de la génération précédente). Je maintenais activement ce dernier, mais pas le premier. Peut-être que mon erreur était d'utiliser l'héritage plutôt que la composition, mais c'est une histoire légèrement différente.
+2

"YDNI" (vous n'en avez pas besoin) –

+0

@Martin: se souvenir de ce que fait mon code? C'est une conversation folle! :) C'est plus comme faire mon optimisation de mes capacités de recherche. –

Répondre

7

Le code non utilisé est soumis à 'code rot' - il est tout à fait légitime de l'enlever comme une étape de refactoring.

Une discussion supplémentaire sur la page YAGNI and Deleting de C2.

Cela dit, je me trouve être généralement prudent avec le code mort culling, mais c'est quelque chose que je dois peut-être travailler sur ...

+1

+1: Supprimer tôt et souvent. Une fois que c'est "vieux" et que vous pensez que vous pourriez en avoir besoin, vous allez le réécrire de toute façon. –

1

Toute la raison pour laquelle vous ne devriez pas écrire du code qui ne sert pas appliquer aussi pourquoi vous ne devriez pas garder le code qui n'est pas utilisé. Si vous n'en avez pas besoin, ne le gardez pas. :-)

5

Le code mort est cher à bien des égards. La chose qui me dérange le plus est la friction et le travail supplémentaire qu'elle provoque lors du refactoring.

Appuyez sur la touche d'effacement. Si vous en avez besoin plus tard, allez à SCC et obtenez-le.

2

Les programmeurs novices sont fiers des nouvelles fonctionnalités qu'ils ont codées. Le programmeur maître est content quand il est capable de supprimer une fonctionnalité.

1

Supprimez-le. Que diriez-vous d'un nouvel acronyme, YGRKI - Vous allez regretter de le garder?

Questions connexes