Éviter cruft lorsque les captures de conception jusqu'à la mise en œuvre [fermé]

StackOverflow https://stackoverflow.com/questions/940441

  •  06-09-2019
  •  | 
  •  

Question

Je suis un entrepreneur et je suis souvent amené dans des projets comme la tête en bas et juste implémenter des fonctionnalités pour un délai. Souvent, si mon rythme devient plus rapide que celle de la conception sous-jacente. Donc, je le vent souvent devoir créer des fonctions / méthodes pour effectuer une tâche de manière préliminaire en attendant la conception finale.

Cas d'espèce, actuellement j'ai été chargé avec effectuer le tri par défaut de certains enregistrements d'une manière qui est trop compliqué pour la conception de base de données actuelle (en fait j'utiliser la fonction « champ » de MySQL, sauf que je ne pense pas que Java / Hibernate supporte). J'ai donc créé une fonction où les dossiers peuvent pour le moment être triés au niveau de l'application, qui pourrait être soit mis en œuvre à nouveau, ou entièrement évitée, une fois que le travail de conception de base de données nécessaire est fait.

Mon souci est, une fois que toute la conception nécessaire est terminée (en général et / ou en particulier en ce qui concerne le scénario décrit ci-dessus), je ne veux pas laisser une trace de fonctions / méthodes éventuellement inutiles. Parfois, ils pourraient ajouter de la valeur à la conception, mais parfois ils peuvent liquider étant une couche inutile de indirection à la fin.

Dans quelle mesure dois-je être à ce sujet? Que puis-je faire pour atténuer ce? En règle générale étant très entrepreneur à court terme, je n'ont généralement pas le temps - ou l'autorité - de mettre en œuvre quelque chose comme un « modèle de stratégie », ce qui pourrait être mon inclination si je réellement responsable pour la conception d'ensemble.

Était-ce utile?

La solution

Je pense qu'une certaine quantité de cruft est à prévoir en tant que code de base évolue. Même lorsque vous essayez d'être systématique sur la suppression de loin l'ancien code utilisé, il est difficile d'enlever tout. Il est toujours satisfaisant de trouver le code utilisé dans mon système que je peux supprimer.

Le typage fort est votre ami ici, car il vous permet de suivre les types et les usages dans une bien meilleure façon que typage faible. Donc, rester à l'écart de ces types de données de chaîne, ils font le nettoyage plus difficile.

Un truc vraiment bien est si vous pouvez rejouer 24 heures de dollars de trafic de vos systèmes de production sur un système de test avec un outil de couverture de code en cours d'exécution en même temps. C'est habituellement une mine d'or de code mort, mais il peut être difficile de trouver le temps pour faire face à ces grandes quantités de nettoyage entre autres priorités;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top