Mes deux cents et vieille question
Certaines personnes déjà mentionné, la pratique et le refactoring. Je crois que la droite afin de se renseigner sur les modes de ceci:
- Apprendre TDD
- Apprendre refactoring
- Apprendre des modèles
La plupart des gens ignorent 1, beaucoup croient qu'ils peuvent faire 2, et presque tout le monde va directement pour 3.
Pour moi, la clé pour améliorer ma connaissance des logiciels d'apprentissage a été TDD. Il pourrait être un long temps de douloureuse et lente de codage, mais l'écriture de vos premiers essais certainement vous fait penser beaucoup au sujet de votre code. Si une classe a besoin de trop passe-partout ou se brise facilement vous commencez à remarquer les mauvaises odeurs assez rapide
Le principal avantage de l'ATS est que vous perdez votre peur de la refactorisation de votre code et vous forcer à écrire des classes qui sont très indépendants et de cohésion. Sans une bonne série de tests, il est tout simplement trop douloureux au toucher quelque chose qui n'est pas cassé. Avec filet de sécurité, vous aurez vraiment l'aventure dans des changements drastiques à votre code. C'est le moment où vous pouvez vraiment commencer à apprendre à partir de la pratique.
Maintenant vient le point où vous devez lire des livres sur les habitudes, et à mon avis, c'est une complète perte de temps à essayer trop dur. Je n'ai compris des modèles vraiment bien après avoir remarqué j'ai fait quelque chose de similaire, ou je pourrais l'appliquer à du code existant. Sans les tests de sécurité, ou les habitudes de refactoring, j'aurais attendu jusqu'à ce qu'un nouveau projet. Le problème de l'utilisation des modèles dans un nouveau projet, c'est que vous ne voyez pas comment elles ont un impact ou de modifier un code de travail. Je n'ai compris un logiciel une fois j'ai refait mon code dans l'un d'eux, jamais quand j'ai introduit un frais dans mon code.