これが私の iOS アプリのコードのスニペットです。
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
なぜ Xcode は行をインデントするのでしょうか? 古い Perl、Ruby、および JavaScript モンキーなので、次のように手動でインデントする傾向があります。
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Do you like my hat?"
message: @"If so, please help spread the word by rating our app now?"
delegate: nil
cancelButtonTitle: @"No Thanks"
otherButtonTitles: @"Sure!", @"Maybe Later", nil
];
そのため、パラメーター名と値はすべて左揃えで、1 レベル (私の場合は 4 つのスペース) だけインデントされています。これにより、使用する画面のスペースがはるかに少なくなり、私の MacBook Air で折り返し行 (一番右にインデントされたものをさらに読みにくくする) に対処する必要がなくなる可能性が低くなります。
ただし、Apple が最初の方法を好む何らかの理由があると思います。そのため、Xcode のインデントはそのようになっています。それともありますか?
だから私は2つの質問があります:
- Objective C コードでメソッド パラメータをどのようにインデントしますか?
- 好みのインデント スタイルでフォーマットするために Xcode を微調整するにはどうすればよいですか?
ここで聖戦を始めようとしているわけではありません。私は、Objective-C プログラマーの間でベスト プラクティスとなる傾向があるもの、Xcode がそれらのプラクティスにどのように役立つか、そして Xcode のデフォルトの方法に正当な理由があるかどうかを調べることに興味があります。
更新:コメント作成者と回答は、デフォルトの書式設定ではパラメーターがコロンに揃えられることを指摘しています。もちろん気づいていたので、投稿する前に覚えておくべきでした。最も長いアイテムがあまりインデントされていない場合、かなり見栄えがよくなります。しかし、通常、最も長いアイテムはかなりインデントされていることがわかりました。例えば:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
何故ですか?コロンに合わせて配置したかったとしても(そして、そうするために手動でフォーマットすることがよくあります)、それほどインデントするのはばかげているようです。開始コロンのレベルまでインデントすることを主張するのはなぜですか? インデント「ブロック」の終わりを示すために閉じ括弧をアウトデントして、インデント レベルを 1 つだけにしないのはなぜですか? 例えば:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
これは、Google スタイル ガイドの行の長さの推奨事項よりも優れたデフォルトのようです。
このようにパラメータをフォーマットするために Xcode を微調整する方法はありますか?