Apple の Objective-C のドキュメント、リファレンス、および生成されたコードは、Apple のコーディング スタイルと完全に一致していないようです。Objective-C と Cocoa のソース コードの「推奨」スタイル (存在する場合) を判断できません。
これが私がこれまでに遭遇したものです。
タブ設定
Xcode のデフォルト設定はタブに設定されています。ただし、生成されたプロジェクトは、タブの設定に関係なく、常に 4 つのスペースで作成されます。さらに悪いことに、生成されたコードの一部にタブがぶら下がっています。ダウンロードされたコード例もプロジェクトごとに異なるようです。
メソッド定義の間隔
Apple のサンプル コードでは、メソッド定義のさまざまなスタイルが 1 つのファイル内でも異なります。しかし、スペースの最も一般的なスタイルには、-
or+
とスペースの間にスペースが含まれているようです。このスタイルは Xcode 参照ライブラリでも使用されているため、これが好ましいスタイルだと思います。
- (IBAction)reloadData:(id)sender;
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
一貫性のない変量:
- (IBAction) reloadData:(id)sender;
- (IBAction)reloadData:(id) sender;
-(IBAction)reloadData:(id)sender;
- (IBAction) reloadData: (id)sender;
- (id)tableView: (NSTableView *)aTableView objectValueForTableColumn: (NSTableColumn *)aTableColumn row: (NSInteger)rowIndex
ブレース スタイル
広く矛盾しているもう 1 つの点は、ブレース スタイルです。2 つの一般的なスタイルがあります。
ブレースを独自の行で開きます。
@interface Foo : NSObject
{
}
- (id)init
{
}
メソッド宣言と同じ行で中かっこを開きます。
@interface Foo : NSObject {
}
- (id)init {
}
質問
Apple が推奨する Objective-C のコーディング スタイルはありますか? そうでない場合、どのスタイルが好きですか? またその理由は何ですか?