¿Qué nombre de método encaja mejor con las convenciones de Objective-C / Cocoa?
-
04-07-2019 - |
Pregunta
Aquí hay una pregunta rápida. ¿Qué nombre de método tiene más sentido para una aplicación de cacao Objective-C?
-(void) doSomethingWithAnimation:(BOOL)animated
o:
-(void) doSomething:(BOOL)animated
o incluso:
-(void) doSomethingAnimated:(BOOL)animated
Solución
Creo que la convención de Cocoa daría a sus ejemplos la siguiente semántica (ignorando el tipo BOOL para el argumento, obviamente):
-(void) doSomethingWithAnimation:(BOOL)animated
en realidad esperaría una animación como parámetro (es decir, algo que represente la animación).
-(void) doSomething:(BOOL)animated
esperaría que el Algo haga.
-(void) doSomethingAnimated:(BOOL)animated
haría, como respondió Noah, hacer algo con la animación opcional.
Otros consejos
- (void) doSomethingAnimated: (BOOL) animated parece más consistente con el estilo de nombramiento de Apple. Como referencia, consulte los documentos del iPhone UIKit - UINavigationController's -popToRootViewControllerAnimated: método, por ejemplo.
Aquí hay otra opción a tener en cuenta: cree dos métodos, -doSomething
y -doSomethingWithAnimation
.
Luego, si lo desea, puede hacer que los dos llamen a un tercer método privado y le asignen el nombre que desee. :)
escriba su comentario clara y brevemente, por ejemplo: // hacer algo con la animación
Luego escriba el nombre de su método basado en este comentario, como a continuación doSomethingwithAnimation: (BOOL) animado
Objective-C y Cocoa están diseñados para leerse bien, por lo que si su método no puede ser una descripción clara de su código, es posible que no tenga un nombre correcto.