[RUBY] Quand refactoriser?

J'écris habituellement Rails, mais je me demandais si le refactoring devait être fait.

J'ai remarqué beaucoup de choses en lisant «Refactoring: Ruby Edition», alors voici un résumé.

Qu'est-ce que le refactoring?

C'est trivial, mais je vais l'oublier, alors je vais l'écrire.

Organiser la structure interne du code source sans changer le comportement vu de l'extérieur du programme.

[wiki: Refactoring 2020/11/15](https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3% 82% BF% E3% 83% AA% E3% 83% B3% E3% 82% B0_ (% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83 % 9F% E3% 83% B3% E3% 82% B0))

Quand refactoriser?

On dit souvent que le refactoring se fait toujours en cours de développement, mais quand le ferez-vous concrètement? Je n'ai pas vraiment compris.

Tout d'abord, envisagez de modifier le code existant et d'ajouter des fonctions à titre d'exemple.

Lors de l'implémentation de ce qui précède, j'ai pensé que je refactoriserais avec le sentiment de implémentation → code de test → refactoring.

Lorsque vous ajoutez réellement des fonctionnalités, vous commencez par comprendre le code existant.

La refactorisation comprend également la facilitation de la lecture du code, la refactorisation peut donc être le bon choix lors de la première compréhension du code existant.

Par conséquent, je pense qu'il est préférable de l'implémenter dans le flux de Comprendre le code existant → Refactoring → Implémentation → Code de test → Refactoring.

De cette façon, le premier refactoring rendra le code plus facile à comprendre, et à ce stade, une Pull Request aidera les autres développeurs à le comprendre.

Si vous avez du code de test, je pense que le premier refactoring fonctionnera, et si vous n'avez pas de tests, je pense que vous devriez l'écrire à ce moment-là, y compris comprendre le code.

Sommaire

Lors du refactoring, il semble bon de le faire au moment suivant.

Comprendre le code existant → Refactoring → Implémentation → Code de test → Refactoring

Recommended Posts

Quand refactoriser?
Quand tu te perds dans le nom de la classe
Lorsque vous souhaitez utiliser la méthode à l'extérieur
Qu'utilisez-vous lors de la conversion en String?
Que faire lorsque le certificat SSL a expiré
Connaissez-vous Decorator?
[Tutoriel Rails Chapitre 2] Que faire lorsque vous faites une erreur dans le nom de la colonne
Que faire si la commande rails devient inutilisable
Que faire lorsque vous souhaitez connaître la position source où la méthode est définie dans binding.pry
Résumez les mots que vous avez appris
Lors de la lecture du code source
Si vous n'appelez pas shutdownNow lorsque le transfert est terminé avec le SDK Java d'AWS S3, le thread continuera à rester.
Dans Java 10, lorsque l'éclipse gradle est terminée et que JavaSE-1.10 sort, ...
Que faire lorsque les modifications du servlet ne sont pas reflétées
Lorsque le traitement après le branchement conditionnel est redondant-12 [C # Refactoring Sample]
Pourquoi vous devriez ajouter l'annotation Override lors du remplacement d'une méthode
Que faire en cas de problème pendant Content Assist
Que faire lorsque vous rencontrez le problème node_modules avec docker-compose
Que faire si vous oubliez votre mot de passe root sur CentOS7
La première chose à faire lorsque vous voulez être satisfait d'Heroku sur GitHub avec Eclipse sur Java
Que faire si l'opération non autorisée s'affiche lors de l'exécution d'une commande dans le terminal