Xcode 4.6から次の警告が表示されます。
.. used as the name of the previous parameter rather than as part of the selector
この警告を無効にできることはわかっていますが、修正することをお勧めします。
私には109の警告がありますので、明らかにメソッドをひどく書いています。
これが私のメソッドです。
+(NSString*)addFormatPrice:(double)dblPrice:(BOOL)booRemoveCurSymbol;
-(void)showHelpChoices:(UIView *)vw:(id)dg;
だから、これらのメソッドを書く正しい方法は何ですか?
最初の方法は、セレクター+addFormatPrice::
を宣言することです。スペースを使用すると、次のようになります
+ (NSString *)addFormatPrice:(double)dblPrice :(BOOL)booRemoveCurSymbol;
これは[NSString addFormatPrice:0.3 :YES]
のように呼び出されます。
実際に行うべきことは、前のパラメーターに次のような名前を付けることです。
+ (NSString *)addFormatPrice:(double)dblPrice removeCurSymbol:(BOOL)booRemoveCurSymbol;
[NSString addFormatPrice:0.3 removeCurSymbol:YES]
のように呼び出されます。
これらを複数の行に分割すると、理解しやすくなりますか?
+(NSString*)addFormatPrice:(double)dblPrice
:(BOOL)booRemoveCurSymbol;
-(void)showHelpChoices:(UIView *)vw
:(id)dg;
Objective-Cメソッド名の構造は次のとおりです。
- (returntype)firstPartOfMethodWithParameter:(type)nameOfFirstParameter secondPartOfNameWhichDescribesSecondParameter:(type)nameOfSecondParameter;
つまり、完全なメソッド名が分割され、パラメーター名が散在しています。コロンは、各「ラベル」をそのパラメーターから分離します。パラメータ名とメソッド名の次の部分はスペースで区切ります。
メソッドには、2番目の部分、2番目のパラメーターを記述するビットがありません。現在、メソッドの名前はaddFormatPrice::
およびshowHelpChoices::
、どちらも合法ですが、非正統的です。それらを呼び出すと、次のようになります。
[Excelsior addFormatPrice:2.0 :YES];
[thumpy showHelpChoices:aView :obj];
名前が正しくないことを明確にする必要があります。 2番目のパラメーターのラベルを追加するだけです。
+(NSString*)addFormatPrice:(double)dblPrice
removingCurrencySymbol:(BOOL)booRemoveCurSymbol;
-(void)showHelpChoices:(UIView *)vw
digeridoo:(id)dg;
Objective-Cメソッドの命名に関するアドバイスについては、 AppleのCocoaのコーディングガイドライン などのObjective-Cスタイルガイドを参照してください。コミュニティおよびAppleのフレームワークの規則に従うスタイルガイドでは、各パラメーターの目的がメソッド名に明確に記述されるように、メソッドに名前を付けることをお勧めします。
+(NSString *)priceStringWithPrice:(double)price removeCurrencySymbol:(BOOL)removeCurrencySymbol
-(void)showHelpChoicesInView:(UIView *)view withSomethingWithAnUndecipherableName:(id)mysteryParameter
名前が大幅に変更されていることに注目してください。これは、プログラムで何をするか(私が想定していること)および各パラメーターが何をするかを示しています。クラスメソッドは何にも追加しません-むしろ、新しい文字列を返します。これにより、コードは他の開発者、Appleのフレームワーク、使用する他のライブラリのコードと自然に融合し、読みやすさが大幅に向上します。パラメーターに名前を付けないと、可読性が低下し、保守性がはるかに難しくなります。
関連する注記では、ハンガリー語の表記を含む不必要な略語は耳障りであり、スタイルに合わないため、適切な命名慣行に従えばそれらは不要であり、維持するのが楽しいコードを生成します。したがって、vw
と呼ばず、view
またはviewToShowIn
と呼びます。 strVal
やvalueString
やsomethingSpecificallyDescribingTheNatureOfTheValueString
とは呼ばないでください。
これはあなたがこれを行うことになっている方法です
+(NSString*)addFormatPrice:(double)dblPrice removeCurSymbol:(BOOL)booRemoveCurSymbol;
-(void)showHelpChoices:(UIView *)vw whatEverThePurposeOf:(id)dg;
appleのサンプルコードから学びましょう。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
はじめに、メソッドを文に書いてみてください。
このような
applicationdidFinishLaunchingWithOptions
次に、(UIApplication *)application
や(NSDictionary *)launchOptions
などのパラメーターを持つ名詞の説明を追加します