Pro PHP refactoring – Learn the principles and patterns and tools to improve your PHP code

Beidzot taču jāsāk rakstīt par grāmatām kuras esmu izlasījis. Tad nu pēdējā bija “Pro PHP refactoring”. Uz vāka vēl rakstīts “Learn the principles and patterns and tools to improve your PHP code”. Par to arī ir grāmata. Grāmata ir vidēja biezuma, 360lpp, daudz koda gabalu, tāpēc lasās ātri. Tiek teikts, ka ar grāmatas palīdzību varēsim iemācīties (gribēju tulkot, bet sapratu, ka tulkotu versiju grūtāk uztvert kā angļu):

  • What refactoring is and why you need to refactor code
  • What test-driven design is and why you need to test your code
  • How to write unit and functional tests with PHPUnit and Selenium Remote Control (RC)
  • How to detect “bad smells” in PHP code, and refactor them using test-driven design
  • How to refactor a large procedural application affected by many bad smells

Grūti pateikt vai to visu varēja iemācīties. Jā – ieskats tiek dots pietiekošs, bet nevar izlasot grāmatu uzreiz to visu aptvert. Normāla strādāšana TDD režīmā prasa pamatīgu domāšanas maiņu, ja iepriekš tas nav darīts. Turklāt rakstīt testus tādiem piemēriem kādi ir grāmatā doti ir viena lieta, bet reāliem kodiem ir grūtāk. Lai nu kā, nenoliegšu, TDD garšu var sajust un pareizu pieeju arī var manīt.

Visa grāmata sastāv no aptuveni šāda scenārija: dota problēma, dots risinājums vienā teikumā, dots pamatojums, solis pa solim kā to izdarīt, koda piemērs. Ļoti laba pieeja. Varētu gan nedaudz šur tur piesieties autoru valodai vai izvēlētajiem piemēriem, kā arī gala rezultātam, bet bez tā jau laikam neiztikt katrā grāmatā. Lielākā daļa no grāmtas (~300lpp no 360lpp) nav tieši par PHP, bet ir pielietojams jebkurai OO valodai. Pēdējās 60lpp gan var sajust pamatīgu PHP garšu tā sliktākajā izpausmē. Tur ir dots vecs, nejauks PHP kods. Tāds kurš spēcināts ar SQL injekcijām, HTML nav nodalīts, viss funkcijās un izmētāts pa failiem. Autori dod piemēru kā šo murgu var pārtaisīt relatīvi smukā OO kodā, kurš turklāt tiek automātiski testēts. Sadaļa noderīga, jo labi ilustrē cik ļoti, ļoti liels darbs ir jāveic lai kaut ko tādu kvalitatīvi izdarītu. Kā arī parāda ka tas nav neiespējami.

Vēl piebilde, ja ir lasītas Refactoring: Improving the Design of Existing Code vai Clean Code: A Handbook of Agile Software Craftsmanship tad šī grāmata būs lieka (nu varbūt tikai pēdējās 60lpp noderēs, kur parādīts kā tikt galā ar PHP ķezu). Var just ka autori no abām grāmatām ir krietni ietekmējušies. Ja šīs grāmatas nav lasītas, tad nu tā ir nākamā lasāmviela pēc Pro PHP refactoring.

Padoms – kad grāmata izlasīta, nevajag to likt plauktā. Turi uz galda un pamēģini pielietot dzīvē. T.i. – skaties savu kodu, pamēģini izdomāt kuru no refactoring metodēm tu izmantotu, atšķir grāmatu pārliecinies vai tāda tiešām der, tad ievērojot tur dotos soļus mēģini īstenot. Bez pamatīgas pielietošanas praksē nav jēgas lasīt, pretējā gadījumā ātri vien aizmirsīsies.

Nevaru saprast cik daudz punktus grāmatai dot. Nu labi – lai iet 7 no 10.

Daži reizēm aizmirst, tāpēc: https://endijs.com publicētās informācijas pārpublicēšana bez saskaņošanas ar autoru ir aizliegta. Lūgums respektēt autora/autoru tiesības. Paldies!

Atbildēt

Jūsu e-pasta adrese netiks publicēta.

This site uses Akismet to reduce spam. Learn how your comment data is processed.