Andrew Hunt, Dave Thomas - The Pragmatic Programmer: From Journeyman to Master Jānis Rubļevskis (koko) / 04.04.2016. 13:31 / #Grāmatas / 3 komentāri

The Pragmatic Programmer

Šī grāmata laikam manā lasāmo sarakstā nonāca tāpēc, ka Mārtiņš (mans izbijis kursa biedrs) to bija novērtējis ar 5 zvaigznēm. Kārtējo reizi pārliecinājos, ka viņa vērtējumiem var uzticēties.

Uzreiz redzās, ka grāmatu rakstījuši hardcore koderi, kam rūp ne tikai labi uzprogrammēta lietotne, bet arī veidi, kā to padarīt vēl labāku. Šie programmētāji piemēros visvairāk min tādas valodas kā c++ un java, taču tie ir tikai piemēri un attiecas ja ne praktiski, tad vismaz teorētiski uz visām valodām. Viņi paši pat iesaka katram programmētājam gadā apgūt vismaz vienu jaunu programmēšanas valodu (es gan uzskatu, ka apgūt valodu viena gada laikā nav iespējams - var tikai apskatīt un nedaudz apsisties tajā).

Kopš izlasīju grāmatu, biežāk piedomāju arī pats pie sava koda. Ir divas galvenās lietas, ko grāmata man atgādināja (reizēm pat triviālas lietas piemirstas): pirmkārt, programmē pēc DRY principa (do not repeat yourself); otrkārt: cik bieži vien iespējams, refaktorē (pārstrādā) savu kodu.

DRY princips ir ļoti nozīmīga lieta, sevišķi, ja programmē lietas, ko vēlāk var nākties izmantot un/vai labot kādam citam. Piemēram, ja es esmu uzrakstītjis algoritmu, kas aprēķina PVN Latvijā naudas summai un, ja es citā vietā vienkārši iekopēju šo pašu kodu, tad pastāv iespēja, ka mainās kaut kādi nosacījumi (piemēram, samazinās [drīzāk gan palielinās] nodoklis) un, ja man kods ir kopēts, tad koda labotājam pastāv iespēja pamainīt tikai vienā vietā un otru vietu nepamanīt/aizmirst, radot neparedzamas sekas. Līdz ar to labāk šo algoritmu implementēt tā, lai visās vietās tiek izmantota tikai ši viena metode un, ja labo kaut ko, tad mainās visur uzreiz.

Refaktorēšana palīdz uzturēt kodu kārtīgu un viegli pārskatāmu. Vēl jo vairāk - refaktorējot kodu, var pamanīt nepilnības vai kļūdas algoritmos un tās izlabot, tāpēc ir vērts ieguldīt laiku, lai vēlāk būtu mazāk problēmu.

Es, protams, nosaucu tikai divas tādas lietas, kas man ir vissvarīgākās, taču grāmata māca kaut ko daudz vairāk un dziļāk. Autori, piemēram, ierosina tādas lietas kā "pār plecu skatošā viedā kolēģa izmantošanu", lai vieglāk atrastu kļūdas. Pat pats var ātrāk atrast, ja mēģina kārtīgi izskaidrot kolēģim to, ko ir uzrakstījis un ko vēlas panākt (tev tā nav gadījies?).

Tāpat autori rosina rakstīt testa kodu... Viņi pat ierosina rakstīt testa kodus testa kodiem, lai būtu droši, ka arī testa kodā nebūtu pieļautas kļūdas. Reizēm tas var šķist paranoiski, bet, ja tā padomā, tad kāpēc tās raķetes krīt zemē?

Mēs visi zinām, ka nevar uzprogrammēt perfektas programmas, taču, izmantojot šajā grāmatā sniegtās vadlīnijas, var objektīvi tiekties uz koda pilnību.

Grāmatu novērtēju ar 9 kokoiem no 10. Uzskatu, ka, lai arī ko tu programmētu, lai arī kāds būtu tavs pieredzes līmenis un lai arī kādu programmēšanas valodu tu cienītu visvairāk, šī grāmata tev, ja tu esi programmētājs/a, tā ir jāizlasa!

 


Komentāri:

Aivis @ 25.05.2018. 06:25

Noteikti must have iesācējiem!

http://sosdienests.lv/en/metala-durvju-restauracij @ 10.12.2017. 23:16

Six ;)

DC @ 07.01.2017. 12:18

Laba grāmata, visiem iesaku!


Nu pasāpini mani - tu jau gribi:

* Visi lauki (izņemot tavu lapu) aizpildāmi obligāti!
E-pasts publiski netiks parādīts.
Zinot vairākumu, komentāros tagi netiek atrādīti kā tagi. Linki automātiski pārveidosies par spiežamiem (cerams).
Bloga īpašnieks patur tiesības ļaunus komentārus dzēst vai pārveidot cilvēkiem patīkamākā formā, bet tajā pašā laikā neatbild par komentāru saturu.