Note :
Ce livre est très apprécié des développeurs pour son exploration approfondie des techniques de remaniement, ses exemples complets et ses idées pratiques. Il est recommandé aux programmeurs débutants et expérimentés, en soulignant son importance pour l'amélioration de la lisibilité et de la maintenabilité du code. Cependant, certains évaluateurs ont noté sa verbosité et ont exprimé le souhait d'avoir des exemples de code dans des langages autres que JavaScript.
Avantages:⬤ Couverture complète des techniques et principes de refactoring.
⬤ Utile pour les débutants comme pour les développeurs expérimentés.
⬤ Bien conçu avec des diagrammes de haute qualité et des exemples pratiques.
⬤ L'auteur fournit des informations précieuses issues de sa vaste expérience.
⬤ Les nouveaux refactorings et le contenu mis à jour dans la deuxième édition renforcent sa pertinence.
⬤ Il s'agit d'une bonne référence pour identifier les opportunités de refactoring.
⬤ Certains trouvent que le style d'écriture est verbeux et difficile à suivre.
⬤ Les exemples sont principalement en JavaScript, ce qui peut ne pas intéresser les développeurs qui préfèrent d'autres langages comme C# ou Java.
⬤ L'absence de code remanié pour les méthodologies complexes pourrait nuire à la compréhension.
⬤ Certains lecteurs estiment qu'il conviendrait mieux d'en faire un ouvrage de référence plutôt qu'un livre à lire d'un bout à l'autre.
(basé sur 123 avis de lecteurs)
Refactoring: Improving the Design of Existing Code
Guide de Martin Fowler sur la transformation d'un mauvais code en un code bien structuré
Le remaniement améliore la conception du code existant et la maintenabilité du logiciel, tout en rendant le code existant plus facile à comprendre. Martin Fowler, signataire du Manifeste Agile et leader d'opinion en matière de développement logiciel, fournit un catalogue de refactorings qui explique pourquoi vous devriez refactoriser, comment reconnaître le code qui a besoin d'être refactorisé et comment le faire avec succès, quel que soit le langage que vous utilisez.
⬤ Principes du refactoring : comprendre le processus et les principes généraux du refactoring.
⬤ Les odeurs de code : reconnaître les « mauvaises odeurs » dans le code qui signalent des opportunités de remaniement.
⬤ Amélioration de l'application : appliquer rapidement des refactorings utiles pour rendre un programme plus facile à comprendre et à modifier.
⬤ Construction de tests : écrire de bons tests augmente l'efficacité d'un programmeur.
⬤ Déplacement de fonctionnalités : une partie importante du remaniement consiste à déplacer des éléments entre les contextes.
⬤ Structures de données : une collection de refactorings pour organiser les données, un rôle important dans les programmes.
⬤ Logique conditionnelle : utiliser des refactorings pour rendre les sections conditionnelles plus faciles à comprendre.
⬤ APIs : les modules et leurs fonctions sont les blocs de construction de notre logiciel, et les APIs sont les joints que nous utilisons pour les assembler.
⬤ Héritage : il est à la fois très utile et facile à utiliser à mauvais escient, et il est souvent difficile de voir l'abus jusqu'à ce qu'il soit dans le rétroviseur - les refactorings peuvent réparer l'abus.
Les exemples sont écrits en JavaScript, mais vous ne devriez pas trouver difficile d'adapter les refactorings à n'importe quel langage que vous utilisez actuellement, car ils se ressemblent beaucoup dans les différents langages.
Chaque fois que vous avez lu (Refactoring), il est temps de le relire. Et si vous ne l'avez pas encore lu, faites-le avant d'écrire une autre ligne de code-David Heinemeier Hansson, créateur de Ruby on Rails, fondateur et directeur technique de Basecamp.
N'importe quel imbécile peut écrire un code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre"-M. Fowler (1999)
© Book1 Group - tous droits réservés.
Le contenu de ce site ne peut être copié ou utilisé, en tout ou en partie, sans l'autorisation écrite du propriétaire.
Dernière modification: 2024.11.14 07:32 (GMT)