Krótko mówiąc, najlepszym sposobem, aby dowiedzieć się, na ogół, aby spędzać czas z kimś, można dowiedzieć się z . Jeśli uważasz, że Twoje umiejętności nie są do zera, najlepiej spędzać czas z ludźmi, którzy są lepsi od Ciebie. Z pewnością znacznie lepsze niż dalsze wycofywanie się i izolowanie.
Myślę jednak, że malujesz bardzo uproszczony i mylący obraz. Daleko od wszystkich „profesjonalnie nauczonych” programistów są naprawdę dobre. To, że coś robią, niekoniecznie oznacza, że jest to właściwe.
I wiele (ale nie wszystkie) z tego, co mówisz, naprawdę brzmi, jakbyś był tym, który mógłby nauczyć ich sztuczki.
Opieram się bardziej na stronie funkcjonalnej niż na OO, ale widzę użycie OO, gdy coś byłoby bardziej sensowne jako abstrakcyjny byt.
Brzmi świetnie dla mnie. Najlepszymi programistami są ci, którzy używają odpowiedniego narzędzia do pracy. Zawsze wybieram kogoś, kto zna oba paradygmaty i używa każdego z nich tam, gdzie ma to sens, nad kimś, kto religijnie stosuje tylko jeden paradygmat.
Następnie, gdy coś robię, idę prostą drogą. W przeciwieństwie do tego wydaje się, że czasami kod, który widzę od profesjonalnych programistów, jest skomplikowany ze względu na to!
Ponownie, prostota jest dobra . Nie rób kompleks kod dopóki nie musi być skomplikowane. Niektórzy ludzie mają tendencję do rzeczy złożonej z jakiegoś błędnej idei elegancji, albo dlatego, że „musimy tę dodatkową funkcjonalność później”. Zasadniczo lepiej jest zrobić najprostszą rzecz, która rozwiązuje problem.
Używam wielu zamknięć. Dobry. Dlatego tam są. Przerażają niektórych ludzi, którzy utknęli w latach 90. i przestarzały model quasi-OOP Javy, ale tak naprawdę to ich problem.
I wreszcie, nie jestem najlepszym komentatorem.
Co należy skomentować i jak, jest wysoce subiektywne. Nie ma tam prawdziwego „dobrego” ani „złego”, ale podczas pracy w zespole ważne jest, aby napisać kod, który zrozumie cały zespół, a nie tylko jego autor. Czasami trzeba iść na kompromis, aby dostosować się do stylu kodowania zespołu. To niekoniecznie oznacza, że powinieneś pisać więcej komentarzy, to po prostu oznacza, że jest to coś, na co ty i twój zespół będziecie musieli się zgodzić.
Słyszę, jak profesjonalnie wyszkoleni programiści powtarzają takie rzeczy, jak testy jednostkowe. Coś, czego nigdy wcześniej nie używałem, więc nawet nie mam zielonego pojęcia, czym one są i jak działają.
Zapytaj ich. :) Testowanie kodu jest niezbędne, a testy jednostkowe są popularnym i przydatnym narzędziem do tego.
Wiele podkreślników „_”, które tak naprawdę nie są w moim guście.
Podobnie jak w przypadku komentowania, jest to subiektywne i zależy od języka. W C i C ++ lowercase_with_underscores
jest dość powszechną konwencją nazewnictwa. W wielu innych językach praktycznie nie zobaczysz podkreślenia. Ale pod koniec dnia to naprawdę nie jest ważne. To, czy funkcja jest wywoływana, write_to_log
czy WriteToLog
nie ma znaczenia. Ktoś będzie musiał to po prostu zassać i dostosować się do tego, co zgodził się tam zespół.
Nic nie wiem o MVC, słyszałem o tym wiele z takimi rzeczami jak backbone.js. Myślę, że to sposób na zorganizowanie aplikacji. Po prostu mnie to jednak myli, ponieważ do tej pory stworzyłem własne struktury organizacyjne.
Podobnie jak w przypadku testów jednostkowych, nigdy nie przestawaj się uczyć. Współpracujesz z ludźmi, którzy wiedzą, czego nie znasz, i którzy pochodzą z innego środowiska niż ty. Ucz się od siebie nawzajem. Są oczywiście rzeczy, których możesz ich nauczyć, ale są też rzeczy, których nie znasz lub o których nigdy nie słyszałeś, a których mogą cię nauczyć. To nie znaczy, że ty (lub oni) jesteś złym programistą. Oznacza to, że dobry programista to taki, który stara się ulepszać i uczyć się od innych.
Pełne programowanie OO naprawdę pozostawia w moich ustach zły smak
To samo tutaj, a ja nazywam cię „profesjonalnie przeszkolonym” (dyplom CS). Ludzie, którzy zostali nauczeni programowania różnią się tak samo jak ludzie, którzy są samoukami. Wygląda na to, że pracujesz z osobami, które naprawdę muszą nauczyć się kilku nowych sztuczek.
W rzeczywistości raczej boję się tego, że ludzie ostatecznie sprawdzą mój kod. Czy to coś normalnego, przez co przechodzi każdy programista, czy powinienem naprawdę zmienić swoje techniki?
Obie. Oczywiście przerażające jest, aby inni patrzyli (i oceniali) to, co stworzyłeś. Ale to także bardzo edukacyjne. Mogą powiedzieć ci, co zrobiliby inaczej lub dlaczego zrobiliby inaczej. Mogą pomóc ci poprawić, a także mogą się czegoś nauczyć. Pokaż im kod, który rozwiązuje problem lepiej niż zrobiłby to ich „preferowany” sposób, i mam nadzieję, że pójdą „och, to fajnie. Skąd wiesz, jak to zrobić? Jak to nazywasz? Powinienem sam użyć tej techniki „