10 rzeczy które uczynią cię gorszym programistą

W sieci można znaleźć dużo materiałów na temat tego jak stać się lepszym programistą. Ja postanowiłem podejść do tego problemu z przeciwnej strony. Przedstawiam Wam listę 10 rzeczy, które sprawią że na pewno staniecie się gorszymi programistami.

1. Nie bierz odpowiedzialności za swój kod.

Ogólnie rzecz biorąc, odpowiedzialność, to cecha bardzo pożądana. Na szczęście mało kto lubi być odpowiedzialny. Jeżeli Twój kod nie działa prawidłowo i wiesz, że to Twoja wina, to wymyśl jakąś wymówkę zamiast proponować rozwiązanie problemu. Najlepiej zwal na innego programistę, autora biblioteki której używasz (albo framework) lub sam serwer. Nigdy nie bierz winy na siebie, Ty tylko piszesz kod.

2. Omijaj wszystkie możliwe konferencje, barcampy, warsztaty lub spotkania.

Po co masz spotykać się z innymi ludźmi którzy, być może, wiedzą więcej od Ciebie? Dlaczego miałbyś wymieniać się doświadczeniami? Czy na pewno masz czas i siłę by być miłym dla innych dziwaków Twojego pokroju? Gdybyś miał jednak wątpliwości to są jeszcze inne czynniki decydujące w tej sprawie. Nie jadąc na taką konferencję na pewno zaoszczędzisz pieniądze, które lepiej spożytkujesz kupując sobie coś niepotrzebnego. Nie wspominając już, że sam dojazd jest ryzykowny i czasochłonny.

3. Powielaj swój kod metodą „kopiuj-wklej”.

CTRL+C oraz CTRL+V powinno stanowić Twoją ulubioną kombinację klawiszy. Postawmy sprawę jasno: widzisz miejsce do którego pasuje kod, który ostatnio już napisałeś ale trzeba zmienić jedną rzecz lub dopisać dodatkowy parametr? Zamiast refaktoryzować daną klasę, utwórz po prostu podobną, najlepiej z numerem 2 i zmień tylko ten jeden fragment. Szerokim łukiem należy również omijać modną ostatnia zasadę DRY (Don’t Repeat Yourself). Pisz kod który nie będzie mógł być wielokrotnie stosowany, przecież łatwiej i szybciej jest coś przekopiować.

4. Nie szacuj ilości pracy.

Na pewno wielokrotnie słyszałeś to pytanie: „ile ci to zajmie?” lub „ile to będzie kosztować?” (w zależności do tego czy jesteś trybikiem w korpo czy naiwniakiem z własną firmą). Zapewne za każdym razem szacowałeś ilość twojej pracy np. godzinowo. Tylko po co? Na pewno i tak nie uda ci się tego poprawnie wyliczyć. Równie dobrze można strzelić jakąś liczbą z głowy (i pomnożyć przez 5). Nie warto również uwzględniać takich rzeczy jak: weryfikacja wymagań oraz uwzględnianie i analiza ryzyka. Najgorsze co ma się przytrafić i tak się przytrafi. Nie muszę chyba wspominać, że coś takiego jak rejestracja własnych szacunków (i wyciąganie na tej podstawie wniosków) jest totalnym marnotrawstwem czasu.

5. Zmieniaj ciągle swoje narzędzia.

Lubisz swojego Sublime Text 3 ale nie testowałeś jeszcze PHPStorma? Czujesz się jak ryba w wodzie używając Eclipse? Może czas przerzucić się na Vim lum Emacs. Śmiało, najlepiej co tydzień zmieniaj edytor i uczyć się od nowa wszystkich skrótów klawiszowych. Może najlepszym rozwiązaniem jest praca na wielu edytorach naraz? W grę wchodzi przecież produktywność której tak bardzo się boimy. Opanowanie jednego edytor do perfekcji wydaj się być przerażającą wizją.

6. Zapomnij o systemach kontroli wersji.

GIT? SVN? Czas pogrzebać te dziwnie wyglądające skróty. Jeżeli to do tej pory nie zaznajomiłeś się z nimi to chwała ci za to. Masz czas i chęci na naukę systemów kontroli wersji? Z drugiej strony po co? Przecież i tak pracujesz sam nad swoim kodem i na pewno nie będziesz potrzebował śledzić zmian (chyba sam wiesz co zmieniasz). A co jeśli pracujesz w zespole? O wiele łatwiej jest nadpisać czyjeś zmiany niż bawić się ciągle w rozwiązywanie konfliktów.

