コーディング スタイルに関する議論は、大惨事や終わりのない炎上戦争で終わる傾向があることは知っていますが、それは私が到達したいことではありません。dealloc
過去 10 年間、私は主に Objective-C のメソッドの2 つの異なるコーディング スタイルを見てきました。最初の最も一般的なものはdealloc
、ファイルの最後に配置することでした。これは、Apple が Xcode のデフォルト テンプレートで使用するスタイルでもあります。この背後にあるロジックdealloc
は、オブジェクトの終わりが近づいたときに呼び出されるように思われるため、ファイルの終わりは素晴らしい比喩のようです。
一方、ディレクティブdealloc
の直下に置く傾向がある人もいます。@synthesize
私の意見では、これには2つの大きな欠点があります。
- ファイルの先頭には、退屈なコードが散らかっています。
- クラスで重要な部分を見つけるのは難しく、下にスクロールする必要があります。
私の意見では、大きな利点は、プロパティと対応するrelease
メッセージを視覚的に直接結び付けられることです。
もう 1 つは、既にリリースされている変数を niling することです。これが必要だとは思いませんが、特に変数全体がdealloc
終了後に破棄されるオブジェクトコンテキストでは、変数も nil する傾向があります。私は関数スコープ内の変数に対してこれを行うことに慣れているので、私のコーディング スタイルと一致しています。
これは私のクラスのほとんどがどのように見えるかです:
@implementation Bar
@synthesize foo;
- (void)dealloc
{
[foo release], foo = nil;
[super dealloc];
}
// Initializers and other methods…
すでにいくつかの長所と短所について言及しました。このトピックについてどう思いますか? 使用しているコーディング スタイルdealloc
とその理由は何ですか? 私が言及するのを忘れた他の長所と短所はありますか?
私はここで炎上戦争を始めたくありません。あなたがどのスタイルを使用しているか、また、これに特定の理由があるかどうか、または最終的にこれが問題にならないかどうかを知りたいだけです.