{"id":2940,"date":"2012-02-08T23:53:48","date_gmt":"2012-02-08T22:53:48","guid":{"rendered":"https:\/\/www.fullo.net\/blog\/?p=2940"},"modified":"2012-02-09T00:33:03","modified_gmt":"2012-02-08T23:33:03","slug":"sulla-riusabilita-del-codice","status":"publish","type":"post","link":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","title":{"rendered":"Sulla riusabilit\u00e0 del codice"},"content":{"rendered":"<p>Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice.<\/p>\n<p>Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;<a href=\"http:\/\/www.agileday.it\">Agile Day<\/a> di Roma, mi \u00e8 stato chiesto se in ideato <em>reinventavamo la ruota<\/em> ogni volta e per ogni progetto. In quell&#8217;occasione la mia risposta, data di getto e senza pensarci troppo, fu: &#8220;<em>utilizzeresti del codice (anche tuo) scritto 4 anni fa?<\/em>&#8220;. Il principio di base \u00e8 che in 4 anni la tecnologia (sul web) evolve tantissimo, ed allo stesso modo evolvono le competenze dei team, riutilizzare quindi codice obsoleto e potenzialmente legacy non fa altro che limitare le potenzialit\u00e0 di uno sviluppatore (riducendo in alcuni casi la qualit\u00e0 globale del progetto).<\/p>\n<p><!--more--><\/p>\n<p>Da li in avanti \u00e8 stato un susseguirsi di discussioni sull&#8217;argomento in azienda su come interpretarlo al fine da ridurre gli sprechi e, contemporaneamente, non indurre una eccessiva complessit\u00e0 nei basecode che vengono gestiti.<\/p>\n<p><strong>La mia opinione \u00e8 che, <em>macroscopicamente<\/em>, la riusabilit\u00e0 del codice, in un breve lasso di tempo (diciamo 1-2 anni), sia da incentivare.<\/strong><\/p>\n<p>Macroscopicamente significa per\u00f2 che vada incentivata per quella classe di strumenti che aiutano a scrivere codice (framework, CMF o set di librerie) facilitando, di conseguenza, la condivisione del knowhow e delle metodologie di lavoro all&#8217;interno del gruppo di lavoro. La scelta per\u00f2 di voler riutilizzare a tutti i costi un metodo, una classe, un particolare modello o un tool ben preciso \u00e8 da sconsigliare perch\u00e8 implica il voler forzare uno strumento a fare qualcosa per cui non \u00e8 stato, inizialmente, concepito. <\/p>\n<p>L&#8217;esempio pi\u00f9 banale \u00e8 quello di voler usare per ogni cliente un unico CMS (quindi uno strumento gi\u00e0 specializzato in qualcosa). In questo caso il lavoro di personalizzazione di un modulo di pubblicazione di una pagina pu\u00f2 risultare molto pi\u00f9 costoso che limitarsi a fare uno scaffolding dei modelli da gestire che con semplici pagine hanno ben poco da spartire. <strong>Il codice riutilizzato forzatamente crea spreco e complessit\u00e0 invece che dare un vantaggio effettivo.<\/strong><\/p>\n<p>Quindi, penso che, il vero concetto che debba passare sia della <strong>riusabilit\u00e0 della conoscenza<\/strong>. <\/p>\n<p>Cos\u00ec come i <a href=\"http:\/\/it.wikipedia.org\/wiki\/Design_pattern\">design pattern della GoF<\/a> aiutano ad affrontare schematicamente problemi ben noti, allo stesso modo, acquisita una certa compentenza su una particolare classe di problemi \u00e8 importante utilizzare quest&#8217;ultima per definire nuovi <em>application pattern<\/em> che possano essere utilizzati a loro volta per risolvere problemi attigui.<\/p>\n<p>Un esperimento del genere fu fatto nel 2009 da Yahoo! che nel proprio Developer Network cerc\u00f2 di raccogliere <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/\">pattern per il design di applicazioni<\/a> utili alla definizione di funzionalit\u00e0 per rappresentare\/definire concetti di <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/social\/people\/reputation\/\">reputazione<\/a>, <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/social\/people\/engagement\/index.html\">engagement<\/a> o anche semplicemente <a href=\"http:\/\/developer.yahoo.com\/ypatterns\/navigation\/pagination\/index.html\">paginazione dei dati<\/a> (altro esempio molto interessante di <a href=\"http:\/\/www.welie.com\/patterns\/index.php\">archivio di design pattern<\/a> \u00e8 quello di Welie). <\/p>\n<p>Il semplice design pattern per\u00f2 \u00e8 troppo limitato per uno sviluppatore e dovrebbe racchiudere anche un po&#8217; di informazioni utili all&#8217;implementazione di codice, una buona soluzione potrebbe quindi essere quella di sfruttare i pattern esistenti definendone per\u00f2 anche esempi di codice. Prendendo il design pattern dello &#8220;<a href=\"http:\/\/www.welie.com\/patterns\/showPattern.php?patternID=store-locator\">store locator<\/a>&#8221; l&#8217;informazione essenziale per lo sviluppatore, pi\u00f9 che la forma che il widget dovr\u00e0 assumere, \u00e8 sapere che le funzionalit\u00e0 di calcolo della vicinanza tra due punti sfruttano le librerie geospaziali presenti in molti database (MySQL, Postgres o MongoDB) o che l&#8217;intorno di un dato punto \u00e8 calcolato usando funzioni trigonometriche. Con queste poche dritte (magari affiancate da link a risorse pi\u00f9 esaustive o a codice pre-esistente fatto in casa) si riescono a ridurre ore di ricerce su internet e stress per esempi non utili o inapplicabili.<\/p>\n<p>Definire un application pattern come quello per lo &#8220;<em>store locator<\/em>&#8221; comune a tutto il team di sviluppo, faciliter\u00e0 l&#8217;identificazione del problema, della risoluzione e delle possibili implementazioni. Riducendo, non tanto il tempo di scrittura del codice, quanto quello di ricerca di una soluzione ottimale ed il numero di implementazioni radicalmente diverse.<\/p>\n<p>Che ne dite?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice. Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;Agile Day di Roma, mi \u00e8 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[16,4,12],"tags":[2110,137,2166],"class_list":["post-2940","post","type-post","status-publish","format-standard","hentry","category-lifehack","category-pensieri","category-webdev","tag-lean","tag-pattern","tag-reuse"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sulla riusabilit\u00e0 del codice - Fullo<\/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:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sulla riusabilit\u00e0 del codice - Fullo\" \/>\n<meta property=\"og:description\" content=\"Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice. Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;Agile Day di Roma, mi \u00e8 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/\" \/>\n<meta property=\"og:site_name\" content=\"Fullo\" \/>\n<meta property=\"article:published_time\" content=\"2012-02-08T22:53:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-02-08T23:33:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2021\/05\/FB_IMG_1515748807284.jpg?fit=1453%2C1453&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1453\" \/>\n\t<meta property=\"og:image:height\" content=\"1453\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Francesco Fullone\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fullo\" \/>\n<meta name=\"twitter:site\" content=\"@fullo\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Francesco Fullone\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\"},\"author\":{\"name\":\"Francesco Fullone\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\"},\"headline\":\"Sulla riusabilit\u00e0 del codice\",\"datePublished\":\"2012-02-08T22:53:48+00:00\",\"dateModified\":\"2012-02-08T23:33:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\"},\"wordCount\":654,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\"},\"keywords\":[\"lean\",\"pattern\",\"reuse\"],\"articleSection\":[\"lifehack\",\"pensieri\",\"webdev\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\",\"url\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\",\"name\":\"Sulla riusabilit\u00e0 del codice - Fullo\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#website\"},\"datePublished\":\"2012-02-08T22:53:48+00:00\",\"dateModified\":\"2012-02-08T23:33:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/2012\\\/02\\\/08\\\/sulla-riusabilita-del-codice\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sulla riusabilit\u00e0 del codice\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/\",\"name\":\"Fullo\",\"description\":\"nulla e&#039; impossibile per chi non lo deve fare!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/#\\\/schema\\\/person\\\/24e91bc6caea6c411a8668df5639428c\",\"name\":\"Francesco Fullone\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\",\"width\":622,\"height\":622,\"caption\":\"Francesco Fullone\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.fullo.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/www.fullo.net\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fullo\",\"https:\\\/\\\/x.com\\\/fullo\"],\"url\":\"https:\\\/\\\/www.fullo.net\\\/blog\\\/author\\\/fullo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sulla riusabilit\u00e0 del codice - Fullo","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:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","og_locale":"it_IT","og_type":"article","og_title":"Sulla riusabilit\u00e0 del codice - Fullo","og_description":"Passando molto pi\u00f9 tempo a gestire la (follia della) gente che sul codice ho iniziato a rivedere alcuni concetti a me cari durante la mia precedente, e forse futura, vita da sviluppatore. Uno di questi \u00e8 la riusabilit\u00e0 del codice. Il primo tarlo sull&#8217;argomento si \u00e8 presentato quando, durante l&#8217;Agile Day di Roma, mi \u00e8 [&hellip;]","og_url":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","og_site_name":"Fullo","article_published_time":"2012-02-08T22:53:48+00:00","article_modified_time":"2012-02-08T23:33:03+00:00","og_image":[{"width":1453,"height":1453,"url":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2021\/05\/FB_IMG_1515748807284.jpg?fit=1453%2C1453&ssl=1","type":"image\/jpeg"}],"author":"Francesco Fullone","twitter_card":"summary_large_image","twitter_creator":"@fullo","twitter_site":"@fullo","twitter_misc":{"Scritto da":"Francesco Fullone","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#article","isPartOf":{"@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/"},"author":{"name":"Francesco Fullone","@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c"},"headline":"Sulla riusabilit\u00e0 del codice","datePublished":"2012-02-08T22:53:48+00:00","dateModified":"2012-02-08T23:33:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/"},"wordCount":654,"commentCount":4,"publisher":{"@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c"},"keywords":["lean","pattern","reuse"],"articleSection":["lifehack","pensieri","webdev"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","url":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/","name":"Sulla riusabilit\u00e0 del codice - Fullo","isPartOf":{"@id":"https:\/\/www.fullo.net\/blog\/#website"},"datePublished":"2012-02-08T22:53:48+00:00","dateModified":"2012-02-08T23:33:03+00:00","breadcrumb":{"@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.fullo.net\/blog\/2012\/02\/08\/sulla-riusabilita-del-codice\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fullo.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Sulla riusabilit\u00e0 del codice"}]},{"@type":"WebSite","@id":"https:\/\/www.fullo.net\/blog\/#website","url":"https:\/\/www.fullo.net\/blog\/","name":"Fullo","description":"nulla e&#039; impossibile per chi non lo deve fare!","publisher":{"@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fullo.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":["Person","Organization"],"@id":"https:\/\/www.fullo.net\/blog\/#\/schema\/person\/24e91bc6caea6c411a8668df5639428c","name":"Francesco Fullone","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1","url":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1","width":622,"height":622,"caption":"Francesco Fullone"},"logo":{"@id":"https:\/\/i0.wp.com\/www.fullo.net\/blog\/wp-content\/uploads\/2024\/10\/hawiaina-gold-circled-white.png?fit=622%2C622&ssl=1"},"sameAs":["http:\/\/www.fullo.net","https:\/\/www.linkedin.com\/in\/fullo","https:\/\/x.com\/fullo"],"url":"https:\/\/www.fullo.net\/blog\/author\/fullo\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3OSc1-Lq","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":2226,"url":"https:\/\/www.fullo.net\/blog\/2007\/03\/01\/symfony-10-ed-ajax\/","url_meta":{"origin":2940,"position":0},"title":"Symfony 1.0 ed Ajax","author":"Francesco Fullone","date":"01\/03\/2007","format":false,"excerpt":"E' finalmente stata rilasciata la prima versione stabile di Symfony 1.0. Noto application framework per PHP 5 di cui ho gi\u00e0 discusso pi\u00f9 volte e che ho iniziato ad usare attivamente nell'ultimo mese e mezzo grazie ad un lavoro con Ciccio (mio guru sull'argomento). Tra le magie di questa versione,\u2026","rel":"","context":"In &quot;ajax&quot;","block_context":{"text":"ajax","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/ajax\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1831,"url":"https:\/\/www.fullo.net\/blog\/2005\/12\/30\/php-e-programmazione-fluente\/","url_meta":{"origin":2940,"position":1},"title":"PHP e programmazione fluente","author":"Francesco Fullone","date":"30\/12\/2005","format":false,"excerpt":"Leggo con un certo interesse del nuovo meme di planet-php, cio\u00e8 dell'uso di interfacce fluent. A seguire un piccolo tutorial su come utilizzarle. In cosa consistono le interfaccie fluent? Detto in maniera semplice si tratta del principio di method chaining di linguaggi come SmallTalk che comporta l'esecuzione metodi in cascata\u2026","rel":"","context":"In &quot;php&quot;","block_context":{"text":"php","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1621,"url":"https:\/\/www.fullo.net\/blog\/2005\/09\/02\/addio-mambo-benvenuto-joomla\/","url_meta":{"origin":2940,"position":2},"title":"Addio Mambo&#8230; Benvenuto Joomla!","author":"Francesco Fullone","date":"02\/09\/2005","format":false,"excerpt":"Come alcuni di voi sapranno gli sviluppatori di Mambo Open Source hanno abbandonato il progetto a causa della direzione intrapresa da Miro, la societ\u00e0 che ne deteneva i diritti commerciali. Gli sviluppatori, forti dell'appoggio di tutta la comunit\u00e0 di utenti, hanno deciso di proseguire comunque lo sviluppo con un nuovo\u2026","rel":"","context":"In &quot;open source&quot;","block_context":{"text":"open source","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/open-source\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2760,"url":"https:\/\/www.fullo.net\/blog\/2010\/08\/24\/flussi-e-riflussi-la-qagile-dei-processi-di-sviluppo\/","url_meta":{"origin":2940,"position":3},"title":"Flussi e riflussi: la QA(gile) dei processi di sviluppo","author":"Francesco Fullone","date":"24\/08\/2010","format":false,"excerpt":"Quality assurance, or QA for short, refers to a program for the systematic monitoring and evaluation of the various aspects of a project, service, or facility to ensure that standards of quality are being met. fonte wikipedia Sar\u00e0 che sono sempre stato abbastanza sensibile all'argomento (vedi anche il mio ultimo\u2026","rel":"","context":"In &quot;lifehack&quot;","block_context":{"text":"lifehack","link":"https:\/\/www.fullo.net\/blog\/category\/di-tutto-un-po\/lifehack\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2509,"url":"https:\/\/www.fullo.net\/blog\/2008\/12\/11\/wordpress-27-coltran\/","url_meta":{"origin":2940,"position":4},"title":"WordPress 2.7, qualche considerazione per i non sviluppatori","author":"Francesco Fullone","date":"11\/12\/2008","format":false,"excerpt":"Dopo mesi di annunci, alfa, beta, rc \u00e8 finalmente arrivato WordPress 2.7 Coltrane. Questa nuova versione del blog-cms ha visto un notevole lavoro dietro alla nuova interfaccia di backend, lavoro che ha coinvolto decine di sviluppatori, consulenti di usabilit\u00e0 e designer. E che ha portato come risultato finale una dashboard\u2026","rel":"","context":"In &quot;open source&quot;","block_context":{"text":"open source","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/open-source\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2366,"url":"https:\/\/www.fullo.net\/blog\/2007\/11\/21\/form-ajax-degradabili-con-jquery-e-jqueryform\/","url_meta":{"origin":2940,"position":5},"title":"Form Ajax &#8220;degradabili&#8221; con JQuery e JQuery.Form","author":"Francesco Fullone","date":"21\/11\/2007","format":false,"excerpt":"La degradazione del codice \u00e8 un po' il mio cavallo di battaglia quando discuto con sviluppatori \"ajax-centrici\" che preferiscono puntare sull'effetto di un fade che sulla usabilit\u00e0\/accessibilit\u00e0 dell'applicazione anche su browser datati o con javascript bloccato (ie. cellulari). La libreria JQuery si \u00e8, in pi\u00f9 occasioni, dimostrata ottima per la\u2026","rel":"","context":"In &quot;ajax&quot;","block_context":{"text":"ajax","link":"https:\/\/www.fullo.net\/blog\/category\/tecnologia\/ajax\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts\/2940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/comments?post=2940"}],"version-history":[{"count":16,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts\/2940\/revisions"}],"predecessor-version":[{"id":2956,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/posts\/2940\/revisions\/2956"}],"wp:attachment":[{"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/media?parent=2940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/categories?post=2940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fullo.net\/blog\/wp-json\/wp\/v2\/tags?post=2940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}