7. Przestań uczyć się nowych rzeczy.

Czy nie wystarcza ci 15 lat nauki którą zaliczyłeś za czasów swojej młodości (no może nawet mniej)? Bez sensu wydaje się kupowania ciągle nowych książek lub magazynów specjalistycznych których i tak nie przeczytasz. Szkoda również czasu na wszelkiego rodzaju kursy, egzaminy czy certyfikaty. Pamiętaj, że w tych czasach nikt nie zwraca uwagi na takie rzeczy, a czas który poświęcisz na ich zdobycie będzie czasem zmarnowanym. Nie muszę chyba wspominać że to samo tyczy się czytania blogów.

8. Nie testuj swojego kodu.

Wiele mówi się i pisze o testach. Dla Ciebie to pojęcie powinno pozostać poza zasięgiem. No bo po co testować kod, skoro można 10 razy naprawiać to samo. Kto chciałbym pozbawić się tej przyjemności. Czy naprawdę chciałbyś uniknąć pięknych fatal errorów na produkcji? Z resztą na pewno nie masz na to czasu – bo kto za to zapłaci?

9. Traktuj komentarze jako rzecz zbędną.

Na pewno nigdy nie lubiłeś pisać wypracowań, a tworzenie komentarzy to dla Ciebie mordęga. Komu chce się opisywać co w kodzie piszczy skoro można to wydedukować z samego kodu? Przecież wszyscy na pewno będą wiedzieli, co miałeś na myśli podstawiając zmienną $array3 do metody changeThis() obiektu typu User2, włącznie z Tobą samym. Swojego kodu się przecież nie zapomina 2 dni po zakończeniu pisania, prawda?

10. Pozostań anonimowy.

Ten punkt jest trochę związany z punktem pierwszym. Skoro nie chcesz brać odpowiedzialności to musisz pozostać anonimowy. Nie warto podpisywać swojego kodu. Przecież programista to nie żaden artysta czy rzemieślnik. Podpis nie jest dla Ciebie. Jeszcze ktoś się dowie że to właśnie Ty pisałeś ten kod. Nie jesteś chyba dumny z swojego dzieła? Anonimowy kod jest bardziej podatny na niechlujne traktowanie, lenistwo i pozostawianie w nim błędów – a to zostawia nam większe pole do popisu.

Podsumowanie

Postępując zgodnie z powyższą listą macie gwarancję stania się gorszymi programistami. Na zakończenie proponuję jednak drobną zabawę. Zaprzecz każdemu z tych punktów. Interpretację pozostawiam Wam.

