TL; DR
Du wirst nie alles wissen. Es gibt so ziemlich immer mehr Tiefe und Breite um jedes einzelne "Ding", das Sie kennen können. Lerne, wie du gehst. Wenden Sie die "Best Practices" an, die Ihrer Meinung nach jetzt relevant sind . Fehler machen. Versuchen Sie einfach, wirklich kostspielige Fehler zu vermeiden . Finden Sie Mentoren, wenn Ihr Projekt zu kostspieligen Fehlern führen kann.
Und jetzt die lange Antwort ...
1. "Arbeitssoftware ist das primäre Maß für den Fortschritt." ( Agiles Manifest )
Wenn Sie die Grenzen Ihres Wissens sehen können, ist das großartig! Verfolge die Kanten! Lerne weiter! Aber bedenken Sie , könnten Sie lernen und analysieren , für immer .
Baue etwas.
2. Lernen und Fehler machen; aber mach keine "schlechten". *
Überschreiten Sie weiterhin die Grenzen Ihres Wissens / Ihrer Fähigkeiten. Sie werden Fehler machen. Sie können von ihnen lernen. Aber Sie müssen nicht rücksichtslos sein .
Die Zeit, die Sie damit verbringen, erfahrenere Entwickler und Mentoren zu finden und mit ihnen zusammenzuarbeiten, sollte sich proportional zum Geschäftswert und zum Risikoprofil des Projekts erhöhen .
Wenn Sie eine kleine CLI für sich selbst erstellen : Lassen Sie sie funktionieren, wie Sie möchten.
Wenn Sie das Webportal einer Bank schreiben: Umgeben Sie sich mit sehr erfahrenen Entwicklern.
3. "Best Practices" sollten in Anführungszeichen geschrieben und mit einem Augenzwinkern gesprochen werden.
"Praktiken" werden zu "Best Practices" befördert, wenn festgestellt wird, dass sie zumindest in einigen Fällen erfolgreich X erreichen . Jemand erkennt den Nutzen von Praxis A für das Erreichen von Nutzen X an und erklärt es als "Best Practice" im Internet. Andere sind sich einig - oft aus gutem Grund. Aber von diesem Punkt an verlieren wir im Allgemeinen aus den Augen, warum einige Praktiken "Best Practices" und andere entweder "Antipatterns" oder "stinkend" sind.
Das Problem ist, dass eine "Best Practice" niemals eigennützig ist. "Antipatterns" sind an und für sich nicht wirklich teuflisch. Und selbst ein "Gestank" kommt nur manchmal von Fäulnis. Manchmal ist dieser Gestank nur ein schicker, köstlicher Käse ...
Sie üben keine Dinge wie "Abhängigkeitsinjektion" (DI), weil "Abhängigkeitsinjektion" für das Unternehmen von Natur aus wertvoll ist. Es ist nicht einmal aus der Ferne wichtig, ein funktionierendes Produkt zu erstellen. Es erreicht etwas , das Sie vielleicht in Ihrem Endprodukt wollen. Aber es könnte auch nur Ihre Arbeit machen länger dauern , keinen Nutzen ...
Hmm ...
Sollten Sie also "Best Practices" befolgen? Auch wenn Sie sie nicht verstehen? ... Äh ... ja. Ich meine nein. Aber ja. Aber nur diejenigen, die wirklich auf Sie und Ihre Software und deren Zweck zutreffen.
Rufen Sie das POAP auf ! (Ja. Mein Blog.)
Prinzipien, Muster und Praktiken sind keine endgültigen Zwecke.
Die gute und ordnungsgemäße Anwendung jedes einzelnen wird daher von einem überlegenen, endgültigeren Zweck inspiriert und eingeschränkt. Sie müssen verstehen, warum Sie das tun, was Sie tun!
(Das POAP ist nicht vom POAP ausgenommen.)
So können Sie beispielsweise möglicherweise nicht jede Nuance von DI vollständig verstehen. Wenn Sie jedoch die Absicht verstehen, wissen Sie, ob Sie DI verwenden sollten, und Sie verstehen DI implizit besser.
Und sobald Sie das Produkt veröffentlicht haben, können Sie darüber nachdenken, ob DI (oder was auch immer) wirklich vorteilhaft war. Wenn ja, artikulieren Sie warum schriftlich. Wenn nicht, artikulieren Sie warum schriftlich ...
Bonuslesung / Etwas relevant:
Analyse Lähmung ist eine Sache. Sie müssen analysieren und lernen; Aber Sie müssen auch Dinge erledigen. Balance.
Sie könnten sich immer wie ein Cowboy-Programmierer fühlen .
* Sie tatsächlich wird schlechte Fehler machen , wenn Sie etwas bemerkenswert machen. Aber du bist ein Mensch, nehme ich an. Also, wir vergeben dir im Voraus ... Oder zumindest ich. Vielleicht. ... Nun ... Wir werden sehen.