
Harry James
0
2113
194
Zapoznaliśmy się już z najważniejszymi zasadami programowania. 10 podstawowych zasad programowania Każdy programista musi przestrzegać 10 podstawowych zasad programowania Każdy programista musi przestrzegać Zawsze pisz kod, który może być utrzymywany przez każdego, kto może skończyć z oprogramowaniem. W tym celu podajemy kilka zasad programowania, które pomogą ci oczyścić swoje działania. musisz wiedzieć, ale istnieje inna klasa zasad programowania, która może się okazać jeszcze bardziej korzystne niż tamte.
Podczas gdy wyżej wymienione zasady uczą cię, jak być mądry z twoim kodem, następujące zasady nauczą cię być mądry z twoim kodem. Niektóre z nich są dziwne, a wiele z nich jest humorystycznych, ale wszystkie są równie praktyczne i ważne. Uważaj!
1. Zasada wzdęcia
Ten ma tak wiele odmian, że trudno wybrać jedną jako główną. Być może najbardziej “urzędnik” wersja to Prawo Otoczenia Oprogramowania, zwane częściej Prawo Zawińskiego, nazwany na cześć Jamiego Zawińskiego i wspomniany w Sztuka programowania w systemie UNIX:
“Każdy program próbuje się rozwinąć, dopóki nie będzie mógł odczytać poczty. Programy, które nie mogą tak rozszerzyć, zostaną zastąpione tymi, które potrafią.”
Mówi o tendencji programów do przyciągania coraz większej liczby funkcji w czasie i nieuchronnie dryfuje w kierunku coraz większej złożoności. Możesz to wiedzieć jako pełzanie funkcji, czyli ciągłe dodawanie nowych funkcji, które nie mają nic wspólnego z głównym celem programu. Pełzanie funkcji prowadzi do wzdęć, a wzdęcia są często niepożądane.
Może to również dotyczyć wydajności oprogramowania:
“Oprogramowanie rozszerza się, aby zużywać wszystkie dostępne zasoby.”
W latach 90. dyski twarde, procesory i pamięć RAM były znacznie bardziej restrykcyjne niż obecnie, a programiści ciężko pracowali, aby zmieścić się w jak największym zakresie. Jednak teraz, gdy mamy większe dyski, szybsze procesory i więcej pamięci RAM, nadal walczymy o przestrzeganie limitów. Z czasem wszystko się wzdęcia. Twoim zadaniem jest utrzymanie tego w ryzach.
2. The “Gorzej jest lepiej” Mentalność
Prawie tak, jakby w odpowiedzi na zasadę wzdęcia, mamy Gorzej jest lepsza mentalność, po raz pierwszy wymyślony przez Richarda P. Gabriela w eseju o jakości oprogramowania:
“Oprogramowanie, które jest ograniczone, ale proste w użyciu, może być bardziej atrakcyjne dla użytkownika i rynku niż na odwrót.”
Innymi słowy, mądrze jest dowiedzieć się jeden problem twoje oprogramowanie ma rozwiązać, a następnie być bardzo dobrze w tej jednej rzeczy. Nie komplikuj. Im bardziej się rozproszysz, tym projekt będzie trudniejszy do zarządzania i tym bardziej będzie niepożądany dla użytkowników.
Co się stanie, gdy to zignorujesz? Skończysz z Software Peter Principle:
“Zbyt skomplikowany projekt stanie się w końcu zbyt skomplikowany, aby zrozumieć go nawet jego twórcy.”
Wywodzi się z szerszej zasady Petera, która stwierdza, że kiedy awansuje się pracowników na podstawie ich bieżących kompetencji, a nie oczekiwanych kompetencji na następnym stanowisku, wszyscy pracownicy ostatecznie stają na pozycji niekompetencji. Weź tę zasadę i zastosuj ją do oprogramowania, a zobaczysz, dlaczego gorsze oprogramowanie może być często lepsze.
3. Prawo Eaglesona
“Każdy własny kod, którego nie przeglądałeś przez sześć lub więcej miesięcy, równie dobrze mógł zostać napisany przez kogoś innego.”
To pozornie demotywacyjne powiedzenie jest w rzeczywistości czymś do przyjęcia. Faktem jest, że nikt nie jest idealny. Możesz myśleć, że jesteś genialnym programistą, ale jest zawsze czegoś więcej możesz się nauczyć, zawsze więcej miejsca do uprawy. Jeśli kiedykolwiek spojrzysz wstecz na stary kod i błąd, prawdopodobnie oznacza to od tego czasu nauczyłeś się czegoś nowego.
Mówiąc inaczej: jeśli spojrzysz wstecz na stary projekt i nie widzisz niczego, co można by poprawić lub następnym razem zrobiłby inaczej, prawdopodobnie utknąłeś jako programista.
4. Zasada najmniejszego zdziwienia
“Jeśli niezbędna funkcja ma wysoki współczynnik zdumienia, konieczne może być jej przeprojektowanie.”
Po raz pierwszy opublikowany w IBM Systems Journal jeszcze w 1984 roku ta zasada jest nadal zaskakująco aktualna - być może bardziej niż kiedykolwiek wcześniej.
Zasadniczo dotyczy delikatnej równowagi między innowacją a znajomością: jeśli jest to oprogramowanie zbyt różne od innych tego rodzaju i dlatego nie spełnia oczekiwań użytkowników prawdopodobnie tego nie przyjmą. Lepiej jest dążyć do stopniowych ulepszeń, które są wystarczająco duże, aby imponować, ale wystarczająco małe, aby pozostać zaznajomionym.
5. Prawo entomologii cybernetycznej
“Zawsze jest jeszcze jeden błąd.”
Często nazywany Prawo Lubarskiego do Entomologii Cybernetycznej, nie jest jasne, kim tak naprawdę jest Lubarsky. Jednak jego zasada ma zastosowanie do wszystkich programistów: bez względu na to, jak czysto piszesz kod, bez względu na to, jak solidnie testujesz swoje moduły, bez względu na to, jak często refaktoryzujesz swoje klasy, zawsze będzie kolejny błąd.
W pewnym sensie jest to zasada uwalniania. Chociaż zdecydowanie powinniśmy starać się w przypadku kodu wolnego od błędów ważne jest również, aby pamiętać, że perfekcjonizm jest wrogiem dobra. Poszukaj błędów, napraw je, gdy się pojawią, a następnie przejdź dalej.
6. Prawo Kernighana
“Debugowanie jest dwa razy trudniejsze niż pisanie kodu. Dlatego, jeśli piszesz kod tak sprytnie, jak to możliwe, z definicji nie jesteś wystarczająco inteligentny, aby go debugować.”
Brian Kernighan, ten sam, który jest współautorem Biblii języka programowania C Dlaczego programowanie C jest nadal warte nauki Dlaczego programowanie C jest nadal warte nauki C nie jest martwym językiem. W rzeczywistości magazyn IEEE Spectrum uznał go za najlepszy język nr 2 w 2017 r. Oto pięć powodów. , słynie z tego wnikliwego prawa. Sedno tego jest takie: pisz dobry kod, napisz czytelny kod, napisz prosty kod, wszystko, o ile nie jest sprytny kod.
Próba napinania mięśni programistycznych za pomocą złożoności wieży z kości słoniowej jest dokładnym przeciwieństwem pisania czystego i lepszego kodu. 10 porad dotyczących pisania Cleaner & Better Code 10 porad dotyczących pisania Cleaner & Better Code Pisanie czystego kodu wygląda łatwiej niż jest w rzeczywistości, ale korzyści są tego warte. Oto, jak możesz zacząć pisać czystszy kod już dziś. . Im trudniej zrozumieć kod, tym trudniej będzie go debugować, gdy nieuchronnie się zepsuje.
I jak wyjaśnia Robert C. Martin, nie chodzi tylko o debugowanie:
“Rzeczywiście stosunek czasu spędzonego na czytaniu do pisania jest znacznie wyższy niż 10 do 1. Cały czas czytamy stary kod w ramach wysiłku pisania nowego kodu ... [Dlatego też] ułatwienie czytania ułatwia pisanie.”
7. Debugowanie gumowej kaczki
Ta nie jest tak bardzo zasadą, jak techniką, ale jest tak pomocna i dziwna, że niedopuszczalne byłoby jej pominięcie.
Po raz pierwszy powiedział Pragmatyczny programista, debugowanie gumowej kaczki ma miejsce, gdy debugujesz zepsute oprogramowanie, tłumacząc kod nieożywionemu obiektowi (np. gumowej kaczce) po jednej linii na raz. Działa, ponieważ akt wyjaśniający uruchamia różne części mózgu, a Ty bardziej prawdopodobne jest wykrycie niespójności i ustalenie, gdzie popełniłeś błąd.
Z tego powodu gumowa kaczka może być zaskakująco sprytnym prezentem dla programistów Najlepsze prezenty dla maniaków programistów: 20 pomysłów dla programistów i frajerów Najlepsze prezenty dla maniaków programistów: 20 pomysłów dla programistów i kujonów Szukasz prezentu dla programisty? Oto najlepsze prezenty dla maniaków, od mechanicznych klawiatur po stojące biurka i wiele innych. , niezależnie od tego, czy kupujesz go dla siebie, czy dla swojego programisty.
8. Reguła dziewięćdziesiąt dziewięćdziesiąt
“Pierwsze 90 procent kodu stanowi pierwsze 90 procent czasu programowania. Pozostałe 10 procent kodu stanowi pozostałe 90 procent czasu programowania.”
To bezczelne przysłowie Toma Cargilla przekonuje, dlaczego programowanie może być tak frustrujące: bez względu na to, jak blisko myślisz o ukończeniu, jesteś znacznie dalej niż nawet najlepsze szacunki. Kiedy myślisz, że skończyłeś, jesteś dopiero w połowie drogi.
Jest to zgodne z prawem Hofstadtera:
“To zawsze trwa dłużej, niż się spodziewasz, nawet biorąc pod uwagę prawo Hofstadtera.”
9. Prawo Parkinsona
“Praca rozszerza się, aby wypełnić czas dostępny na jej zakończenie.”
Ta jedna zasada, stworzona przez Cyrila Northcote Parkinsona, jest szerszą zasadą, która absolutnie stosuje się do programowania i idzie w parze z Regułą Dziewięćdziesiąt dziewięćdziesiąt powyżej: jakkolwiek dużo czasu musisz ukończyć projekt, to dokładnie tyle, ile zajmie. W rozwoju oprogramowania, “kończąc wcześnie” to właściwie mit.
Prawo Parkinsona jest powodem, dla którego właściwe terminy są kluczowe, jeśli chcesz zakończyć i wysłać oprogramowanie. To dlatego współcześni profesjonalni programiści często zalecają zwinne zasady zarządzania projektami. Jak stosować zwinne zasady zarządzania projektami do organizowania swojego życia. życie osobiste. Pokażemy Ci zasady, które możesz pożyczyć - w zestawie bezpłatne pobieranie arkusza roboczego! oraz narzędzia do zarządzania projektami, takie jak Asana Trello vs. Asana: najlepsze bezpłatne narzędzie do zarządzania projektami to… Trello vs. Asana: najlepsze bezpłatne narzędzie do zarządzania projektami to… Wybór między Trello a Asaną jest trudny. Tutaj porównujemy bezpłatne plany i pomagamy zdecydować, które narzędzie zarządzania projektami jest najlepsze dla Twojego zespołu. .
10. Prawo Brook'a
“Dodanie siły roboczej do późnego projektu oprogramowania sprawia, że później.”
Następnym razem, gdy spóźnisz się na projekt, co jest prawdopodobne, ponieważ większość projektów programistycznych potrzebuje więcej czasu niż przydzielono, pamiętaj, że dodanie koderów nie rozwiąże go szybciej.
W rzeczywistości to prawdopodobnie zajmie dłużej ukończyć. Musisz nie tylko przyspieszyć działanie nowego kodera, ale prawdopodobnie będzie on kolidował z istniejącymi koderami. Więcej rzeczy będzie wymagało udokumentowania, potrzebna będzie większa biurokracja, aby wszyscy byli na tej samej stronie, a więcej tarcia wyjdzie z całego doświadczenia w czasie kryzysu.
Idąc naprzód jako programista
Teraz, gdy znasz te zasady, jesteś w rzeczywistości lepiej przystosowany do prawdziwy świat programowania, nie tylko tego, co spotkałeś w szkole, na kursie internetowym lub w obozie dla początkujących. Zasady te wynikają z wielu lat doświadczeń i niepowodzeń.
Dzięki tej nowej mądrości możesz teraz rozpocząć karierę programistyczną o wysokim popycie. 10 zadań związanych z programowaniem komputerowym, które są na żądanie w tej chwili 10 zadań związanych z programowaniem komputerowym, które są obecnie na żądanie, ponieważ od momentu lądowania zadanie programistyczne może być trudne w obecnym krajobrazie, rozważ skupienie się na jednej z poniższych koncentracji, aby zwiększyć swoje szanse na sukces. z bardziej realistycznymi oczekiwaniami. W tym celu dowiedz się, jak zmaksymalizować możliwości kariery programistycznej. Jak poprawić swoje możliwości kariery programistycznej. Jak poprawić swoje możliwości kariery programistycznej. Jeśli chcesz rozpocząć, ponownie uruchomić lub w inny sposób poprawić swoją karierę programistyczną, nie jest to łatwe. Jeśli jesteś na studiach, czas jest teraz. Oto kilka wskazówek, które mogą zaprowadzić Cię daleko. . A jeśli zdecydujesz, że programowanie nie jest dla ciebie, nie martw się - zamiast tego rozważ jedno z tych niekodujących zadań technicznych. Kodowanie nie jest dla wszystkich: 9 zadań technicznych, które możesz uzyskać bez niego Kodowanie nie jest dla wszystkich: 9 Praca techniczna, którą możesz uzyskać bez niego Nie zniechęcaj się, jeśli chcesz być częścią dziedziny techniki. Istnieje wiele miejsc pracy dla osób bez umiejętności kodowania! .
Które z tych zasad są dla ciebie najbardziej prawdziwe? Czy znasz jakieś inne dziwne zasady programowania, które przeoczyliśmy? Daj nam znać w komentarzach poniżej!