Implementazione di un nuovo standard di codifica in un'applicazione esistente

2

Recentemente abbiamo avuto alcuni ritardi nel negozio in cui lavoro, perché questi commenti nel nostro codice sorgente sono stati fatti in fretta e spiegati molto poco. Abbiamo iniziato a lavorare sulla prima bozza degli standard di codifica dei dipartimenti e una delle domande più importanti è: dovremmo implementare questo standard attraverso il codice sorgente esistente? Poiché questo è solo il nostro primo progetto di standard di codifica (fatto per promuovere la flessibilità e le considerazioni future), dovremmo implementare su nuove funzionalità e durante la manutenzione?

Aggiornamento: Vorrei ringraziare per tutte le risposte e i commenti ricevuti su questo argomento. Il nostro negozio ha iniziato ad andare avanti con lo sviluppo di una bozza per i nostri standard di codifica e abbiamo preso bit e pezzi da tutti i commenti e le risposte per lavorare con tutto il nostro processo. Grazie per il vostro tempo ed esperienza in materia.

    
posta Michael P. 27.03.2013 - 16:18
fonte

3 risposte

7

Implementa in modo definitivo nuove funzionalità e durante la manutenzione. Non vi è alcun valore nel trascorrere del tempo a retweaking del codice manualmente per soddisfare le linee guida. Se sei un negozio di sviluppo interno, l'azienda avrà questioni più urgenti. Se sei un negozio di sviluppo commerciale, è uno sforzo che viene sprecato mentre la concorrenza fa qualcosa.

L'unica vera avvertenza è se puoi facilmente inserire le tue regole in un sistema automatico e applicarle. Poiché gli standard sono nuovi, molto probabilmente richiederà più tempo di quanto sia prudente dedicare ad esso.

    
risposta data 27.03.2013 - 16:26
fonte
1

Ciò che ha funzionato meglio per me in passato e attualmente è che come codice refactor usiamo gli attuali standard di codifica. Se durante questo refactoring il codice diventa poco chiaro (perché diciamo che abbiamo rifattorizzato un metodo in un punto ma non è coerente con il resto della classe) tendiamo a portare l'intera classe allo standard attuale. Dipende davvero.

Tutti gli sviluppi in avanti e nuovi sono nel nuovo standard.

Un motivo per cui aggiorniamo solo il codice più vecchio mentre viene refactored, è perché gran parte del codice legacy è gestito da alcuni sviluppatori principali. Se avessimo cambiato completamente lo standard sul codice legacy, questi sviluppatori avrebbero avuto un tempo più difficile. Mentre ridichiamo questo codice e andiamo avanti, questo è meno problematico e gli sviluppatori legacy apprendono il nuovo standard (spesso stanno facendo anche il refactoring) e portano avanti il codice.

Tutto sommato, raramente ci vuole molto più tempo del lavoro necessario e non si interrompe lo sviluppo del prodotto nel suo complesso per tutti per un po ', mentre tutto il codice viene portato allo standard. Questo processo è spiegato nella velocità degli sviluppatori negli sprint in cui si trovano ed è trasparente per la gestione al di fuori dei team tecnici, quindi nessuno deve chiedere o presentare perché è necessario ulteriore tempo per modificare il codice attualmente funzionante. Cercando di spiegare al management esecutivo che non è tecnico perché gli standard di codifica sono importanti e perché cambiano rispetto alle nuove funzionalità per le vendite nel codice, a volte è molto difficile. Questo processo lo evita.

    
risposta data 27.03.2013 - 16:30
fonte
0

Va bene implementare nuovi standard di codifica nel codice esistente. È importante che tu sia in grado di dimostrare obiettivamente che le modifiche agli standard di codifica non hanno avuto alcun impatto sul funzionamento effettivo del software. A tal fine, dovresti creare dei test unitari che dimostrino come il codice funzioni attualmente e utilizzare questi test unitari per dimostrare che le modifiche al codice (gli standard di codifica dovrebbero essere di natura cosmetica), infatti, non hanno modificato la funzionalità del codice .

    
risposta data 27.03.2013 - 18:49
fonte

Leggi altre domande sui tag