Objective-C 2.0のコーディングルール
下記リンクにある"Objective-C 2.0"は詳解と書いてあるとおり、
iPhoneアプリケーション開発が初めてのプログラミングという方でもわかりやすいように詳しく解説されています。
これまで既存のコードをコピペして何となく動くアプリケーションを作ってきたけど基礎がよく分からない
Javaはある程度書けるけどObjective-Cは初めて
もう一度プログラミングをきちんと学び直したい
という方にはお薦めです。
残念ながらiPhoneアプリの使えるコードが書いてあるわけではないので、とりあえず動くモノが作りたい!という方には向いてないです。リファレンスとして手元に置いておく本ですね。
さてこの本で紹介されていたコーディングルールがよくまとまっていたので何回かに分けて紹介します。
下記リンクにある"Objective-C 2.0"は詳解と書いてあるとおり、
iPhoneアプリケーション開発が初めてのプログラミングという方でもわかりやすいように詳しく解説されています。
これまで既存のコードをコピペして何となく動くアプリケーションを作ってきたけど基礎がよく分からない
Javaはある程度書けるけどObjective-Cは初めて
もう一度プログラミングをきちんと学び直したい
という方にはお薦めです。
残念ながらiPhoneアプリの使えるコードが書いてあるわけではないので、とりあえず動くモノが作りたい!という方には向いてないです。リファレンスとして手元に置いておく本ですね。
さてこの本で紹介されていたコーディングルールがよくまとまっていたので何回かに分けて紹介します。
○綴りのルール
- 複数の単語を組み合わせて名前を作る場合2つ目の単語からは先頭文字を大文字にする
- 単語の間にハイフンや下線は使用しない
○メソッド名
- 接頭語は付けない
- 先頭の文字は小文字
- 例:strings anElement stringByExpandingTildeInPath
- レシーバのオブジェクトに何かの動作をさせるためのメソッドは動詞を使用
- レシーバに何かの値を問い合わせる場合、その値を表す名前をメソッド名とする
- getがメソッド名に付いている場合は、ポインタの指す場所に値がコピーされて戻させることを意味する
- 例:NSDateメソッド
- bytes:データのバイト列の先頭ポインタを返す
- getBytes:引数のポインタが指すメモリ領域にデータをコピー
- レシーバに何かの真偽値を問い合わせる場合、is-か真の場合に相当する状態を記述
- 例:isEqualToDate, fileExistsAtPath
- 引数が複数ある場合、全ての引数にキーワードを対応させる
- 例:setValue:forKey:
- 継承などによってあるメソッドの機能を特化したメソッドを作成する場合、新しいキーワードを末尾に付け足す
- *メソッドが2つの別々の動作をする場合、その2つをandで結ぶ
○関数名
- 接頭語を付ける
- 接頭語の直後の文字は大文字
- その関数の働きを示す動詞か関数の返り値を表す名詞
- 例:NSData CFString NSRunAlertPanel
○接頭語
- フレームワークには接頭語を付ける
- 大文字で短く
- 例:Core Foundations -> CF, Interface Builder -> IB
- * アンダースコアで始まる名前は使用不可。Appleがインスタンス変数やプライベートメソッド名として予約済み
0 件のコメント:
コメントを投稿