TOP > 踊るプログラマ物語 > 「一行で一目置かれるプログラム」?

あすなろBlogger

facebookに投稿 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 この記事をクリップ! livedoorclip ユーザー数 BuzzurlにブックマークBuzzurlにブックマーク この記事をtweetする

「一行で一目置かれるプログラム」?

2008.04.16

僕はお目にかかったことがありませんが,世の中には「一行で一目置かれるプログラム」と言うものがあるらしいです。たった一行で「こいつできる!」と思わせるプログラムとは。と言うことらしいです。

記事の中でi,j,kのような変数は検索性が悪くて何をしているかわからないのでやめましょうと書かれています。ある意味正しくて,ある意味間違っています。変数の名前と言うのは,スコープを意識しないといいも悪いも判断の仕様がありません。スコープを無視して一概に悪いと言い切ることは僕にはできません。例えば,Javaのクラスのフィールドであれば,iとかjとか言う名前では何の変数か分りませんが,

int sum = 0; 

for (int i=0; i<10; i++) { 

    sum += i;

は,一目でiの利用範囲が見て取れるので,iと言う変数名で十分です。

その代わりとして型と内容がわかりやすいような命名が好まれます。intPrintCount(プリント枚数を数えるInteger型の変数)であったり、bolError(エラーを制御するBoolean型の変数)のような変数を自然に使えると良いでしょう。

 って,アリエルでこんな変数名にしていたら多分,修正させられます。Javaであれば型宣言しているので適当なIDEを使えば,その型が何なのかマウスカーソルをあわせるだけで表示してくれます。それに,Integerって言う型が分ったからと言ってコードを読む上で嬉しいことはそれほどないです。単にprintCounterで十分でしょう。動的言語でも,こんな変数名の付け方はみたことがありません。ただ,例外的に入門書のサンプルコードはこういう変数名をつけているところがあります。えーと,結局,何をする変数なのかが重要であって,型が分ったってそれほどうれしいことはありません。

 HogeFugaBuzz hogeFugaBuzzVariableForSomething  = new HogeFugaBuzz();

 

投稿者 : 大谷 弘喜 | 投稿日時 : 2008.04.16 12:22

あすなろBLOGのトラックバック・コメントは承認制になっています。
すぐにブログに反映されませんので、ご了承ください。

トラックバックURL


コメントの送信








カレンダー

<< 2008年04月 >>

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

最新のエントリー

最新のトラックバック

最新のコメント

Tag

バックナンバー