このエントリーをはてなブックマークに追加このエントリをつぶやく

放置されないTODO

実験的な機能だとか、まずは動作することを最優先にした作業では品質よりもスピードが求められます。そこで後ろめたさを感じながら場当たり的なコードを書いて「あとで直そう…」と心に誓うのですが、そのまま放ったらかしにしてしまうことってありませんか?

Java開発者にはおなじみの開発環境Eclipseだと、コメントにTODOと書いておけばタスク一覧にコンパイルエラーと並んで表示されるので、開発中はずっと意識し続けることができます。
Xcodeにも似たような機能はあって、以下のように記述します。コロンの後のスペースは必須です。
[ccN_objc]
// TODO: マジックナンバーを定数で定義する
– (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UIView *view = [self.view viewWithTag:5963];
view.hidden = YES;
}
[/ccN_objc]
これだけでエディタ上部のジャンプバーからメソッドの一覧で見えるようになります。ちなみにメソッド内のコメントには効果がないようです。

ジャンプバーのTODO表示

ジャンプバーのTODO


これはこれで良いのですが、複数のソースファイルにわたってTODOが増えていくと、どこにやり残しがあるのか把握しきれなくなります。テキスト検索で”TODO:”を探すにしても、そもそもやり残しがあること自体を忘れてしまえば完全に放置される運命が待っています。

もっと存在をアピールしてくれないと、後になって偶然見つけたときには「動いているコードには今さら触りたくない」となりがちです。

で、オススメしたいのがwarningディレクティブを利用する方法です。いつ頃からかわかりませんが、Xcode付属のUITableViewControllerのテンプレートに使われていて知りました。
[ccN_objc]
– (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
#warning マジックナンバーを定数で定義する
UIView *view = [self.view viewWithTag:5963];
view.hidden = YES;
}
[/ccN_objc]

警告としてのTODO

警告としてのTODO


警告というのは少々おおげさな気もしますが、メンテしやすいコードを維持するためなら、このくらいがちょうどいいのかもしれませんね。

カテゴリー: プログラミング   タグ: ,   この投稿のパーマリンク

コメントは受け付けていません。