{"id":230903,"date":"2022-12-04T19:43:00","date_gmt":"2022-12-04T16:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230903"},"modified":"2022-11-10T00:31:54","modified_gmt":"2022-11-09T21:31:54","slug":"qual-e-lo-scopo-di-un-boilerplate","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/qual-e-lo-scopo-di-un-boilerplate\/","title":{"rendered":"Qual \u00e8 lo scopo di un boilerplate?"},"content":{"rendered":"\n<p>Indipendentemente dalla libreria, dal framework o dal codice con cui lavori, probabilmente incontrerai il concetto di standard ad un certo punto.<\/p>\n<p>Ce ne sono una manciata <strong><a href=\"https:\/\/wppb.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">per WordPress<\/a><\/strong>, giusto \ud83d\ude43?<\/p>\n<p>Ma sembra essere una tendenza sempre pi\u00f9 popolare che le persone creino sempre pi\u00f9 boilerplate, il che non \u00e8 intrinsecamente una cosa negativa, ma che potrebbe esserci confusione sullo scopo di un boilerplate.<\/p>\n<p>Foto di NeONBRAND su Unsplash<\/p>\n<p>Quindi, <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Boilerplate_code\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">come definito da Wikipedia<\/a><\/strong> (che penso offra un&#8217;ottima definizione):<\/p>\n<blockquote>\n<p>Nella programmazione del computer, <strong>il codice boilerplate<\/strong> o <strong>boilerplate<\/strong> si riferisce a sezioni di codice che devono essere incluse in molti punti con poche o nessuna alterazione. Viene spesso utilizzato quando si fa riferimento a linguaggi considerati dettagliati, ovvero il programmatore deve scrivere molto codice per eseguire lavori minimi.<\/p>\n<\/blockquote>\n<p>Ma nota che c&#8217;\u00e8 una frase da non perdere. Nello specifico:<\/p>\n<blockquote>\n<p>&#8230;che devono essere incluse in molti posti con poche o nessuna alterazione.<\/p>\n<\/blockquote>\n<p>E in alcune osservazioni che ho visto all&#8217;interno dell&#8217;economia di WordPress, almeno, i boilerplate sembrano richiedere che il codice venga rimosso, modificato o rimosso piuttosto che semplicemente incluso o aggiunto.<\/p>\n<p>Questo \u00e8 ci\u00f2 che spero di chiarire.<\/p>\n<h2>Lo scopo di un boilerplate<\/h2>\n<p>Come definito in precedenza, lo scopo di un boilerplate \u00e8, pi\u00f9 o meno, quello di fornire codice in un progetto che preveda modifiche minime o nulle.<\/p>\n<p>Nella mia mente, ci\u00f2 significa che \u00e8 una base di codice che possiamo inserire in qualsiasi progetto e iniziare a costruire la nostra soluzione. \u00c8 un po&#8217; come una libreria drop-in, forse, tranne per il fatto che fornisce un livello di funzionalit\u00e0 come interfacce, classi astratte e cos\u00ec via che possiamo usare.<\/p>\n<h3>Antipasti<\/h3>\n<p>In secondo luogo, penso che confondiamo anche i termini pacchetti di avvio, librerie e boilerplate in modo tale che siano tutti intercambiabili quando in realt\u00e0 non lo sono.<\/p>\n<p>Ad esempio, guarda i segni di <strong><a href=\"http:\/\/underscores.me\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sottolineatura<\/a><\/strong>. \u00c8 pensato per essere un tema iniziale per lo sviluppo di temi WordPress, ma ci sono molti aspetti che possono essere eliminati durante la creazione di un tema.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163076-61e749a628e29.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163076-61e749a628e29.png\" alt=\"Qual \u00e8 lo scopo di un boilerplate?\" ><\/a><\/p>\n<p>Ci\u00f2 non significa che sia male. Anzi.<\/p>\n<p>Ma per questo motivo, direi che \u00e8 un tema iniziale proprio come descrivono (e non un tema standard come alcuni lo chiamano) proprio per il motivo sopra.<\/p>\n<h3>Biblioteche<\/h3>\n<p>In terzo luogo, vedo che le librerie devono essere binari o librerie precompilate che siamo in grado di aggiungere al nostro progetto che aggiungono funzionalit\u00e0 complete senza che sia necessario scrivere nulla.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163076-61e749aadc911.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163076-61e749aadc911.jpg\" alt=\"Qual \u00e8 lo scopo di un boilerplate?\" ><\/a><\/p>\n<p>Foto di Pankaj Patel su Unsplash<\/p>\n<p>Questo non significa che non possiamo agganciarli e applicarli nel nostro lavoro perch\u00e9 si presentano in varie forme:<\/p>\n<ul>\n<li>ci sono librerie per stili,<\/li>\n<li>ci sono librerie javascript che introducono funzionalit\u00e0,<\/li>\n<li>ci sono librerie PHP che gestiscono un&#8217;ampia variet\u00e0 di cose per noi,<\/li>\n<li>e cos\u00ec via.<\/li>\n<\/ul>\n<p>A seconda della natura del linguaggio in cui stai lavorando, a volte le librerie saranno binari precompilati che inserisci nel tuo progetto; altre volte, potrebbero essere qualcosa che aggiungi tramite qualcosa come <strong><a href=\"https:\/\/yarnpkg.com\/en\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Yarn<\/a><\/strong> o <strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a><\/strong>.<\/p>\n<h2>Allora, qual \u00e8 lo scopo di una caldaia?<\/h2>\n<p>In breve, pensa a un boilerplate come a un livello fondamentale di codice. Fornisce una base coerente per un certo tipo di progetto che dovrebbe richiedere al massimo una modifica minima (se non qualsiasi modifica).<\/p>\n<p>In definitiva, ti consente di concentrarti sul problema che stai cercando di risolvere dal dominio del problema, dall&#8217;interfaccia utente e dalla sua esperienza, in modo ripetibile se dovessi creare una soluzione simile in futuro.<\/p>\n<p>Come, sai, un plugin o qualcosa del genere. \ud83d\ude42<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lo scopo di un boilerplate ti consente di concentrarti sul problema che stai cercando di risolvere dal dominio del problema, dall&#8217;interfaccia utente e dalla sua esperienza, in modo ripetibile se dovessi creare una soluzione simile in futuro.<\/p>\n","protected":false},"author":1,"featured_media":163077,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,844],"tags":[1168],"class_list":["post-230903","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-tutorial","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230903"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230903\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/163077"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}