Quale nome di metodo si adatta meglio alle convenzioni Objective-C / Cocoa?
-
04-07-2019 - |
Domanda
Ecco una domanda veloce. Quale nome di metodo ha più senso per un'applicazione Objective-C Cocoa?
-(void) doSomethingWithAnimation:(BOOL)animated
o
-(void) doSomething:(BOOL)animated
o anche:
-(void) doSomethingAnimated:(BOOL)animated
Soluzione
Penso che la convenzione Cocoa darebbe ai tuoi esempi la seguente semantica (ignorando ovviamente il tipo BOOL per l'argomento):
-(void) doSomethingWithAnimation:(BOOL)animated
si aspetterebbe effettivamente un'animazione come parametro (ovvero qualcosa che rappresenti l'animazione.
-(void) doSomething:(BOOL)animated
si aspetterebbe qualcosa da fare.
-(void) doSomethingAnimated:(BOOL)animated
, come ha risposto Noah, avrebbe fatto qualcosa con l'animazione opzionale.
Altri suggerimenti
- (void) doSomethingAnimated: (BOOL) animato sembra più coerente con lo stile di denominazione di Apple. Per riferimento, controlla i documenti UIKit di iPhone - UINavigationController's -popToRootViewControllerAnimated: metodo, ad esempio.
Ecco un'altra opzione da considerare: crea due metodi, -doSomething
e -doSomethingWithAnimation
.
Quindi, se vuoi, puoi avere entrambi un tail-tail per un terzo metodo privato e dare a quel metodo il nome che desideri. :)
scrivi il tuo commento in modo chiaro e conciso, ad esempio: // fai qualcosa con l'animazione
Quindi scrivi il nome del tuo metodo in base a questo commento, come di seguito doSomethingwithAnimation: (BOOL) animato
Objective-C e Cocoa sono progettati per leggere bene, quindi se il tuo metodo non può essere una narrazione chiara del tuo codice, potrebbe non essere ben chiamato.