Clean Code

Svaki profesionalni programer treba da nastavi usavršavanje svojih veština nakon završenog kursa ili fakulteta. Ove veštine se ne odnose samo na pisanje koda, već i na organizaciju koda, pristup rešavanju problema, kao i kolaboraciju sa kolegama iz tima. Izučavanjem relevantne literature se mogu steći nova znanja koja unapređuju ove veštine.

Izdvojili smo za vas 5 knjiga koje nisu direktno vezane za tehnologiju u kojoj programer radi, te se znanje iz ovih knjiga može primeniti u bilo kom programskom jeziku. Bez obzira da li ste tek počeli da učite programiranje ili već imate nekog iskustva, ove knjige će unaprediti vaše programerske veštine, doneti nove ideje i doprineti vašem profesionalnom razvoju.

  1. Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

Skoro svaki loše napisan kod može da radi. Problemi nastaju onog trenutka kada tako loše napisan kod treba proširiti sa novim funkcionalnostima, održavati ga dugi niz godina i rešavati probleme koji se javljaju. Naučićete kako da razlikujete dobar kod od lošeg i kako da poboljšate kvalitet problematičnog koda. Na ovaj način, vaš kod će postati čitljiviji i lakši za održavanje, čime se umanjuju troškovi i vreme potrebno za održavanje, a samim tim i produžuje životni vek softvera.

Ova knjiga može biti od koristi programerima, inženjerima, menadžerima i vođama timova. Ona će vam pružiti:

– istraživanje principa čistog koda i agilnih praksi

– studije slučaja za praktičnu primenu principa

– smernice za identifikaciju i poboljšanje kvaliteta koda

– tehnike za pisanje čitljivog, održivog i efikasnog koda

– smernice za profesionalni razvoj

  1. The Pragmatic Programmer (Andrew Hunt, David Thomas)

Autori sa višegodišnjim iskustvom u programiranju su pretočili svoje znanje u knjigu koja daje prednost praktičnim primerima iz realnog sveta u odnosu na teorijske koncepte. Prepuna saveta zasnovanih na iskustvu, knjiga se fokusira na automatizaciju i efektivne prakse u programiranju.

Ova knjiga će vam pružiti:

– savete i praktična iskustva iz programiranja u realnom svetu

– principe razvoja softvera

– primere automatizacije

 

  1. Refactoring: Improving the Design of Existing Code (Martin Fowler)

Refaktorisanje je proces ponovnog pisanja delova programa, bez promene načina njegovog funkcionisanja. Cilj refaktorisanja je unapređivanje čitljivosti koda i prilagođavanja koda lakšem testiranju i održavanju. Knjiga predstavlja katalog tehnika refaktorisanja.

 

Ova knjiga će vam pružiti:

– duboko istraživanje tehnika i principa refaktorisanja

– praktične savete za poboljšanje dizajna i održivosti koda

– savete za poboljšanje veština programiranja

– savete za poboljšanje kvaliteta koda

  1. Introduction to Algorithms (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein)

Autori ove knjige su na zanimljiv i pristupačan način detaljno opisali složene algoritme, čime su obezbedili čitaocima da lakše isprate gradivo u knjizi. Od klasičnih problema do novijih algoritama, knjiga je dobro prilagođena kako studentima, tako i profesionalcima. Pored detaljnih opisa, u knjizi se mogu pronaći i primeri koji doprinose boljem razumevanju algoritama.

Ova knjiga će vam pružiti:

– širok opseg algoritama

– teorijske i praktične aspekte

  1. Design Patterns: Elements of Reusable Object-Oriented Software (Erich Gamma, John Vlissides, Ralph Johnson, Richard Helm)

U ovoj knjizi su predstavljeni šabloni koji daju gotova rešenja za probleme koji se često javljaju prilikom razvoja softvera. Akcenat je na objektno-orijentisanom programiranju. Svaki šablon (a ima ih 23) je detaljno opisan teorijski, zatim je prikazana njegova primena, implementacija, prednosti i mane.

Ova knjiga će vam pružiti:

– katalog sa preko 20 objektno-orijentisanih dizajn šablona

– praktične instrukcije za primenu i implementaciju svakog šablona

– primere iz realnog sveta gde se šabloni koriste

– savete za poboljšanje fleksibilnosti i ponovne upotrebe koda