Kto chciałby aby do każdej z posiadanych obecnie i w przyszłości linii kodu kolejne pojawiały mu się całkiem za darmo? Wiem, że będzie zaraz paskudne "ale", które sam przecież wypowiem jednak chętnie podnoszę rękę bo perspektywa czegokolwiek darmowego jest bardzo kusząca. "Proszę Państwa nikt nie mówił o jakości. Z promocji nie można zrezygnować a do Państwa obowiązków należy teraz serwisowanie kodu własnego i darmowego.", no i sam się złapałem. Bo duże to dobre i niewiele osób zwróci uwagę ile jest chipsów w paczce z powietrzem rozmiaru XXL MegaPack.
Otóż większość z nas lubi rzeczy duże. Znam chyba jednego faceta (wujka, złotą rączkę) , który byłby w stanie ograniczyć się do małego. Jak ma zrobić półkę na kilka książek to będzie siedział tydzień nad polerowaniem deski i wyjdzie mu dokładnie mała, zgrabna półeczka zgodna ze specyfikacja ( w tym przypadku przekazywana przez żonę ). Całkowitym przeciwieństwem będzie ojciec mój, który taka sama półkę wykona w godzinę, może dwie. Oprócz książek będzie w stanie utrzymać podwieszenie kilku 50 kilogramowych odważników - "bo te większe śruby są lepsze".
Dużo == dobrze
Większość z nas tak myśli więc nic odkrywczego tutaj nie nie napisałem jednak dopiero po przeczytaniu wczoraj Najgorszy wróg kodu na DevBlogach zauważyłem jak zgubne może to być w stosunku do programowania. Daleko mi jeszcze do profesjonalnego spojrzenia na pisanie kodu bo jeszcze długo pozostanę w dziale "początkujący". Zauważam jednak coś co autorowi chyba umknęło. My jako programiści chcemy mieć duży kod. Bo niby jak szef może powiedzieć, że nic nie robiłem jak ja tutaj naklepałem tyle linii? Znajomy kiedyś powiedział "szefostwo zrobiło testy wydajności i wyszło zespołowi, w którym robię, że w [przedział czasowy] zrobiliśmy [w dziesiątkach] tysięcy linii kodu". Patrzyłem na niego z uwielbieniem jak przedszkolak na iluzjonistę a kumple, którzy większe doświadczenie mają ode mnie z uznaniem kiwali głowami i pomrukiwali.
Podobnie jest w źródłach naukowych. W ramach nauki na przedmiot Inżynieria oprogramowania zakupiłem książkę o tym samym tytule autorstwa Iana Somerfielda i pewien jestem, że gdzieś tam był rozdział o mierzeniu wydajności na podstawie ilości wyklepanych linii. Autor rozwodził się jak ciężko mierzyć wydajność zespołu bo niby co trzeba mierzyć. No a mierzenie ilości linii jest łatwe i świadczy, że zespół pracował zamiast w Starcraft mecze toczyć.
Ilość linii można też łatwo sprzedać dla ludu całkowicie nie związanego z programowaniem. W reklamach gier czy różnego softu pojawiają się nieraz liczy mówiące ile to ludzi pracowało, ile godzin i ile linii naklepali. Nie bardzo rozumiem jak przeciętny Kowalski ma się odnieść do tej liczby? Wyobrazić sobie, że siedzi i pisze powieść na dwadzieścia tysięcy stron? Trzy tomy Władcy Pierścieni to 1500 stron więc chyba szybciej napisałby swoje 500 tysięcy linii kodu niż sensowną powieść w takim rozmiarze.
Artykuł Najgorszy wróg kodu nie dawał mi spokoju bo pierwszą moją myślą na słowa "napisałem grę, której kod ma 500 000 linii" było "ja też tak chcę!". Upłynęło już ładnych parę godzin i nadal chcę. Pliki mojej pracy magisterskiej potraktowane wc -l *.cpp *.h pokazują marne ~3500 linii. Mam mocno zakorzeniony pogląd, że uczę się tylko przez praktykę. Jasne jest, że im więcej praktyki tym więcej kodu. Bardzo niechętnie zaczynam dopuszczać myśl, że "im więcej kodu tym więcej praktyki" nie zawsze jest prawdziwym stwierdzeniem.