{"id":74955,"date":"2020-03-22T08:42:23","date_gmt":"2020-03-22T05:42:23","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu"},"modified":"2020-03-22T08:42:23","modified_gmt":"2020-03-22T05:42:23","slug":"kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","title":{"rendered":"Come leggere e correggere 100.000 righe di codice in una settimana","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Come leggere e correggere 100.000 righe di codice in una settimana\" src=\"\/wp-content\/uploads\/2020\/03\/9d646716cc8d6eb1f9c49cb8539d7422.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAll'inizio \u00e8 sempre difficile orientarsi in un progetto grande e complesso. L'architecture assessment \u00e8 una delle attivit\u00e0 dell'architetto. Di solito si lavora su progetti grandi e datati e i risultati devono essere presentati entro una settimana.<\/p>\n<p>Come valutare un progetto di oltre 100.000 righe di codice in una settimana fornendo risultati realmente utili per il cliente.<\/p>\n<p>La maggior parte degli architetti e dei leader tecnici si \u00e8 trovata ad affrontare valutazioni di questo tipo. Questo processo pu\u00f2 sembrare informale o essere fornito come un servizio separato, come avviene nella nostra azienda; in ogni caso, molti di voi hanno avuto a che fare con esso.<\/p>\n<p>L'originale in inglese per i vostri amici non di lingua russa \u00e8 disponibile qui: <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-assessment-read-and-fix-100000-lines-of-code-in-a-week\/\">Architecture Assessment in a week<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Approccio della nostra azienda<\/h2>\n<p>\nVi spiegher\u00f2 come funziona nella nostra azienda e come mi comporto in situazioni simili, ma potete facilmente adattare questo approccio alle esigenze del vostro progetto e della vostra azienda.<\/p>\n<p>Ci sono due tipi di architecture assessment.<\/p>\n<p><b>Interno<\/b> \u2013 di solito lo realizziamo per progetti interni all'azienda. Qualsiasi progetto pu\u00f2 richiedere una valutazione dell'architettura per diversi motivi:<\/p>\n<ol>\n<li>Il team pensa che il loro progetto sia perfetto e questo \u00e8 sospetto. Abbiamo avuto casi simili e spesso in tali progetti tutto \u00e8 ben lontano dall'essere ideale.<\/li>\n<li>Il team vuole verificare il proprio progetto e le proprie soluzioni.<\/li>\n<li>Il team sa che le cose non vanno bene. Possono persino elencare i principali problemi e le cause, ma desiderano ricevere un elenco completo dei problemi e raccomandazioni per migliorare il progetto.<\/li>\n<\/ol>\n<p>\n<b>Esterno<\/b> \u2013 \u00e8 un processo pi\u00f9 formale rispetto a una valutazione interna. Il cliente si rivolge a noi solo quando la situazione \u00e8 grave \u2013 molto grave. Di solito, il cliente ha la consapevolezza di avere problemi globali, ma non riesce a identificare correttamente le cause e suddividerle.<\/p>\n<p>La valutazione dell'architettura per un cliente esterno \u00e8 un caso pi\u00f9 complesso. Il processo deve essere pi\u00f9 formale. I progetti sono sempre grandi e datati. Presentano molti problemi, bug e codice mal scritto. Il report del lavoro svolto deve essere pronto entro poche settimane al massimo, includendo i principali problemi e raccomandazioni per miglioramenti. Pertanto, se riusciremo a gestire la valutazione esterna del progetto, quella interna sar\u00e0 una questione da poco. Analizziamo il caso pi\u00f9 complesso.<\/p>\n<h2>Valutazione dell'architettura di un progetto enterprise<\/h2>\n<p>\nUn progetto tipico da valutare \u00e8 un grande, vecchio progetto enterprise con numerosi problemi. Il cliente si rivolge a noi chiedendo di riparare il suo progetto. \u00c8 come un iceberg, il cliente vede solo la cima dei suoi problemi e non si accorge di ci\u00f2 che si trova sott'acqua (in profondit\u00e0 nel codice).<\/p>\n<p>Problemi di cui il cliente pu\u00f2 lamentarsi e di cui pu\u00f2 essere a conoscenza:<\/p>\n<ul>\n<li>Problemi di prestazioni<\/li>\n<li>Problemi di usabilit\u00e0 dell'applicazione<\/li>\n<li>Deployment prolungato<\/li>\n<li>Mancanza di test unitari e altri test<\/li>\n<\/ul>\n<p>\nProblemi di cui il cliente probabilmente non \u00e8 a conoscenza, ma che possono essere presenti nel progetto:<\/p>\n<ul>\n<li>Problemi di sicurezza<\/li>\n<li>Problemi di progettazione<\/li>\n<li>Architettura errata<\/li>\n<li>Errori algoritmici<\/li>\n<li>Tecnologie inadeguate<\/li>\n<li>Debito tecnico<\/li>\n<li>Processo di sviluppo errato<\/li>\n<\/ul>\n<p><\/p>\n<h2>Processo formale di valutazione dell'architettura<\/h2>\n<p>\n\u00c8 un processo formale che seguiamo in azienda, ma puoi adattarlo alle tue esigenze in base alla tua azienda e al progetto.<\/p>\n<h3>Richiesta da parte del cliente<\/h3>\n<p>\nIl cliente richiede una valutazione dell'architettura del progetto attuale. La persona responsabile da parte nostra raccoglie informazioni di base sul progetto e seleziona gli esperti necessari. A seconda del progetto, possono essere diversi esperti.<\/p>\n<p><b>Solution Architect<\/b> \u2013 la persona principale responsabile della valutazione e del coordinamento (e spesso l'unica).<br \/>\n<b>Esperti specifici per stack<\/b> \u2013 .Net, Java, Python e altri specialisti tecnici a seconda del progetto e delle tecnologie.<br \/>\n<b>Esperti Cloud<\/b> \u2013 possono essere architetti cloud di Azure, GCP o AWS.<br \/>\n<b>Infrastruttura<\/b> \u2013 DevOps, amministratori di sistema, ecc.<br \/>\n<b>Altri esperti<\/b> \u2013 come big data, machine learning, performance engineer, esperto di sicurezza, QA lead.<\/p>\n<h3>Raccolta delle informazioni sul progetto<\/h3>\n<p>\nDovresti raccogliere quante pi\u00f9 informazioni possibili sul progetto. Puoi utilizzare diverse tecniche a seconda della situazione:<\/p>\n<ul>\n<li>Questionari e altri metodi di comunicazione via email. Il metodo meno efficace.<\/li>\n<li>Incontri online.<\/li>\n<li>Strumenti speciali per lo scambio di informazioni come: Google doc, Confluence, repository, ecc.<\/li>\n<li>Incontri 'di persona'. Il metodo pi\u00f9 efficace e costoso.<\/li>\n<\/ul>\n<p>\n<i>Cosa bisogna ottenere dal cliente?<\/i><\/p>\n<p><b>Informazioni di base.<\/b> Di cosa tratta il progetto. Il suo obiettivo e il suo valore. Obiettivi principali e piani futuri. Obiettivi e strategie aziendali. Problemi principali e risultati desiderati.<\/p>\n<p><b>Informazioni sul progetto<\/b>. Stack tecnologico, framework, linguaggi di programmazione. Deploy on-premise o cloud. Se il progetto \u00e8 nel cloud, quali servizi vengono utilizzati. Quali pattern architetturali e di design sono stati applicati.<\/p>\n<p><b>Requisiti non funzionali<\/b>. Tutti i requisiti relativi a prestazioni, disponibilit\u00e0, facilit\u00e0 d'uso del sistema. Requisiti di sicurezza, ecc.<\/p>\n<p><b>Casi d'uso di base e flussi di dati.<\/b><\/p>\n<p><b>Accesso al codice sorgente<\/b>. La parte pi\u00f9 importante! \u00c8 fondamentale avere accesso ai repository e alla documentazione su come assemblare il progetto.<\/p>\n<p><b>Accesso all'infrastruttura<\/b>. Sarebbe utile avere accesso all'infrastruttura stage o di produzione per lavorare con un sistema 'vivo'. \u00c8 un grande vantaggio se il cliente dispone di strumenti per il monitoraggio dell'infrastruttura e delle prestazioni. Di questi strumenti parleremo nella prossima sezione.<\/p>\n<p><b>Documentazione<\/b>. Se il cliente ha della documentazione, \u00e8 un buon inizio. Potrebbe essere obsoleta, ma rimane pur sempre un buon punto di partenza. Non fidatevi mai della documentazione: verificate con il cliente, sulla vera infrastruttura e nel codice sorgente.<\/p>\n<h3>Processo di valutazione dell'architettura<\/h3>\n<p>\nCome si fa a gestire una cos\u00ec grande quantit\u00e0 di informazioni in cos\u00ec poco tempo? Prima di tutto, parallelizzate il lavoro.<\/p>\n<p>Il DevOps deve esaminare l'infrastruttura. Il team leader deve concentrarsi sul codice. L'ingegnere delle prestazioni deve analizzare le metriche di performance. Il database specialist dovrebbe approfondire le strutture dei dati.<\/p>\n<p>Ma questo \u00e8 il caso ideale, quando si hanno molte risorse. Di solito, la valutazione del progetto viene effettuata da una a tre persone. Potreste anche effettuare la valutazione da soli, il che succede spesso se avete le conoscenze e l'esperienza necessarie in tutte le aree del progetto. In tal caso, dovrete automatizzare tutti i processi il pi\u00f9 possibile.<\/p>\n<p>Sfortunatamente, dovrai leggere la documentazione manualmente. Con l'esperienza adeguata, riuscirai a capire rapidamente la qualit\u00e0 della documentazione. Cosa \u00e8 vero e cosa chiaramente non corrisponde alla realt\u00e0. A volte puoi incontrare un'architettura nella documentazione che non funzioner\u00e0 mai nella vita reale. Questo \u00e8 un segnale per riflettere su come si realizza effettivamente nel progetto.<\/p>\n<h3>Strumenti utili per l'automazione della valutazione del progetto<\/h3>\n<p>\nLa valutazione del codice \u00e8 un esercizio semplice. Puoi utilizzare analizzatori statici di codice, che evidenziano problemi di design, prestazioni e sicurezza. Ecco alcuni di essi:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/structure101.com\/\">Structure 101<\/a><\/noindex> \u00e8 un ottimo strumento per l'architetto. Ti mostrer\u00e0 l'immagine complessiva, la dipendenza tra i moduli e le potenziali aree da rifattorizzare. Come tutti i buoni strumenti, ha un costo adeguato, ma puoi approfittare di una versione di prova di 30 giorni.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.sonarqube.org\/\">SonarQube<\/a><\/noindex> \u00e8 un vecchio buon strumento. Strumento per l'analisi statica del codice. Permette di individuare codice scadente, bug e problemi di sicurezza per oltre 20 linguaggi di programmazione.<\/p>\n<p>Tutti i fornitori di cloud offrono strumenti per il monitoraggio dell'infrastruttura. Questo ti permetter\u00e0 di valutare correttamente l'efficacia dell'infrastruttura in termini di costo e prestazioni. Per AWS, si tratta di <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/premiumsupport\/technology\/trusted-advisor\/\">trusted advisor<\/a><\/noindex>. Per Azure, \u00e8 semplicemente <noindex><a rel=\"nofollow\" href=\"https:\/\/azure.microsoft.com\/en-us\/services\/advisor\/\">Azure Advisor<\/a><\/noindex>.<\/p>\n<p>Ulteriore monitoraggio delle prestazioni e logging aiuter\u00e0 a identificare i problemi di performance a tutti i livelli. Dalla base di dati con query inefficaci, al backend, fino al frontend. Anche se il cliente non ha installato questi strumenti in precedenza, \u00e8 possibile integrarli rapidamente nel sistema esistente per individuare i problemi di performance.<\/p>\n<p>Come sempre, i buoni strumenti hanno un costo. Posso consigliare un paio di strumenti a pagamento. Certamente, puoi utilizzare soluzioni open-source, ma richiederanno pi\u00f9 tempo. E dovresti farlo in anticipo, non durante la valutazione dell'architettura.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/newrelic.com\/\">New Relic<\/a><\/noindex> \u2013 strumento per la valutazione delle prestazioni delle applicazioni<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">Datadog<\/a><\/noindex> \u2013 servizio cloud di monitoraggio dei sistemi<\/p>\n<p>Ci sono molti strumenti per testare la sicurezza. Questa volta ti consiglio uno strumento gratuito per la scansione dei sistemi.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/owasp.org\/www-project-zap\/\">OWASP ZAP<\/a><\/noindex> \u2013 uno strumento per la scansione delle applicazioni web rispetto agli standard di sicurezza.<\/p>\n<p>Mettiamo tutto insieme.<\/p>\n<h3>Prepariamo il rapporto<\/h3>\n<p>\nInizia il tuo rapporto con i dati raccolti dal cliente. Descrivi gli obiettivi del progetto, i vincoli e i requisiti non funzionali. Successivamente, menziona tutti i dati in ingresso, come il codice sorgente, la documentazione, l'infrastruttura.<\/p>\n<p>Il passo successivo. Elenca tutti i problemi che hai trovato manualmente o utilizzando strumenti automatizzati. Inserisci i lunghi rapporti generati automaticamente alla fine nella sezione allegati. Qui devono esserci prove brevi e concise dei problemi riscontrati.<br \/>\nDai priorit\u00e0 ai problemi riscontrati su una scala di errori, avvisi, informazioni. Puoi scegliere la tua scala, ma questa \u00e8 quella comunemente accettata.<\/p>\n<p>Come un vero architetto, sei tenuto a fornire raccomandazioni per risolvere i problemi trovati. Descrivi i miglioramenti e il valore per il business che il cliente potr\u00e0 ottenere. Come mostrare il valore per il business da <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/architecture\/architecture-refactoring-and-design-refactoring-how-to-sell-it-client\/\">architecture refactoring<\/a><\/noindex> di cui abbiamo parlato in precedenza.<\/p>\n<p>Prepara una roadmap con piccole iterazioni. Ogni iterazione deve includere il tempo di esecuzione, la descrizione, il numero di risorse necessarie per il miglioramento, il valore tecnico e il valore per il business.<\/p>\n<h3>Concludiamo la valutazione dell'architettura e forniamo al cliente un report<\/h3>\n<p>\nNon inviare mai semplicemente il report via email. Potrebbe non essere mai letto oppure letto senza comprensione senza una spiegazione adeguata. In breve, la comunicazione diretta aiuta a eliminare i malintesi. Dovresti fissare un incontro con il cliente per discutere i problemi riscontrati, evidenziando quelli pi\u00f9 significativi. \u00c8 importante far notare al cliente problemi di cui potrebbe non essere nemmeno a conoscenza, come quelli di sicurezza, e spiegare come possono influenzare il business. Mostra la tua roadmap con le migliorie e discuti le diverse opzioni pi\u00f9 adatte per il cliente. Questo potrebbe riguardare tempo, risorse e volume di lavoro.<\/p>\n<p>Come sintesi del tuo incontro, invia al cliente il tuo report.<\/p>\n<h2>In conclusione<\/h2>\n<p>\nLa valutazione dell'architettura \u00e8 un processo complesso. Per eseguire una valutazione corretta, \u00e8 necessario avere esperienza e competenze sufficienti.<\/p>\n<p>\u00c8 davvero possibile fornire al cliente risultati utili per lui e per la sua azienda in appena una settimana. Anche se lo fai da solo.<\/p>\n<p>Dalla mia esperienza, molti miglioramenti si bloccano a met\u00e0 strada, e a volte non iniziano neanche. Coloro che scelgono una via di mezzo e implementano solo alcuni miglioramenti davvero utili per il business con il minimo sforzo, riescono a migliorare notevolmente la qualit\u00e0 del loro prodotto. Chi non fa nulla, dopo un paio d'anni potrebbe anche chiudere il progetto.<\/p>\n<p>Il vostro obiettivo \u00e8 mostrare al cliente il massimo dei miglioramenti al prezzo minimo.<\/p>\n<p>Altri articoli nella sezione <noindex><a rel=\"nofollow\" href=\"http:\/\/alexandvira.com\/category\/architecture\/\">architettura<\/a><\/noindex> puoi leggere con calma.<\/p>\n<p>Ti auguro codice pulito e buone soluzioni architetturali.<\/p>\n<p>Il nostro gruppo Facebook \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/206130407152602\/\">Software Architecture and Development<\/a><\/noindex>.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/493226\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0438 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. Architecture assessment \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438, \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e. \u041a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445 \u043b\u0438\u0434\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74956,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0438 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. Architecture assessment \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438, \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e. \u041a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445 \u043b\u0438\u0434\u043e\u0432\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c 100,000 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0438 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. Architecture assessment \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438, \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e. \u041a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445 \u043b\u0438\u0434\u043e\u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-22T05:42:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-22T05:42:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Come leggere e correggere 100.000 righe di codice in una settimana | ProHoster","description":"All'inizio pu\u00f2 essere difficile orientarsi in un progetto grande e datato. La valutazione dell'architettura \u00e8 una delle attivit\u00e0 dell'architetto. Si \u00e8 spesso costretti a lavorare su progetti ampi e complessi, con la necessit\u00e0 di fornire risultati entro una settimana. Come valutare un progetto di oltre 100.000 righe di codice in una settimana e offrire risultati realmente utili per il cliente? La maggior parte degli architetti e dei team leader","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c 100,000 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e | ProHoster","og:description":"\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u044f\u0436\u0435\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u0438 \u0441\u0442\u0430\u0440\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. Architecture assessment \u2014 \u044d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438, \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u043c\u0438, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e. \u041a\u0430\u043a \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 100\u043a \u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0442\u0435\u0445 \u043b\u0438\u0434\u043e\u0432","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/kak-prochest-i-ispravit-100000-strok-koda-za-nedelyu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-22T05:42:23+00:00","article:modified_time":"2020-03-22T05:42:23+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74955","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:04:26","updated":"2022-10-02 00:18:18"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/74955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=74955"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/74955\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/74956"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=74955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=74955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=74955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}