Je suis en train de refactoriser un site Web hérité de PHP OOP.
Je suis tellement tenté de commencer à utiliser "final" sur les classes pour " make it explicit that the class is currently not extended by anything
". Cela pourrait économiser beaucoup de temps si j'arrive à une classe et je me demande si je peux renommer / supprimer / modifier une protected
propriété ou une méthode. Si je veux vraiment étendre une classe, je peux simplement supprimer le mot-clé final pour le déverrouiller .
C'est-à-dire que si j'arrive dans une classe qui n'a pas de classe enfantine, je peux enregistrer cette connaissance en marquant la classe comme finale. La prochaine fois que j'y viendrai, je n'aurais pas à chercher à nouveau dans la base de code pour voir s'il a des enfants. Gain de temps pour les refactorings
Tout cela semble être une idée de gain de temps raisonnable ... mais j'ai souvent lu que les cours ne devraient être rendus "finaux" que lors d'occasions rares / spéciales.
Peut-être que ça gâche la création d'objet Mock ou a d'autres effets secondaires que je ne pense pas.
Qu'est-ce que je rate?