TL; DR
Vous ne saurez jamais tout. Il y a à peu près toujours plus de profondeur et d'étendue autour de chaque «chose» individuelle que vous pouvez savoir. Apprenez au fur et à mesure. Appliquez maintenant les "meilleures pratiques" que vous jugez pertinentes . Faire des erreurs. Essayez simplement d'éviter de faire des erreurs très coûteuses . Trouvez des mentors si votre projet peut entraîner des erreurs coûteuses.
Et maintenant, la réponse longue ...
1. "Un logiciel fonctionnel est la principale mesure du progrès." ( Manifeste Agile )
Si vous pouvez voir les limites de vos connaissances, c'est génial! Poursuivez les bords! Continue d'apprendre! Mais gardez à l'esprit que vous pourriez apprendre et analyser pour toujours .
Construisez quelque chose.
2. Apprenez et faites des erreurs; mais n'en faites pas de "mauvais". *
Continuez à repousser les limites de vos connaissances / compétences. Vous ferez des erreurs. Vous pouvez apprendre d'eux. Mais, vous n'avez pas besoin d'être téméraire .
Le temps que vous passez à trouver et à travailler avec des développeurs et des mentors plus expérimentés devrait augmenter proportionnellement à la valeur commerciale et au profil de risque du projet.
Si vous faites un peu CLI pour vous - même : faire fonctionner comme vous le souhaitez.
Si vous écrivez le portail Web d'une banque: entourez-vous de développeurs très expérimentés.
3. Les «meilleures pratiques» doivent être écrites entre guillemets et prononcées avec un clin d'œil.
Les «pratiques» sont promues aux «meilleures pratiques» quand on constate qu'elles réussissent à accomplir X dans au moins certains cas. Quelqu'un reconnaît les avantages de la pratique A pour la réalisation de l' avantage X et déclare que cette pratique est une "meilleure pratique" sur Internet. D'autres sont d'accord - souvent pour une bonne raison. Mais, à partir de ce moment-là, nous perdons généralement de vue pourquoi certaines pratiques sont des "meilleures pratiques" et d'autres sont soit "contre-modèles" ou "puantes".
Le problème est qu'une «meilleure pratique» n'est jamais égoïste. Les "antipatterns" ne sont pas réellement diaboliques en eux-mêmes. Et, même une "puanteur" ne vient que parfois de la pourriture. Parfois, cette puanteur n'est qu'un délicieux fromage de fantaisie ...
Vous ne pratiquez pas des choses comme «l'injection de dépendance» (DI) parce que «l'injection de dépendance» est intrinsèquement précieuse pour l'entreprise. Ce n'est même pas essentiel à distance pour construire un produit fonctionnel. Il accomplit quelque chose que vous souhaitez peut-être dans votre produit final. Mais, cela pourrait aussi rendre votre travail plus long sans aucun avantage ...
Hmm ...
Alors, devez-vous suivre les "meilleures pratiques"? Même si vous ne les comprenez pas? ... Euh ... oui. Je veux dire non. Mais oui. Mais, seuls ceux qui s'appliquent vraiment à vous et à votre logiciel et à son objectif.
Invoquez le POAP ! (Ouaip. Mon blog.)
Les principes, les modèles et les pratiques ne sont pas des finalités.
La bonne et correcte application de chacun est donc inspirée et limitée par un objectif supérieur et plus final. Vous devez comprendre pourquoi vous faites ce que vous faites!
(Le POAP n'est pas exempté du POAP.)
Ainsi, vous ne comprendrez peut-être pas toutes les nuances de DI, par exemple. Mais, si vous comprenez l'intention, vous saurez si vous "devriez" utiliser DI, et vous comprendrez implicitement mieux la DI.
Et, une fois que vous avez sorti le produit, vous pouvez vous demander si DI (ou quoi que ce soit) était vraiment bénéfique. Si oui, expliquez pourquoi par écrit. Sinon, expliquez pourquoi par écrit ...
Lecture bonus / Assez pertinent:
La paralysie de l'analyse est une chose. Vous devez analyser et apprendre; mais, vous devez également faire avancer les choses. Équilibre.
Vous pourriez toujours vous sentir comme un codeur de cow-boy .
* Vous ferez réellement de grosses erreurs si vous faites quelque chose de remarquable. Mais vous êtes humain, je suppose. Donc, nous vous pardonnons à l'avance ... Ou, du moins, je le fais. Peut être. ... Eh bien ... nous verrons.