TL; DR
Nigdy nie poznasz tego wszystkiego. Prawie zawsze jest więcej głębi i szerokości wokół każdej „rzeczy”, którą możesz znać. Ucz się na bieżąco. Zastosuj „najlepsze praktyki”, które Twoim zdaniem są teraz istotne . Robić błędy. Staraj się tylko unikać naprawdę kosztownych błędów. Znajdź mentorów, jeśli Twój projekt może prowadzić do kosztownych błędów.
A teraz długa odpowiedź ...
1. „Działające oprogramowanie jest podstawową miarą postępu”. ( Manifest zwinny )
Jeśli widzisz granice swojej wiedzy, to niesamowite! Dąż do krawędzi! Ucz się! Pamiętaj jednak, że możesz uczyć się i analizować na zawsze .
Zbuduj coś.
2. Naucz się i popełniaj błędy; ale nie rób „złych”. *
Przekraczaj granice swojej wiedzy / umiejętności. Ci będą popełniać błędy. Możesz się od nich uczyć. Ale nie musisz być lekkomyślny .
Czas spędzony na poszukiwaniu i pracy z bardziej doświadczonymi programistami i mentorami powinien wzrosnąć proporcjonalnie do wartości biznesowej i profilu ryzyka projektu.
Jeśli tworzysz mały CLI dla siebie : działaj tak, jak chcesz.
Jeśli piszesz portal internetowy banku: Otocz się bardzo doświadczonymi programistami.
3. „Najlepsze praktyki” powinny być pisane w cudzysłowie i mrugać.
„Praktyki” są promowane jako „najlepsze praktyki”, gdy zaobserwuje się, że osiągają X przynajmniej w niektórych przypadkach. Ktoś uznaje korzyść z praktyki A dla osiągnięcia korzyści X i deklaruje, że jest to „najlepsza praktyka” w Internecie. Inni się zgadzają - często z ważnego powodu. Ale od tego momentu na ogół tracimy z oczu, dlaczego niektóre praktyki są „najlepszymi praktykami”, a inne „antypatternami” lub „śmierdzącymi”.
Problem polega na tym, że „najlepsza praktyka” nigdy nie jest samolubna. „Antypatterny” same w sobie nie są diabelskie. I nawet „smród” tylko czasami pochodzi od zgnilizny. Czasami ten smród to tylko wymyślny, pyszny ser ...
Nie ćwiczysz takich rzeczy jak „wstrzykiwanie zależności”, ponieważ „zastrzyk zależności” jest z natury wartościowy dla firmy. Nie jest nawet zdalnie niezbędny do zbudowania działającego produktu. Osiąga coś , czego możesz chcieć w swoim produkcie końcowym. Ale może to również spowodować, że Twoja praca potrwa dłużej bez żadnych korzyści ...
Hmm ...
Czy zatem powinieneś stosować „najlepsze praktyki”? Nawet jeśli ich nie rozumiesz? ... Err ... tak. Myślę że nie. Ale tak. Ale tylko te, które naprawdę dotyczą Ciebie i Twojego oprogramowania oraz jego celu.
Wywołaj POAP ! (Tak. Mój blog.)
Zasady, wzorce i praktyki nie są ostatecznymi celami.
Dobre i właściwe stosowanie każdego z nich jest zatem inspirowane i ograniczane przez nadrzędny, bardziej ostateczny cel. Musisz zrozumieć, dlaczego robisz to, co robisz!
(POAP nie jest zwolniony z POAP.)
Na przykład możesz nie do końca zrozumieć każdy niuans DI. Ale jeśli zrozumiesz intencję, będziesz wiedział, czy „powinieneś” użyć DI, i w pewnym sensie lepiej zrozumiesz DI.
Po wydaniu produktu możesz zastanowić się, czy DI (lub cokolwiek innego) był naprawdę korzystny. Jeśli tak, to proszę uzasadnić na piśmie. Jeśli nie, należy podać dlaczego na piśmie ...
Czytanie bonusów / Trochę istotne:
Paraliż analizy jest rzeczą. Musisz analizować i uczyć się; ale musisz też załatwić sprawę. Saldo.
Zawsze możesz poczuć się jak kowbojski programista .
* Ty faktycznie będzie robić złe błędów, jeśli nie nic godne uwagi. Ale zakładam, że jesteś człowiekiem. Więc wybaczamy ci z wyprzedzeniem ... A przynajmniej tak robię. Może. ... Cóż ... Zobaczymy.