Quali sono le cose che consideri nella revisione di un codice sorgente iOS? [chiuso]

1

Faremo delle revisioni tra pari per i nostri progetti iOS. Siamo un po 'inesperti nel rivedere i codici degli altri. Gli sviluppatori iOS che parteciperanno alle recensioni saranno da altri progetti, poiché in genere una persona gestisce un progetto client nella società.

So che ci sono alcune domande su SO sulle cose che stai cercando quando stai rivedendo il codice di qualcun altro. Voglio porre questa domanda specificamente per i progetti iOS. Voglio dire, oltre ai punti generali per la qualità del codice, quali sono le cose che consideri quando rileggi un codice iOS?

    
posta aslisabanci 20.01.2012 - 14:46
fonte

2 risposte

2

Ciò che accade in una revisione del codice non dipende dal tipo di progetto. Le cose generali che cerchi sono le stesse nei progetti iOS, mentre i progetti Android sono il codice di sistema integrato per l'avionica. Tuttavia, la differenza è nella struttura. Il codice mission e life critical in genere ha revisioni più strutturate che coinvolgono più persone e più tempo. Il codice non critico potrebbe essere rivisto usando qualcosa di semplice come un controllo over-the-shoulder o un'altra persona semplicemente sfogliando il codice e fornendo commenti.

La prima cosa da affrontare è ciò che stai per recensire, che è indirizzato in un'altra domanda qui sui programmatori . In teoria, vuoi rivedere tutto. In pratica, è necessario dare la priorità a ciò che viene riesaminato in base a una serie di fattori che vanno dalla probabilità che un modulo contenga dei difetti (in base alla complessità della logica) alla quantità di utilizzo di un segmento di codice (se è usato spesso, è probabilmente più importante da recensire, dal momento che un difetto sarebbe esposto in più punti).

Le cose che stai cercando in una revisione del codice sono quelle cose che non possono essere trovate attraverso mezzi automatizzati. Controlla lo stile del codice, gli errori logici che potrebbero non essere testati, le condizioni al contorno sospette, le condizioni di gara, i fuori-da-uno-errori. Le revisioni del codice possono comprendere anche i casi di test, e puoi assicurarti che i test che sono stati scritti siano di valore aggiunto, il che significa che non hai più test che coprano esattamente le stesse condizioni e che i test coprano adeguatamente i casi limite.

Potresti anche essere interessato a due domande su quale revisione del codice sembra e strategie efficaci per eseguire un revisione del codice .

    
risposta data 20.01.2012 - 14:59
fonte
1

Assicurati di avere attivato un flusso di lavoro per individuare il maggior numero possibile di problemi prima di esaminare il codice. Quindi, come minimo, assicurati che mostra gli avvisi come errori sia impostato su e l'analizzatore statico venga eseguito ogni volta che vengono compilati.

Se ti stai aspettando determinati standard nel codice, crea uno stile di codifica della casa che gli sviluppatori devono rispettare. Ad esempio, tutti gli iVars devono avere @property dichiarato e @synthesize iVar = _iVar

Per il codice iOS, la mancanza di comprensione della gestione della memoria è un problema con gli sviluppatori inesperti, quindi presta particolare attenzione a questo. Per esempio. tutte le proprietà mantenute sono state rilasciate in dealloc ?

Comprendono i modelli di design del cacao? Esiste una corretta separazione tra modello, vista, controllore? Hanno implementato i protocolli delegati laddove appropriato?

Questo è un bugbear particolare, ma se vedo [[UIApplication sharedApplication] delegate] da qualche parte nel codice si alza una bandiera rossa!

Ne aggiungerò altri mentre li penso !!

    
risposta data 24.05.2012 - 16:36
fonte

Leggi altre domande sui tag