{"id":231363,"date":"2022-12-14T18:07:00","date_gmt":"2022-12-14T15:07:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231363"},"modified":"2022-12-07T11:35:04","modified_gmt":"2022-12-07T08:35:04","slug":"semplicemente-refactoring-del-codice-basato-su-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/semplicemente-refactoring-del-codice-basato-su-wordpress\/","title":{"rendered":"Semplicemente refactoring del codice basato su WordPress"},"content":{"rendered":"<p>Nel 2011, stavo leggendo molto sul lavoro con codice legacy, qualit\u00e0 del codice e refactoring.<\/p>\n<p>C&#8217;\u00e8 una citazione di <strong><a href=\"https:\/\/martinfowler.com\/bliki\/OpportunisticRefactoring.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Martin Fowler<\/a><\/strong> (che ha letteralmente <strong><a href=\"https:\/\/martinfowler.com\/books\/refactoring.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">scritto il libro<\/a><\/strong> sul refactoring) attribuita a <a href=\"https:\/\/twitter.com\/unclebobmartin\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">zio Bob<\/a> che \u00e8 rimasta con me \u2013 e sono sicuro molti, molti programmatori \u2013 da allora:<\/p>\n<blockquote>\n<p>lascia sempre il codice in uno stato migliore di quello che hai trovato<\/p>\n<\/blockquote>\n<p>Il fatto di questa particolare idea \u00e8 che penso che potrebbe suonare un po&#8217; pi\u00f9 idealistica finch\u00e9 non inizi davvero a provare a metterla in pratica in tutto ci\u00f2 che fai.<\/p>\n<p>Cio\u00e8, se lo prendi alla lettera sembra che ogni volta che devi lavorare su una base di codice, devi lasciare l&#8217;intera base di codice meglio di quando l&#8217;hai trovata. Ma pi\u00f9 ho provato ad applicare questa regola nel mio lavoro quotidiano, pi\u00f9 pratico, pi\u00f9 pulito e pi\u00f9 gestibile \u00e8 diventato il codice specifico di WordPress.<\/p>\n<p>Quindi, quando si tratta di refactoring del codice basato su WordPress, che aspetto ha?<\/p>\n<p>Questo non sar\u00e0 un post lungo. Invece, condivider\u00f2 semplicemente alcuni punti elenco che seguo quando si tratta di lavorare su codice che ho scritto in precedenza, che incontro da altri o che proviene da una base di codice su cui ho lavorato con altri nel passato.<\/p>\n<p>Senza un ordine particolare:<\/p>\n<ul>\n<li><strong>Non essere idealista; Sii pratico<\/strong>. Il refactoring di un&#8217;intera base di codice non \u00e8 pratica, soprattutto se la base di codice non \u00e8 racchiusa in unit test. Guarda il codice su cui stai lavorando e vedi quali modifiche minori puoi fare per migliorarlo.<\/li>\n<li><strong>Usa gli ultimi standard<\/strong>. Non \u00e8 necessario configurare un ambiente di sviluppo completamente nuovo per il codice precedente. Invece, assicurati di avere buoni sniffer di codice in atto. Se sei passato da WordPress Coding Standards a PSR, guarda gli avvisi o gli avvisi che gli sniffer lanciano e tentano di aggiornare il codice solo in quel file (o insieme di file).<\/li>\n<li><strong>Scrivi funzioni di supporto<\/strong>. Se le tue funzioni sono troppo lunghe, cerca dei modi per renderle pi\u00f9 facili da usare. Innanzitutto, aggiorna tutte le strutture di controllo come loop o condizionali, quindi scrivi funzioni di supporto per renderle pi\u00f9 facili da leggere.<\/li>\n<li><strong>Aggiungi test (quando possibile)<\/strong>. Se disponi gi\u00e0 di un framework di unit test, aggiungi i test per il tuo nuovo codice. Se non hai il tempo o non hai la struttura, non preoccuparti. Per quanto lo predicono i programmatori pragmatici, non c&#8217;\u00e8 sempre tempo per aggiungere test. (Questa non vuole essere un&#8217;affermazione che non sono utili o non dovrebbero essere inclusi, ma che non \u00e8 sempre pratico incorporarli in un dato momento).<\/li>\n<\/ul>\n<p>Alcune delle cose che mi sono ritrovato a fare negli ultimi progetti includono anche cose semplici:<\/p>\n<ul>\n<li>aggiornare i nomi di variabili e funzioni per seguire il PSR,<\/li>\n<li>cambiare le schede in spazi,<\/li>\n<li>aggiunta di funzioni di supporto per rendere pi\u00f9 leggibili condizioni e cicli,<\/li>\n<li>suddividendo le classi in modo che abbiano un pi\u00f9 alto grado di coesione,<\/li>\n<li>migliorare i docblock di ogni funzione<\/li>\n<\/ul>\n<p>Questi sono solo alcuni degli esempi e questo chiaramente non \u00e8 un elenco esaustivo. Ma non \u00e8 questo il punto. Invece, sto cercando di condividere semplicemente come puoi applicare il refactoring del codice basato su WordPress per tutto il tempo mentre svolgi il tuo lavoro quotidiano in modo gestibile.<\/p>\n<p>Tutte le modifiche o i consigli di cui sopra sono cose che di solito possono essere fatte con l&#8217;aiuto dell&#8217;IDE, alcune scorciatoie e forse con mezz&#8217;ora di tempo extra (e sono liberale con quella stima).<\/p>\n<p>Quindi, no, non \u00e8 necessario riscrivere un&#8217;intera base di codice. Non so nemmeno se questo sia un obiettivo pratico a cui puntare. Ma puoi aggiustare un piccolo pezzo del sistema generale di cui sei responsabile?<\/p>\n<p>E perch\u00e9 non puntare almeno a questo?<\/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>Pi\u00f9 provo ad applicarlo nel mio lavoro quotidiano, migliore \u00e8 il mio codice. Quando si tratta di refactoring del codice basato su WordPress, che aspetto ha?<\/p>\n","protected":false},"author":1,"featured_media":235914,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,720,844,865],"tags":[1168],"class_list":["post-231363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231363","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=231363"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/231363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/235914"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=231363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=231363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=231363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}