Pragmatični programer – Poglavlje 2 (Pragmatični pristup)

Odlučili smo se za cijelo drugo poglavlje ovaj put. Biće da smo možda uzeli preveliki zalogaj jer su autori “nabacali” mnogo toga o čemu treba veoma dobro promisliti. Zbog svega toga je nemoguće u jednom članku iznijeti viđenje cijelog poglavlja i u nastavku se daje svega par crtica uz mapu uma koju smo pravili tokom čitanja poglavlja – nadamo se da će nekome biti od velike koristi. Također se nadamo da ta mapa uma neće predstavljati problem nikome od naših kolega informatičara jer je pisana na engleskom jeziku.

Mapa uma

Postoj jako mnogo predložaka mapa uma kod čitanja knjiga. To svakako zavisi koja vrta knjiga se čita, ali i da li se knjiga čita samo za sebe ili se čita zbog drugih, kao npr u nekom klubu knjige. Podijelili smo sve u neke logičke cjeline i u nastavku se daje kratak opis s par crtica iz predmetnog poglavlja.

Šta sam naučio iz ovog poglavlja

Ovdje smo upisivali nove stvari koje smo saznali čitajući poglavlje knjige (i svakako istražujući druge knjige i internet za pobliža objašnjenja zbog boljeg razumijevanja), te neke stare stvari s novim ili starim objašnjenjima. Bez obzira da li nešto bilo novo ili staro za nas, unijeli smo u mapu, kako bi se kasnije mogli podsjetiti šta smo čitali, ali i drugom čitaocu mape da zna šta se sve nalazi u poglavlju. Par stavki koje smo naučili su:

  • Pure functions
  • ETC – Easier To Change
  • Values
  • DRY – Don’t Repeat Yourself
  • Duplication
  • Cohesion
  • Orthogonality

Stvari koje bih trebao detaljnije istražiti

Mnogo je spomenutih stvari koje smo istražili tokom čitanja poglavlja, ali je svakako i određeni broj onih kojima je potrebno posvetiti dodatno vrijeme i pažnju za bolje razumijevanje. Neke od tih stvari su:

  • Anemic and Rich Domain Model
  • ACID – Atomicity, Consistency, Isolation, Durability
  • Dark Deployment

Relevatne priče i primjeri

Slično kao u poglavlju iznad s stvarima koje trebamo istražiti, ovdje smo nabrojali neke stvari koje smo već istražili. Doduše nismo dodavali nikakve primjere ovaj put, ali smo zadovoljni naslovom, pa smo ga zadržali. Neke od stvari koje smo istražili, a relevantne su za predmetno poglavlje su:

  • KISS – Keep It Simple Stupid
  • YAGNI – You Aren’t Gonna Need It

Različit stav

U okviru ovog poglavlja ideja je da unesemo sve ono s čim se ne slažemo s autorom. Ono što smo mi vidjeli u okviru ovog poglavlja (slično kao i s većinom knjiga iz oblasti informatičkog menadžmenta) jeste to da ljudi imaju različite intelektualne i svake druge sposobnosti, a koje nisu uzimane u obzir. Također, polazne tačke su različite, ali svakako i okruženje u kom žive (političko, ekonomsko, ekološko, …). Zbog toga smo dodali dvije stavke koje uopšte nisu obrađivane u knjizi, a koje smatramo veoma važnim i to:

  • Analysis Paralysis, koji može da izazove
  • Burnout

Pitanja za autora

Kada bismo bili u situaciji da upoznamo autora i imamo dovoljno vremena da popričano o knjizi, šta bismo ga pitali. To svakako može biti i nešto što je suprotno od stavova iznešenih u knjizi kao u poglavlju iznad ili pak zbog dobijanja dodatnih informacija. Za ovu priliku mi smo se odlučili za:

  • Why not mentions the opposite meaning in the Book, like for DRY?
  • Examples of duplication code but still following DRY principle

Šta je glavna ideja ovog poglavlja

Naravno, u većini knjiga autor sam ponudi ideju poglavlja. Ono o čemu piše i izlaže. Međutim, čitalac može imati svoju vlastitu perspektivu. Za nas je to između ostalog i:

  • A thing is well designed if it adapts to the people who use it

Kako bi ja ovo napisao

Ako bismo se odlučili da mi napišemo knjigu ili poglavlje ili pak dio poglavlja, kako bismo to mi učinili je dio ovog pitanja.

Obzirom da se bavimo inžinjerstvom i da svi inžinjeri vole praktične primjere, bez previše teoretiziranja, (Čak i kada je čisti tekst, on mora biti opis kroz primjere, pa stoga to i nije teoretiziranje) to bismo baš voljeli vidjeti u ovom poglavlju. Dodati što je moguće više primjera, ali ne bilo kakvih! Onih s suprotnim mišljenjima i stavovima. To je jedan od najboljih načina učenja, ako ne i najbolji.

  • I will add better examples with opposite meaning for better understanding – the contrast in learning

Izazovi poglavlja

Ovo poglavlje ne može imati svaka knjiga. Čak šta više, ne sjećamo se kada smo zadnji put čitali knjigu u kojoj postoje izazovi. Viđali smo zadatke, primjere i slične stvari, ali izazove ne. Već smo spomenuli u uvodnom postu da će bit izazova kroz sva poglavlja. Za prošli put (prvo poglavlje knjige) izabrali smo:

  • početi učiti jedan novi programski jezik još ove ili već naredne sedmice

Kada je u pitanju ovo poglavlje, izazova je mnogo, a za ovaj članak izdvajamo:

  • Schrödinger’s cat

Primjeri poglavlja

Kao što poglavlja knjige imaju izazove imaju također i (razrađene) primjere uz pomoć kojih autor pokušava da približi ono o čemu govori. Za ovu priliku izdvajamo:

  • Primjer 3 – Potrebno je u 15 minuta pokazati “slikovito” klijentu šta će se praviti i kako će stvari izgledati

Izazovi za mene

I na kraju, ali ne manje važno, stvari koje bismo sami željeli probati, a usko su povezane s poglavljem knjige koje se čita. Ima tu svakako mnogo stvari za naučiti, istražiti, uraditi, ali izazovi su posebna vrsta učenja i istraživanja – oni s adrenalinom. Za ovu priliku izdavajom:

  • Git hooks (ETC) – Ubaciti kuku u git, da pri svakom commit ili push izbaci pitanje da li se vodilo računa o ETCEasy To Change principu

Mapa uma

Kako rekosmo na početku, jako je mnogo stvari obrađivano u ovom poglavlju, pa je i mapa uma veoma velika. Ako bismo ubacili sliku ovdje, vjerovatno se ništa ne bi vidjelo, zbog toga dijelimo s vama link na read-only mapu uma koju svakako možete sebi kopirati i s njom dalje raditi šta vam volja. Nadamo se da to i hoćete učiniti.

Link ka mapi uma – moguće je izabrati različite vrste pregleda. Pokušajte.

0

Hits: 130