[JAVA] Refactoring d'applications monosiliques

L'application développée en interne est ["Big Mud Dumpling"](https://ja.wikipedia.org/wiki/%E5%A4%A7%E3%81%8D%E3%81%AA%E6%B3 % A5% E3% 81% A0% E3% 82% 93% E3% 81% 94) J'ai été confronté à un problème que l'efficacité du développement ne s'est pas améliorée. J'ai donc décidé de refactoriser. Tout en étudiant des livres tels que "Clean Architecture", "Micro Service Architecture" et "Refactoring", il refactore. Je ne l'ai pas encore terminé, mais je vais résumer ce à quoi j'ai pensé lors de la refactorisation.

Organiser l'état actuel des applications monociles

J'ai essayé d'organiser l'état de l'application avant de refactoriser. J'ai les problèmes suivants.

Refactoriser le problème

――Il faut environ 2 heures pour construire et tester avec un CI

Effet estimé du refactoring

Que peut-on considérer à partir de l'estimation

Aucune des estimations ci-dessus n'est exacte. Une telle estimation ne peut pas être faite avec précision au départ. Cependant, il est nécessaire de transmettre les mérites de cette refactorisation et de penser à obtenir l'autorisation d'effectuer la refactorisation auprès des supérieurs. Et surtout, ** les coûts qui peuvent être réduits par le refactoring calculé ci-dessus continueront d'être payés pour toujours à moins que le refactoring ne soit effectué, et les coûts continueront d'augmenter. ** ** -17-638.jpg

Le coût qui peut être réduit par le refactoring est estimé, mais c'est la raison pour laquelle le coût du refactoring n'est pas estimé. Les coûts qui peuvent être réduits par la refactorisation ne peuvent être réduits que par la refactorisation. Cela signifie que si le coût de la refactorisation n'est pas une valeur irréaliste (comme 100 mois-homme), je pense que cela devrait être fait. Bien que le coût continue d'augmenter, il semble absurde d'affirmer que si le coût de la refactorisation est de 2 hommes-mois, cela sera fait, et s'il s'agit de 3 hommes-mois, cela ne sera pas fait.

Ce que j'ai ressenti après la refactorisation

――Vous pouvez acquérir les connaissances et l'expérience dont vous avez besoin en tant qu'architecte à haute densité. ―― «Un bon architecte peut retarder au maximum la politique de prise de décision de mise en œuvre» Clean Architecture ? _encoding = UTF8 & btkr = 1) est mentionné. Pour réaliser cela, il s'agit de refactoriser de penser et d'appliquer les ** nécessaires "contrôle des dépendances", "gestion des modules" et "degré de couplage" **. Et vous pouvez ressentir l'effet par vous-même.

――Vous pouvez devenir un ingénieur requis sur le terrain

Matériaux auxquels il est fait référence lors de la refactorisation

Recommended Posts

Refactoring d'applications monosiliques
Dépannage de l'application