検索
カレンダー
2020年4月
« 4月    
 1234
567891011
12131415161718
19202122232425
2627282930  
ブログメニュー
Amazon検索
キーワード:

読みやすいコードの重要性

2007年2月2日

読みやすいコードの重要性いつも巡回しているブログの中に、「整理されたコードが読みにくい理由 」という記事がありました。私はこの記事は素晴らしいと思います。プログラム初心者・初級者の方は、元記事と併せて読まれることをお勧めします。

この記事を読んで私もコードの書き方について少し書いてみることにします。仕事柄、私も色々なコードを読む事がありますが、私が気になってしょうがないのは次のようなコードです。

public void hoge(ModelList modelList) {
	String name = ...
	if (modelList.find(name == null ? DEFAULT_NAME : name).update()) {
		...
	}
	...
}

上のサンプル関数「hoge」は、モデルオブジェクトのリストからname(設定されていない場合はDEFAULT_NAME)をキーにして一つを取り出 し、それを更新するイメージをJavaで書いたものです。このコードの3行目は、4つの処理(findメソッド、name変数の判定、updateメソッ ド、if文)が書かれています。
このように処理を詰め込んだコードは一見エレガントに見えるかもしれませんが、直感的に何をしようとしているか分かりにくくなると思っています。

私は同じ処理を書くとき、コードが少し長くなっても下のような書き方をします。

public void hoge(ModelList modelList) {
	String name = ...
	if (name == null) {
		name = DEFAULT_NAME;
	}

	Model model = modelList.find(name);
	boolean result = model.update();
	if (result == true) {
		...
	}
	...
}

確かに、私のようなコードを書いていると変数を大量に定義する必要があったり、タイプ量が増えたりするといった問題があります。(コードが幼稚に見えると いうこともあるかもしれません。)ですが、変数が増えるということは変数名でコードを理解しやすくなるということですし、なんといっても保守コストが増え るリスクに比べれば上記の問題など些細なことです。

どのようなコードを書くべきかは状況によって違いますので一概には言えませんが、全てのプログラマはコードを書くとき、ソフトウェアのライフサイクル全体にかかるコストを考えるべきではないでしょうか。

コメントはまだありません »

コメントはまだありません。

TrackBack URL : http://www.meibinlab.jp/nishijima/archives/73/trackback

コメントする