{"id":8819,"date":"2019-12-08T20:18:00","date_gmt":"2019-12-08T18:18:00","guid":{"rendered":"https:\/\/programmingpool.com\/book-recommendation-for-coders-ppr-bookclub\/"},"modified":"2026-04-07T12:02:59","modified_gmt":"2026-04-07T09:02:59","slug":"book-recommendation-for-coders-ppr-bookclub","status":"publish","type":"post","link":"https:\/\/programmingpool.com\/ro\/book-recommendation-for-coders-ppr-bookclub\/","title":{"rendered":"Recomand\u0103m c\u0103r\u021bi programatorilor\u2013 PPR BookClub"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8819\" class=\"elementor elementor-8819 elementor-7330\" data-elementor-settings=\"{&quot;page_masthead_image_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:900,&quot;sizes&quot;:[]},&quot;page_masthead_image_height_tablet&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:70,&quot;sizes&quot;:[]},&quot;page_masthead_image_height_mobile&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;page_masthead_background_position_x&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;page_masthead_background_position_x_tablet&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;page_masthead_background_position_x_mobile&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;page_masthead_background_position_y&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;page_masthead_background_position_y_tablet&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;page_masthead_background_position_y_mobile&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;rhye_hide_title_disabled&quot;:&quot;yes&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1000611 e-con-full e-flex e-con e-parent\" data-id=\"1000611\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-457b640 elementor-widget elementor-widget-rhye-widget-content-block\" data-id=\"457b640\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"rhye-widget-content-block.default\">\n\t\t\t\t\t\n\t\t<div class=\"section section-content clearfix  \" data-arts-os-animation=\"true\">\n\t\t\t\t\t\t<div class=\"section-content__inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"section-content__wrapper-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-100\"><\/div>\n\t\t\t\t\t\t\t<div class=\"section-content__text split-text js-split-text\" data-split-text-type=\"lines\" data-split-text-set=\"lines\"><h2>\u201eC\u0103r\u021bile sunt o magie unic\u0103, portabil\u0103,\u201d spune Stephen King, maestrul horrorului, \u0219i \u201e\u2026mintea are nevoie de c\u0103r\u021bi a\u0219a cum o sabie are nevoie de o piatr\u0103 de ascu\u021bit, dac\u0103 vrea s\u0103-\u0219i p\u0103streze t\u0103i\u0219ul.\u201d<\/h2><p>- sugestii de lectur\u0103: George R. R. Martin<\/p><p>\u0218i este adev\u0103rat. Citim c\u0103r\u021bi pentru a c\u0103l\u0103tori \u00een locuri noi \u0219i pentru a tr\u0103i experien\u021be noi. De asemenea, le citim pentru a \u00eenv\u0103\u021ba. S\u0103 \u00eenv\u0103\u021b\u0103m despre dragoste, r\u0103zboi \u0219i cum s\u0103 ne facem treaba, printre altele, corect.   <\/p><p>Fiind o companie de software, \u00eencerc\u0103m continuu s\u0103 ne \u00eembun\u0103t\u0103\u021bim \u0219i s\u0103 evolu\u0103m. Pentru a realiza acest lucru, \u00eencerc\u0103m s\u0103 \u00eenv\u0103\u021b\u0103m de la cei mai buni, iar cititul c\u0103r\u021bilor potrivite este calea ideal\u0103. <\/p><p>Dorim s\u0103 prezent\u0103m trei dintre cele mai recomandate c\u0103r\u021bi pentru dezvoltarea software, astfel \u00eenc\u00e2t \u0219i tu s\u0103 te po\u021bi perfec\u021biona \u0219i \u00eenv\u0103\u021ba:<\/p><h3>3. Code Complete: Un ghid practic pentru construc\u021bia software-ului<\/h3><p>Cartea a fost scris\u0103 de Steven C. McConnell, expert \u00een ingineria software \u0219i managementul proiectelor. Publicat\u0103 \u00een 1993 de Microsoft Press, ea \u00eencurajeaz\u0103 dezvoltatorii s\u0103 dep\u0103\u0219easc\u0103 abordarea \u201ecode-and-fix\u201d, designul masiv de la \u00eenceput \u0219i modelele Waterfall. <\/p><p>De asemenea, ea \u00eenva\u021b\u0103 numeroase tehnici de construc\u021bie a software-ului:<\/p><p> <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9cb4074 e-con-full e-flex e-con e-parent\" data-id=\"9cb4074\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8b4d12 elementor-widget elementor-widget-text-editor\" data-id=\"e8b4d12\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>Proiectarea pentru complexitate minim\u0103 \u0219i creativitate maxim\u0103;<\/li><li>Recapitularea beneficiilor dezvolt\u0103rii colaborative;<\/li><li>Aplicarea tehnicilor de programare defensiv\u0103 pentru a reduce \u0219i elimina erorile;<\/li><li>Valorificarea oportunit\u0103\u021bilor de a refactoriza sau evolua codul \u0219i realizarea acestui lucru \u00een siguran\u021b\u0103;<\/li><li>Folosirea practicilor de construc\u021bie potrivite ca amploare pentru proiectul t\u0103u;<\/li><li>Depanarea problemelor rapid \u0219i eficient;<\/li><li>Rezolvarea timpurie \u0219i corect\u0103 a problemelor critice de construc\u021bie;<\/li><li>\u00cencadrarea calit\u0103\u021bii \u00een \u00eenceputul, mijlocul \u0219i sf\u00e2r\u0219itul proiectului t\u0103u.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-044433f e-con-full e-flex e-con e-parent\" data-id=\"044433f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-648b7d6 elementor-widget elementor-widget-rhye-widget-content-block\" data-id=\"648b7d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"rhye-widget-content-block.default\">\n\t\t\t\t\t\n\t\t<div class=\"section section-content clearfix  \" data-arts-os-animation=\"true\">\n\t\t\t\t\t\t<div class=\"section-content__inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"section-content__wrapper-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-100\"><\/div>\n\t\t\t\t\t\t\t<div class=\"section-content__text split-text js-split-text\" data-split-text-type=\"lines\" data-split-text-set=\"lines\"><h3>2. The Pragmatic Programmer: De la ucenic la maestru<\/h3><p>Scris\u0103 de Andrew Hunt \u0219i David Thomas \u0219i publicat\u0103 \u00een 1999, este o carte influent\u0103 \u00een domeniul ingineriei software.<\/p><p>Cartea analizeaz\u0103 procesul de baz\u0103 \u2013 preluarea unui cerin\u021be \u0219i producerea unui cod func\u021bional \u0219i u\u0219or de \u00eentre\u021binut, care s\u0103 mul\u021bumeasc\u0103 utilizatorii. Temele abordate variaz\u0103 de la dezvoltarea carierei \u0219i responsabilitatea personal\u0103 p\u00e2n\u0103 la tehnici arhitecturale pentru men\u021binerea codului flexibil, u\u0219or de adaptat \u0219i reutilizat. <\/p><p>De asemenea, vei \u00eenv\u0103\u021ba lucruri precum:<\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-70beb62 e-con-full e-flex e-con e-parent\" data-id=\"70beb62\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0f15300 elementor-widget elementor-widget-text-editor\" data-id=\"0f15300\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>Combaterea degrad\u0103rii software-ului;<\/li><li>Evitarea capcanei duplic\u0103rii cuno\u0219tin\u021belor;<\/li><li>Scrierea unui cod flexibil, dinamic \u0219i u\u0219or de adaptat;<\/li><li>Evitarea program\u0103rii la \u00eent\u00e2mplare;<\/li><li>Protejarea codului cu contracte, aser\u021biuni \u0219i excep\u021bii;<\/li><li>Capturarea cerin\u021belor reale;<\/li><li>Testarea riguroas\u0103 \u0219i eficient\u0103;<\/li><li>\u00cenc\u00e2ntarea utilizatorilor t\u0103i;<\/li><li>Formarea echipelor de programatori pragmatici;<\/li><li>Cre\u0219terea preciziei dezvolt\u0103rilor tale prin automatizare.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d993858 e-con-full e-flex e-con e-parent\" data-id=\"d993858\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4664b50 elementor-widget elementor-widget-rhye-widget-content-block\" data-id=\"4664b50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"rhye-widget-content-block.default\">\n\t\t\t\t\t\n\t\t<div class=\"section section-content clearfix  \" data-arts-os-animation=\"true\">\n\t\t\t\t\t\t<div class=\"section-content__inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"section-content__wrapper-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"w-100\"><\/div>\n\t\t\t\t\t\t\t<div class=\"section-content__text split-text js-split-text\" data-split-text-type=\"lines\" data-split-text-set=\"lines\"><h3>1. Clean Code: Un ghid pentru arta dezvolt\u0103rii software agile<\/h3><p>Scris\u0103 de Robert C. Martin, un inginer software \u0219i instructor american, aceast\u0103 carte \u00ee\u021bi va insufla valorile unui me\u0219te\u0219ugar \u00een software \u0219i te va transforma \u00eentr-un programator mai bun.<\/p><p>Cartea este \u00eemp\u0103r\u021bit\u0103 \u00een trei p\u0103r\u021bi. Prima parte descrie principiile, tiparele \u0219i practicile scrierii unui cod curat. A doua parte cuprinde studii de caz de complexitate cresc\u0103toare. A treia parte con\u021bine o list\u0103 de euristici adunate \u00een timpul cre\u0103rii studiilor de caz.   <\/p><p>Citind aceast\u0103 carte, vei \u00eenv\u0103\u021ba cum s\u0103:<\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-859bd3f e-con-full e-flex e-con e-parent\" data-id=\"859bd3f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7caa4f7 elementor-widget elementor-widget-text-editor\" data-id=\"7caa4f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>Faci diferen\u021ba \u00eentre cod bun \u0219i cod r\u0103u;<br> <br> <br> <br><\/li><li>Scrie un cod bun si cum s\u0103 transformi un cod gre\u0219it intr-unul bun;<\/li><li>Genereaz\u0103 denumiri si func\u021bii bune, clase si obiecte potrivite;<\/li><li>Cod formatat pentru lizibilitate<\/li><li>Implementa\u021bi gestionarea complet\u0103 a erorilor f\u0103r\u0103 a ascunde logica codului;<\/li><li>Test de unitate \u0219i dezvoltare bazat\u0103 pe teste practice.<\/li><\/ul><p>Aceasta este lista noastr\u0103 de trei c\u0103r\u021bi pentru a deveni mai buni \u00een dezvoltarea de software.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fed335e e-con-full e-flex e-con e-parent\" data-id=\"fed335e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3bd8c08 elementor-widget elementor-widget-heading\" data-id=\"3bd8c08\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ce carti recomandati?<br><br> <br> <br><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u201eC\u0103r\u021bile sunt o magie unic\u0103, portabil\u0103,\u201d spune Stephen King, maestrul horrorului, \u0219i \u201e\u2026mintea are nevoie de c\u0103r\u021bi precum sabia de o piatr\u0103 de ascu\u021bit, dac\u0103 vrea s\u0103-\u0219i p\u0103streze t\u0103i\u0219ul.\u201d<\/p>\n","protected":false},"author":7,"featured_media":8820,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[136,229,234],"tags":[365,265,270,366,291],"class_list":["post-8819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-perspective","category-resurse","category-training","tag-bookclub","tag-books","tag-code","tag-programmer","tag-software"],"acf":[],"_links":{"self":[{"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/posts\/8819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/comments?post=8819"}],"version-history":[{"count":6,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/posts\/8819\/revisions"}],"predecessor-version":[{"id":10281,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/posts\/8819\/revisions\/10281"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/media\/8820"}],"wp:attachment":[{"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/media?parent=8819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/categories?post=8819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programmingpool.com\/ro\/wp-json\/wp\/v2\/tags?post=8819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}