{"id":369814,"date":"2023-04-28T13:37:00","date_gmt":"2023-04-28T10:37:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=369814"},"modified":"2023-04-28T13:47:12","modified_gmt":"2023-04-28T10:47:12","slug":"come-ottimizzare-il-processo-di-sviluppo","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-ottimizzare-il-processo-di-sviluppo\/","title":{"rendered":"Come ottimizzare il processo di sviluppo"},"content":{"rendered":"\n<p>In questo articolo, vorrei condividere la mia esperienza come team leader di sviluppatori WordPress. Questa esperienza copre il lavoro su vari <a href=\"https:\/\/beetroot.se\/services\/wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">servizi di sviluppo di WordPress<\/a>, come temi e plug-in, lo sviluppo di nuovi siti client e risorse per diversi livelli di complessit\u00e0 e carico.<\/p>\n<p>Mentre lavoravo ai progetti, mi sono imbattuto ripetutamente in situazioni in cui facevamo lo stesso lavoro e commettevamo gli stessi errori. Questo mi ha costretto a <strong>considerare la necessit\u00e0 di ottimizzare l&#8217;intero processo<\/strong>. Vediamo i punti pi\u00f9 importanti per ottimizzare la gestione del processo di sviluppo.<\/p>\n<h2>Pianificazione e progettazione dettagliate<\/h2>\n<p>Inizieremo con il design. <strong>Un progetto adeguatamente progettato ha gi\u00e0 vinto met\u00e0 della battaglia<\/strong>. Gli sviluppatori junior tendono a ignorare questa parte, sperando che uno schizzo veloce sia sufficiente. Questa non \u00e8 la realt\u00e0. <strong>\u00c8 meglio dedicare qualche ora alla realizzazione di un progetto per capire meglio come funzioner\u00e0<\/strong>, quali oggetti sono necessari e come interagiranno tra loro. Anche se stai lavorando a qualcosa di semplice, come un sito Web con diversi tipi di post, prendi un pezzo di carta o una lavagna e disponili. Inizia col <strong>capire come interagiranno questi tipi di post, quali propriet\u00e0 e metapoli avranno, come avverr\u00e0 lo scambio di dati, come si registrer\u00e0 l&#8217;utente, quali moduli saranno presenti sul sito<\/strong>, e cos\u00ec via. Questo semplificher\u00e0 la vita quando tu e il tuo team inizierete a scrivere codice. Invece di chiederti cosa sta succedendo dall&#8217;altra parte del progetto, puoi concentrarti sulla risoluzione di un problema alla volta.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-312398-633e4f96ef0ec.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-312398-633e4f96ef0ec.jpg\" alt=\"Come ottimizzare il processo di sviluppo\"><\/a><\/p>\n<h2>Suddivisione delle attivit\u00e0 in sottoattivit\u00e0<\/h2>\n<p><strong>Tutte le attivit\u00e0 devono essere suddivise in sottoattivit\u00e0<\/strong>. Pi\u00f9 \u00e8 possibile ottenere una frammentazione dettagliata, meglio \u00e8. Non lasciarti trasportare troppo, per\u00f2, e rimani entro limiti ragionevoli. Ho una regola per questa fase di gestione dei processi: <strong>se esiste un&#8217;attivit\u00e0 globale e non capisco come completarla, la suddivido in attivit\u00e0 secondarie finch\u00e9 non diventa chiara al 100%<\/strong>. In pratica \u00e8 come se dividessimo il sito in pagine, poi in blocchi, separiamo le funzionalit\u00e0 aziendali in funzioni e cos\u00ec via. Funziona davvero bene durante l&#8217;intero processo di sviluppo successivo. Inoltre, ti suggerisco di utilizzare le liste di controllo: questa \u00e8 un&#8217;eccellente visualizzazione durante l&#8217;impostazione e l&#8217;esecuzione di attivit\u00e0. Inoltre, a tutti piace vedere come viene completato il progetto, elemento per elemento.<\/p>\n<h2>Stima del tempo accurata<\/h2>\n<p>Dalla mia precedente esperienza come capo squadra, posso dire che la stima del tempo del progetto \u00e8 difficile da valutare. Ci sono sempre (o quasi sempre) tempi sopravvalutati o sottovalutati, dati dagli sviluppatori, che fanno soffrire l&#8217;intero team. <strong>Troppo spesso vengono fissate scadenze ottimistiche<\/strong>, che alla fine si traducono in straordinari o in ritardi nei progetti, e questo non \u00e8 positivo per gli affari. Io e il mio team abbiamo sviluppato la nostra metodologia per la stima del tempo di progetto, ed \u00e8 in realt\u00e0 abbastanza semplice. Dopo aver suddiviso l&#8217;attivit\u00e0 in sottoattivit\u00e0 e conoscendo il tempo esatto per ciascuna sottoattivit\u00e0, possiamo riassumerla e calcolare il tempo totale previsto per lo sviluppo.<\/p>\n<h2>Automazione e strumenti di sviluppo<\/h2>\n<p>Come ogni altra sfera, i programmatori hanno i propri strumenti ben sviluppati. Il nostro compito \u00e8 riunire tutti gli strumenti (ad esempio un IDE, un sistema di controllo della versione, un server locale e altri) ed essere in grado di sincronizzare il lavoro del team. Ad esempio, utilizziamo PHP-Storm, Github e Open Server. Certo, <strong>puoi scegliere gli strumenti pi\u00f9 convenienti per te<\/strong>, ma il punto di ottimizzazione \u00e8 che dobbiamo assicurarci che tutti i membri del team utilizzino questi strumenti e le loro funzionalit\u00e0, al 100%.<\/p>\n<p>Durante i tipici progetti WordPress, il lavoro \u00e8 diviso tra 2-3 persone. Questo di solito \u00e8 sufficiente per completare il progetto se tutto \u00e8 accuratamente progettato e distribuito a ciascuna checklist. Dovresti anche <strong>assegnare attivit\u00e0 e sottoattivit\u00e0 usando git e git-flow<\/strong>, in modo che non si sovrappongano. Aggiungere pi\u00f9 persone non significa sempre velocizzare il progetto. Se ogni membro del team lavora con competenza sui propri compiti specifici, con tempo e risorse allocati in modo efficace, il progetto pu\u00f2 essere completato rapidamente e con successo.<\/p>\n<p>Se crei codice comprensibile e leggibile, aiuta a facilitare ulteriori attivit\u00e0 e soluzioni: non devi pi\u00f9 combattere stampelle o pezzi confusi, invece di andare avanti. <strong>La qualit\u00e0 del codice pu\u00f2 essere considerata da diversi punti di vista: nomi significativi per variabili, funzioni, classi e aderenza generale al codice WordPress<\/strong>. Il consiglio generale \u00e8 scrivere il codice come se lo si supportasse per molto tempo. Attualmente, gli sviluppatori inesperti tendono a creare file, chiamarli &quot;problem.functions.php&quot; e inviare l\u00ec tutte le funzionalit\u00e0. Ad un certo punto, il file viene sovraccaricato con una logica completamente diversa e il team passa tutto il giorno a cercare di capirlo. Un metodo pi\u00f9 produttivo consiste nel <strong>dividere il codice in cartelle e file, secondo la logica aziendale del progetto<\/strong>. In questo modo, puoi risparmiare molto tempo nel processo di sviluppo stesso, concedendoti tempo per facilitare il processo di modifica e aggiornamento del codice.<\/p>\n<h2>Strumenti di debug<\/h2>\n<p>Il processo di sviluppo non \u00e8 sempre fluido. A volte, devi sopportarlo ed essere pronto a <a href=\"https:\/\/themewp.inform.click\/it\/come-ispezionare-gli-elementi-del-sito-web-nel-tuo-browser\/\" title=\"eseguire il debug del tuo codice\">eseguire il debug del tuo codice<\/a>. Il tutto pu\u00f2 essere suddiviso in due categorie. <strong>Il debug a livello del linguaggio di programmazione in<\/strong> cui abbiamo php \u00e8 il primo. \u00c8 pi\u00f9 conveniente utilizzare gli strumenti integrati nell&#8217;IDE e assicurarsi che tutti gli sviluppatori li abbiano configurati e utilizzati correttamente. In secondo luogo, <strong>esaminiamo l&#8217;uso di plug-in speciali, che ci consentono di raccogliere e visualizzare informazioni preziose<\/strong>: dal numero di query nel database, all&#8217;elenco degli hook utilizzati durante il caricamento della pagina. Tra questi plugin, voglio evidenziare Query Monitor, Mail Log, Health Check, Cron Manager. Oltre a questi, io e il mio team abbiamo creato il plug-in Dev Studio per compensare la funzionalit\u00e0 che ci mancava. Questo plugin ci permette di vedere variabili e costanti, filtri, hook, dati, ecc. e permette di impostare punti di interruzione. Tutti questi plugin sono gratuiti e possono essere trovati nel repository ufficiale di WordPress.<\/p>\n<h2>Dove trascorrono il loro tempo gli sviluppatori?<\/h2>\n<p>Abbiamo condotto una piccola ricerca da diversi team di WordPress e abbiamo trovato un programma approssimativo del lavoro degli sviluppatori (questa non \u00e8 una ricerca a tutti gli effetti, ma \u00e8 sufficiente per visualizzare una giornata tipo nella vita di uno sviluppatore):<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-312398-633e4f99556d4.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2022\/10\/post-312398-633e4f99556d4.jpg\" alt=\"Come ottimizzare il processo di sviluppo\"><\/a><\/p>\n<p>Le attivit\u00e0 tipiche richiedono la maggior parte del tempo degli sviluppatori. Ad esempio, iniziano un nuovo progetto, creano un nuovo argomento, inseriscono soluzioni gi\u00e0 pronte e hook che abbiamo utilizzato in precedenza. Questo non \u00e8 sempre il caso, ma accade spesso negli studi web che creano siti client. Pertanto, <strong>per supportare al meglio gli sviluppatori, dovresti mantenere modelli e soluzioni efficaci nella tua knowledge base<\/strong>. Per quanto riguarda il 20% del tempo dedicato al caff\u00e8 e alle pause, si tratta di pratiche abbastanza normali. Gli sviluppatori non dovrebbero trascorrere tutto il giorno in una modalit\u00e0 di lavoro mirata. Ci\u00f2 pu\u00f2 effettivamente portare a un aumento della fatica e dei burnout. Fare una pausa \u00e8 salutare per essere pi\u00f9 produttivi. Per quanto riguarda le nuove attivit\u00e0: <strong>creazione di funzionalit\u00e0 e codice unici<\/strong>\u2013 richiede solo il 10% del tempo per gli sviluppatori di studi web. Un fatto interessante, questi sono anche i compiti che piacciono di pi\u00f9 agli sviluppatori. Queste attivit\u00e0 aiutano a migliorare la vita di utenti e clienti ed \u00e8 entusiasmante lavorarci sopra.<\/p>\n<p>In un mondo ideale, mi piacerebbe capovolgere questo diagramma in modo che le nuove attivit\u00e0 occupino la maggior parte del tempo, lasciando le attivit\u00e0 tipiche e di routine con meno tempo. Non \u00e8 facile da fare, ma puoi adottare misure per questo scenario utilizzando spazi vuoti (o boilerplate, starter kit) e automatizzare i processi. Ad esempio, il nostro team ha creato un tema flessibile per lo starter kit. Questo tema \u00e8 stato creato sui principi di MVC, utilizzando Webpack. \u00c8 uno strumento flessibile per implementare rapidamente il progetto ed \u00e8 anche pronto per il ridimensionamento. In pratica, abbiamo iniziato a risparmiare il 40% del nostro tempo nello sviluppo dei siti dei clienti. Il tema \u00e8 open source ed \u00e8 di pubblico dominio: pu\u00f2 essere trovato nel repository ufficiale di WordPress o sull&#8217;hub git. E, naturalmente, <strong>puoi creare il tuo tema iniziale o creare un plug-in per soddisfare le tue esigenze<\/strong>. L&#8217;idea principale \u00e8 comprendere chiaramente i requisiti e creare un&#8217;architettura flessibile.<\/p>\n<p>Spero che questa raccomandazione ti aiuti sulla strada dell&#8217;eccellenza! La fantastica piattaforma WordPress offre enormi opportunit\u00e0, quindi usiamole con competenza ed eleganza.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpklik.com\" class=\"external external_icon\">wpklik.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Questi suggerimenti aiuteranno chiunque voglia imparare come ottimizzare il processo di sviluppo e ottenere il massimo da ogni progetto e prodotto. Controlla.<\/p>\n","protected":false},"author":1,"featured_media":364053,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[571],"tags":[846],"class_list":["post-369814","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nozioni-di-base-su-wordpress","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/369814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=369814"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/369814\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/364053"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=369814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=369814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=369814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}