Grug pomaga myśleć o programowaniu
Dawno nie czytałem artykułu o programowaniu z ciągłym uśmiechem na twarzy.
Grug , jak większość z nas, nie jest programistą o wielkich mózgach, ale prostym jaskiniowcem, który chce pisać kod o przyzwoitej jakości i załatwiać sprawy.
Grug nie jest zbyt bystry, ale to może być jego supermoc. W tekście jest dużo mądrości.
Mnie zajęło kilka minut, aby zatopić się w sposobie wyrażania się przez Gruga, ale było warto!
Przeczytaj cały artykuł na stronie grugbrain.dev
Oto kilka samorodków złota od Gruga :
Złożoność
złożoność to duchowy demon, który wchodzi do bazy kodu poprzez dobre intencje, ale ostatecznie bardzo klubowa deweloperów i kierowników projektów, którzy nie boją się demona złożoności ani nawet nie wiedzą o jakimś czasie
Mówię nie
najlepszą bronią przeciwko złożoności duchowego demona jest magiczne słowo: „nie”
nie, grug nie buduj tej funkcji,
nie, grug nie buduj tej abstrakcji
zauważ, że ta dobra rada inżynierska, ale zła rada dotycząca kariery: „tak” to magiczne słowo określające bardziej lśniącą skałę i odpowiedzialne za duże plemię deweloperów
smutne, ale prawdziwe: naucz się „tak”, a potem naucz się obwiniać innych grubasów za porażkę, idealna rada zawodowa
Faktoring Twojego kodu
nie uwzględniaj wniosku zbyt wcześnie!
programiści o dużych mózgach często w ogóle tego nie lubią i wymyślają wiele abstrakcji na początku projektu
Grug miał ochotę sięgnąć po maczugę i krzyknąć „wielki mózg, nie ma kodu do obsługi! wielki ruch mózgowy w sprawie następnego komitetu architektonicznego, zostaw kod dla Gruga!
zamiast tego grug spróbuj ograniczyć uszkodzenia dużego mózgu programisty na wczesnym etapie projektu, dając im coś w rodzaju diagramu UML (kod nie boli, prawdopodobnie i tak wyrzuć) lub żądając jutro działającego demo
działająca demonstracja szczególnie dobra sztuczka: zmusić duży mózg do stworzenia czegoś, o czym można mówić, i kodowania, aby spojrzał na to, co robi, pomoże dużemu mózgowi szybciej zobaczyć rzeczywistość na ziemi
Ogrodzenie Chestertona
grug rozumie, że wszyscy programiści platoniści na pewnym poziomie życzą muzyce sfer perfekcji w kodzie. ale niebezpieczeństwo jest tutaj, świat jest brzydki i gronkowy wiele razy i taki też musi być kod
grug nie mów, że nigdy nie ulepszaj systemu, dość głupio, ale zalecam, aby najpierw zrozumieć system, szczególnie większy system jest i szanuje kod, który działa dzisiaj, nawet jeśli nie jest doskonały
Narzędzia
grugowe narzędzie miłości
dobry debugger wart wagi w błyszczących skałach, w rzeczywistości także więcej: w obliczu błędu grug często wymieniałby wszystkie błyszczące kamienie i być może kilka dzieci na dobry debugger, a poza tym debugger nie waży nic, o ile grug może powiedzieć
grug zawsze zaleca nowemu programiście, aby nauczył się bardzo dogłębnie dostępnego debuggera, funkcje takie jak warunkowe punkty przerwania, ocena wyrażeń, nawigacja po stosie, itp. uczą nowego gruga więcej o komputerze niż na zajęciach uniwersyteckich!
Wpisz systemy
grug bardzo podobne systemy typów ułatwiają programowanie. w przypadku gruga wpisz systemy, które najbardziej cenią, gdy grug uderzy kropkę na klawiaturze, a lista rzeczy, które grug może zrobić, wyskakuje magicznie. to 90% wartości typu system lub więcej do gruga
zawsze pojawia się system typu wartości: hit dot zobacz, co grug może zrobić, nigdy nie zapomnij!
Rozdzielenie obaw
Separation of Concern (SoC) to kolejna potężna idea w umysłach wielu programistów
tutaj grug o wiele bardziej kwaśny niż DRY i faktycznie napisz esej z dużym mózgiem na temat alternatywnej zasady projektowania lokalności zachowania (LoB) przeciwko SoC
grug zdecydowanie woli umieścić kod na rzeczy, która to robi. teraz, gdy grug spojrzy na tę rzecz, grug wie, co robi ta rzecz, zawsze jest to dobra ulga!
Logowanie
grug jest wielkim fanem rejestrowania i zachęca do wielu z nich, zwłaszcza w chmurze. niektórzy nie-grugowie twierdzą, że pozyskiwanie drewna jest drogie i nieważne. grug nigdy więcej nie myślał w ten sposób
Grug wskazówki dotyczące logowania to:
- loguj wszystkie główne gałęzie logiczne w kodzie (jeśli/za)
- jeśli „żądanie” obejmuje wiele maszyn w infrastrukturze chmury, dołącz identyfikator żądania we wszystkich, aby można było pogrupować dzienniki
- jeśli to możliwe, spraw, aby poziom logów był kontrolowany dynamicznie, więc grug może włączać/wyłączać, gdy zajdzie taka potrzeba, problem z debugowaniem (wiele!)
- jeśli to możliwe, utwórz poziom dziennika na użytkownika, aby można było debugować konkretny problem użytkownika
ultra największy programista mózgu powiedział kiedyś:
przedwczesna optymalizacja jest źródłem wszelkiego zła
grug zaleca, aby zawsze mieć konkretny, rzeczywisty profil wydajności, pokazujący konkretny problem z wydajnością, zanim rozpocznie się optymalizację.
nigdy nie wiadomo, jaki może być rzeczywisty problem, grug często zaskakuje! bardzo często!
Pszczoła
Twórcy API myślą zbyt abstrakcyjnie i mają duże mózgi
zwykle grug nie przejmuje się zbytnio szczegółami api: chcę napisać plik lub posortować listę lub cokolwiek innego, po prostu chcę wywołać write() lub sort() lub cokolwiek innego
ale programiści big brain api mówią:
nie tak szybko, grubasie! czy ten plik jest otwarty do zapisu? czy zdefiniowałeś komparator dla tego rodzaju?
grug ponownie sięga po maczugę
nie przejmuj się teraz tymi rzeczami, po prostu posortuj i zapisz plik, panie wielki móżdżku!
Rozwój frontendu
niektórzy nie-grugowie, w obliczu tworzenia stron internetowych, mówią:
Wiem, podzielę bazę kodów front-end i back-end i użyję gorącej nowej biblioteki SPA rozmawiającej z zapleczem GraphQL JSON API przez HTTP (co jest zabawne, ponieważ nie przesyłam hipertekstu)
teraz masz dwie złożone legowiska duchów demonów
grug nie lubi dużych, złożonych bibliotek front-endowych, których wszyscy używają
grug make htmx i hyperscript , których należy unikać
utrzymuj niską złożoność, prosty HTML, unikaj wielu javascript, naturalnego eteru duchowego demona złożoności
może pracują dla ciebie, ale nie ma ogłoszenia o pracę, przepraszam
lepiej reaguj na pracę, a także na jakąś aplikację, ale także stajesz się akolitą demona złożoności, czy chcesz, czy nie, przepraszam, takie jest front-endowe życie
Strach Wyglądać Głupio
notatka! bardzo dobrze, jeśli starszy grug chce publicznie powiedzieć: „hmmm, to zbyt skomplikowane dla gruga”!
wielu programistów Strach przed wyglądaniem na głupka (FOLD), grug też kiedyś FOLD, ale grug się nauczy, przeboleć: bardzo ważny starszy grug mówi „to jest zbyt skomplikowane i mylące dla mnie”
to sprawia, że młodsi grugowie mogą przyznać się do zbyt skomplikowanych i niezrozumiałych, często takich przypadków! FOLD główne źródło złożoności władzy demonów nad programistami, zwłaszcza młodymi grugami!
Syndrom oszusta
Grug zauważa, że wielu takich oszustów czuje się w fazie rozwoju
teraz grug tworzy oprogramowanie wymagające dużo pracy i umiarkowanego sukcesu open source, a jednak sam grug często nie ma pojęcia, co robi! bardzo często! grug wciąż boi się popełnić błąd, złamać wszystkim kod i zawieść innych grugów, oszust!
jest być może naturą programowania dla większości grugów, aby czuć się oszustem i być w porządku, co jest najlepsze: nikt nie jest oszustem, jeśli wszyscy są oszustami
każdy młody grug, który przeczytał tak daleko, prawdopodobnie poradzi sobie w karierze programistycznej, nawet jeśli frustracja i zmartwienie są zawsze obecne, przepraszam

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