Entuzjasta programowania. Z zawodu web developer. Pragmatyk. Od jakiegoś czasu również przedsiębiorca. Racjonalista. W wolnych chwilach biega i bloguje. Miłośnik gier i grywalizacji.

  • satyr

    Dodam tylko od siebie, że dziś trudno tworzyć anonimowy kod jeśli korzysta się z GITa.

    Dodałbym jeszcze 11 punkt który zawsze mnie bawi u „gorszych programistów”.
    11. Rób deployment ręcznie za pomocą Filezilla przez FTP. Po co zabierać sobie czas na konfigurację capistrano czy jenkinsa. Drag&drop działa szybciej.

    • nrm

      bo dany delikwent stosuje sie tez do punktu nr 6 😀

    • lolex

      W przypadku one-shotów znajdź coś szybszego niż D&D….

  • sbl

    A ja bym dodał jeszcze pkt. poznany w trakcie współpracy z innymi programistami.
    „Używaj dropboksa jako systemu kontroli wersji – będziesz profesjonalny i mobilny”.

    • Weź, Dropbox jako system kontroli wersji jest lepszy, niż całkowity brak kontroli wersji… 😛

      • satyr

        Wszystkie koty internetów płaczą jak to czytają

  • Mariusz

    Rada o edytorach jest co najmniej głupia a przede wszystkim stoi w sprzeczności z punktem 7. A już kuriozalne jest traktowanie nauki kilku skrótów klawiszowych jako intelektualnego wyzwania.

    • Kuba Turek

      Autorowi chyba chodziło o to, żeby tak spersonalizować sobie środowisko programistyczne, żebyś nie musiał skakać pomiędzy 10 oknami, żeby edytować różne rodzaje plików… Ja jestem webdeveloperem i jedyne co mam włączone podczas pracy to PHPStorm i Google Chrome – zestaw wtyczek do PHPStorm pozwala mi pisać kod, uruchamiać CI, terminal, puszczać testy… Natomiast, próbuj nowych rzeczy, żeby znaleźć środowisko, w którym będzie Ci się najlepiej pracowało.

  • Smuteczek

    okey 😀 jak to wygląda u mnie 🙂
    Programuje z kolesiem, który ma 10 lat doświadczenia i :

    1. Nigdy przenigdy nie bierze odpowiedzialności. Jak coś nie działa mówi, że to ja w nim gmerałem co łatwo zawsze sprawdzić 🙂
    2. Mieszkam na zadupiu i cieżko mi znaleźć coś, ale jak mieszkałem we Wro to jeździłem wszędzie.
    3. Jak miałem do oproramowania 10 przycisków, który każdy robił to samo tylko jeden parametr je różnił … kaman…
    4. Ten koleś liczy ile mu to zajmie i mnoży razy 4.
    5. Dobrze mi sie pracuje z kilkoma edytorami w zależności od tego w czym aktualnie musze pisać. Ale nie … przyjdzie ten głą i powie Pisz w netbeansie a nie w eclipse i musze to robić … albo przyjdzie pozmienia mi wyglad wszystkiego w Embarcadero i mówi „tak ci bedzie lepiej” nosz chu%
    6. Słowa tego idioty ” Nie lepiej kopiujmy sobie kod” … bez komentarza
    7. ” Delphi 2006 to najlepsze co wyszło :oooo”
    8. Jest lepsze rozwiazanie try try try try try catch catch catch catch final – tak wyglada program tego idioty
    9. Koleś pisze wypracowania w komentarzach 😮 Ja prosto wejscie wyjscie i co robi
    10. Mamy obowiązek w każdym pliku dodawać nagłówek kto.

  • Sama prawda 🙂

  • Marek

    Niech pierwszy rzuci kamień ten, który nigdy nie zrobił rzeczy z powyższej listy 😉

    • Kuba Turek

      Najlepiej uczyć się na błędach 😉

      • Gość

        A jeszcze lepiej – na cudzych 😀

  • feamoignargfaionakfj9ajfopamjv

    „6. Zapomnij o systemach kontroli wersji.”

    Możecie polecić coś darmowego, dla freelancera? Czas bardziej się tym zainteresować 😉

    • Osobiście mogę ci polecić http://bitbucket.org/ korzystam od paru tygodni i na razie bez zastrzeżeń. Prywatne repozytoria są darmowe (w odróżnieniu od GitHub’a).

      • feamoignargfaionakfj9ajfopamjv

        Dzięki, sprawdzę 🙂

    • Kamil Mikolajczyk

      gitlab.com – dużo większe możliwości od bitbucketa, też darmowy, bez ogracznień wielkości zespołów i ilości repo

    • Polecam https://buddy.works . Jest to polska alternatywa dla GitHuba/GitLaba/Bitbucketa z wbudowanymi testami i automatycznym deployem na serwer. Używam, i polecam – zaoszczędza wuchtę czasu a imho jest lepsze od wszystkich serwisów tego typu razem wziętych.

  • Krzychu

    Punkt 9 powinien brzmieć „Nazywaj beznadziejnie zmienne i metody”. Powinniśmy dążyć do tego, żeby kod sam się opisywał. Wtedy pisze się jeden komentarz na tydzień 🙂

  • migellal

    Co do pkt 9, warto się kilka razy zastanowić zanim napisze się komentarz, najlepiej , żeby nazwy metod / klas były samo-opisujące się 🙂
    A i tak najgorszą rzeczą jest zakomentowany kod 🙂 Nie raz kilkaset linii, których nikt nit usunie, bo wszyscy się boją, że może to potrzebne.. I ciągnie się to tak za projektem…

Send this to a friend

webmastah.weekly
Cotygodniowa porcja linków ze świata WEBDEV BEZ spamu, TYLKO samo mięcho!
Zobacz poprzednie wydania. Dołącz do 2 tysięcy webdeveloperów!
HTML5, CSS3, JS (React, Angular, Ember, Vue), PHP, SQL