開発
Objective-Cを使って
murakami
こんにちは、最近やっと涼しくなりはじめて過ごしやすくなってきている感じですがいかがお過ごしでしょう?
さて、今日は「Objective-Cを使って」といういかにもはっきりしないタイトルなのですが、Objective-Cを使っていてよく質問されたりすることについて軽く書きたいと思います。
Q. さっそくですが、以下の二つのコード、どう思いますか?
1.
init("this", "is", sample.args);
2.
[self initWithTitle:@"this" SubTitle:@"is" Options:[sample args]];
上のものが”とても”よく聞かれるもので、単純に「呼び出し長くない?」というものです。確かに、私もそう思います。ですが、ここで”コードを読む”ことについて考えましょう。
まず上のコード、よく見る関数呼び出しかとおもいます。書いた人はどうかわかりませんがそれ以外の人が(定義を見ずに)読んだとき、果たしてどう思うでしょうか?私であればパッと見ただけでは、「string, string, …となんかよくわかんないものを渡してる」くらいの感想しか出てきません。一方下のコード、いわゆるObjective-Cのコードです。これを読んでみましょう。「自分を初期化する。まずタイトル、次にサブタイトル、それで最後にOptionか!」と言う感じで読めますよね。
確かにコードの分量として見れば多いですし、補完なかったらどうするの?と聞かれたら言い返すことはだいぶ難しいでしょう。ですが、コードを読むとき、得に他人のコードを読んだりするとき、その「書き手」の意図はとても伝わりやすくなるのではないでしょうか?
User *i, *you; i = [self createUserWithName:@"Me"]; you = [self createUserWithName:@"Secret"]; [i thinkMessage]; [i sendMailTo:you Message:@"Hello!"];
どうでしょう?私の意図したことは伝わりましたか?
—–
担当 : 村上(国語は苦手です・・・)