Come posso introdurre un codice pulito?

7

Il mio team ha circa 18 membri e il codice è generalmente buono, usando TDD e le buone specifiche rendono il codice funzionante. Ma penso che abusino dei commenti a favore della scrittura di un codice più pulito e più leggibile.

Mi piacerebbe introdurli al concetto e mi chiedo come posso farlo su una scala più ampia senza stare con ognuno di essi sul loro codice e spiegando come potrebbe essere migliorato.

Questo è diverso da suggerito duplicato perché credo di sapere già come scrivere codice pulito. Quello che sto cercando è come introdurre il mio team nella scrittura di codice pulito?

    
posta Ziv 13.07.2013 - 15:31
fonte

4 risposte

5

I'm wondering how can I do that on a larger scale without sitting with each and every one of them on their code and explaining how it could be improved

Risposta breve:

  • nient'altro che le normali revisioni del codice possono risolvere questo
  • non devi fare tutte le revisioni del codice da solo, soprattutto quando il tuo team ha 18 persone

Il modo in cui organizzi le revisioni del codice dipende da te, ad esempio, potresti insistere sul fatto che prima che qualche nuovo codice sia archiviato (nel tuo VCS), ogni sviluppatore sceglie un peer disponibile e gli chiede gentilmente di provare leggi il codice Puoi anche fare revisioni del codice su base più formale o dopo il check-in: scegli ciò che funziona meglio nella tua squadra.

    
risposta data 13.07.2013 - 16:53
fonte
2

Il tuo primo problema è decidere cosa intendi con codice pulito. Potresti sapere cosa significa tu , ma mi aspetto che troverai una serie di opinioni tra 18 membri del team. Senza prima accettare (o dettare, se sei così interessato) ciò che è buono e ciò che è male, non hai possibilità di realizzarlo.

Come suggerimento, perché non chiedere a ogni membro del team di inviare un pezzo di ciò che considerano un buon codice al sito StackExchange di Code Review ( link ) e vedere cosa ne fanno i revisori (se è C, lo esaminerò :-). Non ha bisogno di essere una grande quantità - solo poche funzioni o una classe, o forse anche solo un file di intestazione. Se la squadra è buona, dovrebbe aspettarsi di ottenere solo osservazioni minori. Le recensioni ti forniranno alcune basi indipendenti per progredire verso un codice più pulito.

    
risposta data 13.07.2013 - 22:32
fonte
1

invitali a guardare i video. link fa un sacco di cose stravaganti nei video quindi non è mai noioso.

Suggerisci di iniziare con l'Ep 15. Riunisci il tuo gruppo e trascorri qualche minuto a discutere su come progettare un'app per una semplice caffettiera? e poi guarda link

questo video mostra chiaramente gli errori comuni nella progettazione dell'applicazione e quindi il grande payoff usando codice pulito. ed è divertente da guardare, quindi dovrebbe coinvolgere la tua squadra.

    
risposta data 08.08.2013 - 04:15
fonte
0

Ci sono alcuni modi per farlo.

Primo modo, usa le tue funzionalità linguistiche. In Java è possibile utilizzare funzionalità come Abstract, Final, Public, Private, inheritance, interfacce, delegati, eventi. Ciò impedirebbe loro di incasinare il codice a livello di object oriented. Potresti fare un ulteriore passo avanti e implementare modelli di design. Modelli progettati sono stati adattati negli anni '90 da programmatori, ma prima sviluppati da un architetto il cui nome era Alexander Christopher. Gli schemi di progettazione hanno il strong vantaggio di definire il design del codice e di imporre una struttura di progettazione. Leggi l'articolo la banda di quattro. Esiste anche un sito in cui sono implementati diversi modelli di progettazione.

A livello di classe, potresti usare cose come getter e setter, che dovrebbero ripulire il codice e renderlo più gestibile. Comunica al tuo team in generale di usare prefissi per i nomi delle funzioni, come get, set, is (per restituire booleani).

Ho letto da un libro chiamato "codice pulito" che dovresti usare fino a 20 funzioni in una classe e ogni classe dovrebbe essere classificata per funzionalità. Anche il numero di linee nella funzione dovrebbe essere limitato. Quindi, perché non dire alla tua squadra di seguire tale politica?

Insegna al tuo team di scrivere codice più breve se puoi, usa le espressioni trache invece di if, usa switch invece di molti if e else, usa ricorsione invece di alcuni cicli, fai loop mentre invece loop while. Evita l'uso di etichette in loop, evita molte istruzioni di condizione in ifs o loop, evita loop lunghi (commenta alla fine del ciclo di parentesi se il ciclo è lungo), evita molti cicli annidati.

Per riassumere, imponi un modello su tutta la progettazione del codice attraverso classi astratte, interfacce di eredità e schemi di progettazione generali. Usa le funzioni short ben denominate, raggruppale per classe, permette di usare i giusti accessor (cerca di usare accessor insoliti come 'final', 'sealed'), usa getter e setter, in quanto sono anche un mezzo per il controllo del codice. Cerca di indirizzare e commentare come scrivere un flusso di controllo pulito, breve ed efficace. Usa l'API in più poiché offre funzionalità predefinite, non provare a trovare le tue funzionalità in quanto comporterà più codice, che è anche meno testato.

* Sono stato in una situazione di codice disordinato troppe volte per sapere cos'è il codice pulito!

    
risposta data 13.07.2013 - 20:33
fonte

Leggi altre domande sui tag