Non dimenticare che lo scopo degli esempi di post di Apple non è quello di mostrare le best practice in tutto il codice, ma di illustrare elementi specifici. Perché preoccuparsi di scomporre un metodo init in molti blocchi più piccoli (cosa che richiederà del tempo) quando si tenta di dimostrare come effettuare una chiamata di rete asincrona.
Quando scrivi il tuo codice, non c'è niente di sbagliato nello scrivere metodi enormi o classi enormi SE sono appropriati per quello che stai facendo, commentati correttamente e non duplicano nulla. Potrebbe essere che è proprio quello che devi fare.
Come regola generale, quando si scrive il codice, basta pensare a tutto ciò che si sta tentando di fare e pensare se è possibile scomporlo in blocchi più piccoli. Pensa se tu dovessi fare qualunque cosa tu stia scrivendo il codice da fare e pensare a come tu ti avvicinassi a tale compito.
Ad esempio, è possibile scrivere un metodo che inizializza il display. Quindi, potresti scrivere un enorme metodo che farà tutto.Oppure, si potrebbe abbattere per
[self initButtons];
[self initTextEntry];
[self initLabels];
Allo stesso modo, nei initButtons, si potrebbe trovare che poi scrive lo stesso codice di nuovo per creare e init i pulsanti quando si scopre che l'unica cosa che cambia è la posizione del pulsante e il selettore che chiamano quando viene toccato. Così si può refactoring che su
button1 = [self createButton:position callback:selector];
button2 = [self createButton:position2 callback:selector2];
Basta prendere un approccio iterativo a ciò che si sta scrivendo. Scrivi il codice Una volta che hai funzionato una funzione, fermati e vai indietro e vai nel tuo codice e vedi dove puoi calcolare gli elementi, dove hai codice comune che hai inserito più volte, ecc. Usa gli strumenti di refactoring in XCode.
Sviluppa il tuo stile. Arriverà con il tempo e più codice scrivi e refactoring, più facilmente vedrai come le cose possono essere suddivise all'inizio. Quando penso a parte del codice che ho scritto 20 anni fa, spero che sia stato distrutto per non essere mai più visto da un compilatore. Ho lavorato su progetti scritti da sviluppatori "professionisti" e ci sono metodi enormi. Ad esempio, ne ho visto uno di recente che era lungo 500 (!) Righe di codice. E con pochissimi commenti.
E ricorda che avere molti piccoli metodi che combinano molto poco con una quantità enorme di classi (anche se sono piccole classi) può anche essere un anti-modello.
tutorial di controllo da http: //www.raywenderl ich.com –
Grazie, ma ho controllato il loro esempio Rotating Wheel e il metodo drawWheel: 'è enorme. Cerco di più per la codifica delle best practice ma usando il linguaggio Objective-C. – OgreSwamp