Welche Methode Name paßt in besten mit Objective-C / Cocoa-Konventionen?
-
04-07-2019 - |
Frage
Hier ist eine quicky Frage. Welche Methode Namen am meisten Sinn macht für eine Objective-C Cocoa-Anwendung?
-(void) doSomethingWithAnimation:(BOOL)animated
oder:
-(void) doSomething:(BOOL)animated
oder auch:
-(void) doSomethingAnimated:(BOOL)animated
Lösung
Ich denke, die Cocoa Konvention Ihren Beispielen folgende semmantics geben würde (ohne Berücksichtigung des Typs BOOL für das Argument, natürlich):
-(void) doSomethingWithAnimation:(BOOL)animated
würde tatsächlich eine Animation als Parameter erwarten (das heißt etwas, das die Animation darstellt.
-(void) doSomething:(BOOL)animated
würde erwarten, dass das etwas zu tun.
-(void) doSomethingAnimated:(BOOL)animated
würde, wie Noah antwortete, etwas zu tun mit optionaler Animation.
Andere Tipps
- (void) doSomethingAnimated: (BOOL) animiert scheint, die meisten im Einklang mit Apples Namensgebung Stil. Als Referenz, überprüfen Sie die iPhone UIKit docs - UINavigationController des -popToRootViewControllerAnimated. Verfahren, zum Beispiel
Hier ist eine andere Option zu prüfen: zwei Methoden, -doSomething
und -doSomethingWithAnimation
machen
Dann, wenn Sie möchten, können Sie sie beide Schwanz nennen eine dritte, private Methode, und geben diese Methode Sie einen beliebigen Namen. :)
Schreiben Sie Ihren Kommentar klar und kurz und bündig zum Beispiel: // Etwas mit der Animation
Dann Ihre Methodennamen schreiben unten basierend auf diesen Kommentar, wie doSomethingwithAnimation: (BOOL) animiert
Objective-C und Cocoa sind so ausgelegt, gut zu lesen, so dass, wenn Ihre Methode nicht eine klare Erzählung des Codes sein kann, ist es vielleicht nicht gut genannt werden.