2003-03-11 [長年日記]

[Clipping] 技術野郎の復讐

コードサイズは重要だ。プログラムを書く時間はプログラムの長さに大きく依存する。プログラムが別の言語を使ったら3倍のサイズになるんだとしたら、それを書くのに3倍の時間が必要になるだろう。

「業界の最良慣行」はあなたをトップにするのではなく、単に平均にするだけだ。

ふむ、短く書く方法を知っていることは、生産性の向上にもつながる、か。

from プロジェクト杉田玄白

[覚書] if文には例外条件を書け

これを今朝の電車の中で読んでて、ふと思いついたので、メモ。

オレの書くプログラムって、if文の中が短めなことが多い。

いままであまり意識してなかったのだが、これは、オレがif文を使うときに、「ある条件が成立したら……しろ」ではなく、「例外条件が成立したら……と対処しろ」というポリシーで書いているからだと思う。

こういうスタイルにしておくと、正常系が常に本流にあり続けるし、分岐がすぐに終了してくれるので、頭ん中のスタックをいつもからっぽにしておける。分岐の中が長くて、長くスタックを占領しているヤツがいると、オレの頭ん中の、せいぜい3段程度のスタックはすぐにあふれてしまって理解できなくなっちまう。スタックはなるべくからっぽなほうがいい。

[覚書] 省けるローカル変数は省け

余計なローカル変数を省くために、三項演算子を積極的に使おう。

たとえば、こんな感じ:

public String showSaveDialog() {

String strResPath = null;

JFileChooser jfcChooser = new JFileChooser();

int iRetVal = jfcChooser.showSaveDialog(cotainer);

if(iRetVal == JFileChooser.APPROVE_OPTION){

strResPath = jfcChooser.getSelectedFile().toString();

}

return strResPath;

}

オレが書いたのは、こんな感じ:

public String showLoadDialog() {

JFileChooser jfcChooser = new JFileChooser();

boolean approved = (jfcChooser.showOpenDialog(container) == jfcChooser.APPROVE_OPTION);

return approved ? jfcChooser.getSelectedFile().toString() : null;

}

一行でも書けるけど、長すぎるのは読みにくい。右辺にメソッドがせいぜい二つ、たかだか三つ出現する程度がちょうどいいか。

↑ こういうのって

どっかにまとまってたりするのかも? ご存知の方は教えてください。

本日のツッコミ(全1件) [ツッコミを入れる]
きた (2003-03-11 23:13)

GUIのtoolkitとかだとメソッド名が長くなりがちなので三項演算子は使いづらいですね.