{"id":908,"date":"2026-08-16T09:39:46","date_gmt":"2026-08-16T09:39:46","guid":{"rendered":"https:\/\/alessioamaro.com\/?p=908"},"modified":"2026-08-16T09:40:01","modified_gmt":"2026-08-16T09:40:01","slug":"quando-il-codice-temporaneo-diventa-permanente","status":"publish","type":"post","link":"https:\/\/alessioamaro.com\/it\/coding\/when-temporary-code-stops-being-temporary\/","title":{"rendered":"Quando il codice \"temporaneo\" diventa permanente"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Non so quante volte ho scritto qualcosa pensando: <em>poi lo sistemo<\/em>. A volte succede davvero. Molte altre volte la funzionalit\u00e0 parte, arriva qualcosa di pi\u00f9 urgente e quel pezzo di codice non proprio bellissimo rimane l\u00ec. Dopo un po&#8217; nessuno lo considera pi\u00f9 temporaneo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E secondo me non significa necessariamente aver lavorato male. Il software viene sviluppato nel mondo reale, con scadenze, cambi di requisiti e problemi che magari vanno risolti oggi, non quando avremo trovato l&#8217;architettura perfetta. Anche perdere tre giorni per rendere elegantissima una cosa che forse tra una settimana verr\u00e0 eliminata non mi sembra esattamente una grande idea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il divertimento arriva mesi dopo. Trovi un <code>if<\/code> che apparentemente non serve a nulla, lo togli e improvvisamente si rompe qualcosa dall&#8217;altra parte dell&#8217;applicazione. Vai a vedere la cronologia e scopri che era stato aggiunto per risolvere un problema specificissimo che ormai nessuno ricorda. Il codice magari \u00e8 anche semplice. Quello che manca \u00e8 il motivo per cui esiste.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per questo negli anni ho iniziato ad apprezzare molto di pi\u00f9 il contesto. Un commento che mi dice semplicemente cosa fa una funzione spesso non mi serve: posso leggere il codice. Mi interessa molto di pi\u00f9 sapere <strong>perch\u00e9<\/strong> \u00e8 stata scelta quella soluzione strana invece di quella ovvia. A volte una riga di commento o un riferimento a una issue risparmia ore di investigazione in futuro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con l&#8217;AI questa cosa secondo me diventa ancora pi\u00f9 importante. Oggi possiamo produrre parecchio codice funzionante in pochissimo tempo, ed \u00e8 un vantaggio enorme. Per\u00f2 \u201cfunziona\u201d e \u201cso perch\u00e9 funziona\u201d rimangono due cose diverse. Se devo mantenere quel codice per anni, almeno le parti importanti voglio capirle. Altrimenti sto semplicemente spostando il problema pi\u00f9 avanti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non credo molto nel codice perfetto. Preferisco codice comprensibile, anche con qualche imperfezione, piuttosto che una soluzione geniale che dopo sei mesi nessuno ha il coraggio di modificare. Le scorciatoie esisteranno sempre. Basta lasciare qualche briciola di pane a chi dovr\u00e0 ritrovarle in futuro. Anche perch\u00e9, molto probabilmente, quel poveraccio saremo noi stessi.<\/p>","protected":false},"excerpt":{"rendered":"<p>Le soluzioni temporanee hanno una strana tendenza a sopravvivere per anni. Il problema non \u00e8 scrivere codice imperfetto. Il problema arriva quando nessuno ricorda pi\u00f9 perch\u00e9 esiste quella soluzione, ma tutti hanno paura di toccarla.<\/p>","protected":false},"author":1,"featured_media":909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[21],"tags":[],"class_list":["post-908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>When Temporary Code Stops Being Temporary<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/alessioamaro.com\/it\/coding\/quando-il-codice-temporaneo-diventa-permanente\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"When Temporary Code Stops Being Temporary\" \/>\n<meta property=\"og:description\" content=\"Temporary code has a bad habit of sticking around. The real problem is not that the code is ugly, but that months later nobody remembers why it was written that way in the first place.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/alessioamaro.com\/it\/coding\/quando-il-codice-temporaneo-diventa-permanente\/\" \/>\n<meta property=\"og:site_name\" content=\"Alessio Amaro\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-16T09:39:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-16T09:40:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alessio A\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alessio A\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/\"},\"author\":{\"name\":\"Alessio A\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/#\\\/schema\\\/person\\\/0d2efe75925afab610e4fcceeb49fdb3\"},\"headline\":\"When Temporary Code Stops Being Temporary\",\"datePublished\":\"2026-08-16T09:39:46+00:00\",\"dateModified\":\"2026-08-16T09:40:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/\"},\"wordCount\":659,\"publisher\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/#\\\/schema\\\/person\\\/0d2efe75925afab610e4fcceeb49fdb3\"},\"image\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/temporarycode.png\",\"articleSection\":[\"Coding\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/\",\"url\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/\",\"name\":\"When Temporary Code Stops Being Temporary\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/temporarycode.png\",\"datePublished\":\"2026-08-16T09:39:46+00:00\",\"dateModified\":\"2026-08-16T09:40:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#primaryimage\",\"url\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/temporarycode.png\",\"contentUrl\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/temporarycode.png\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/coding\\\/when-temporary-code-stops-being-temporary\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/alessioamaro.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"When Temporary Code Stops Being Temporary\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/#website\",\"url\":\"https:\\\/\\\/alessioamaro.com\\\/\",\"name\":\"Alessio Amaro\",\"description\":\"Digital Product Creator\",\"publisher\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/#\\\/schema\\\/person\\\/0d2efe75925afab610e4fcceeb49fdb3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/alessioamaro.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/#\\\/schema\\\/person\\\/0d2efe75925afab610e4fcceeb49fdb3\",\"name\":\"Alessio A\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/logo-color.png\",\"url\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/logo-color.png\",\"contentUrl\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/logo-color.png\",\"width\":768,\"height\":768,\"caption\":\"Alessio A\"},\"logo\":{\"@id\":\"https:\\\/\\\/alessioamaro.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/logo-color.png\"},\"sameAs\":[\"https:\\\/\\\/alessioamaro.com\"],\"url\":\"https:\\\/\\\/alessioamaro.com\\\/it\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Quando il codice \"temporaneo\" diventa permanente","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/alessioamaro.com\/it\/coding\/quando-il-codice-temporaneo-diventa-permanente\/","og_locale":"it_IT","og_type":"article","og_title":"When Temporary Code Stops Being Temporary","og_description":"Temporary code has a bad habit of sticking around. The real problem is not that the code is ugly, but that months later nobody remembers why it was written that way in the first place.","og_url":"https:\/\/alessioamaro.com\/it\/coding\/quando-il-codice-temporaneo-diventa-permanente\/","og_site_name":"Alessio Amaro","article_published_time":"2026-08-16T09:39:46+00:00","article_modified_time":"2026-08-16T09:40:01+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png","type":"image\/png"}],"author":"Alessio A","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Alessio A","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#article","isPartOf":{"@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/"},"author":{"name":"Alessio A","@id":"https:\/\/alessioamaro.com\/#\/schema\/person\/0d2efe75925afab610e4fcceeb49fdb3"},"headline":"When Temporary Code Stops Being Temporary","datePublished":"2026-08-16T09:39:46+00:00","dateModified":"2026-08-16T09:40:01+00:00","mainEntityOfPage":{"@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/"},"wordCount":659,"publisher":{"@id":"https:\/\/alessioamaro.com\/#\/schema\/person\/0d2efe75925afab610e4fcceeb49fdb3"},"image":{"@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#primaryimage"},"thumbnailUrl":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png","articleSection":["Coding"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/","url":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/","name":"Quando il codice \"temporaneo\" diventa permanente","isPartOf":{"@id":"https:\/\/alessioamaro.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#primaryimage"},"image":{"@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#primaryimage"},"thumbnailUrl":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png","datePublished":"2026-08-16T09:39:46+00:00","dateModified":"2026-08-16T09:40:01+00:00","breadcrumb":{"@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#primaryimage","url":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png","contentUrl":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/alessioamaro.com\/coding\/when-temporary-code-stops-being-temporary\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/alessioamaro.com\/"},{"@type":"ListItem","position":2,"name":"When Temporary Code Stops Being Temporary"}]},{"@type":"WebSite","@id":"https:\/\/alessioamaro.com\/#website","url":"https:\/\/alessioamaro.com\/","name":"Alessio Amaro","description":"Digital Product Creator","publisher":{"@id":"https:\/\/alessioamaro.com\/#\/schema\/person\/0d2efe75925afab610e4fcceeb49fdb3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alessioamaro.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":["Person","Organization"],"@id":"https:\/\/alessioamaro.com\/#\/schema\/person\/0d2efe75925afab610e4fcceeb49fdb3","name":"Alessio A","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/logo-color.png","url":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/logo-color.png","contentUrl":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/logo-color.png","width":768,"height":768,"caption":"Alessio A"},"logo":{"@id":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/logo-color.png"},"sameAs":["https:\/\/alessioamaro.com"],"url":"https:\/\/alessioamaro.com\/it\/author\/admin\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/alessioamaro.com\/wp-content\/uploads\/2026\/08\/temporarycode.png","_links":{"self":[{"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/posts\/908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/comments?post=908"}],"version-history":[{"count":1,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/posts\/908\/revisions"}],"predecessor-version":[{"id":910,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/posts\/908\/revisions\/910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/media\/909"}],"wp:attachment":[{"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/media?parent=908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/categories?post=908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessioamaro.com\/it\/wp-json\/wp\/v2\/tags?post=908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}