PASONATECH


[ホーム]
[最新エントリー]
[あすなろBLOG]
[あすなろNEXTBLOG]
[あすなろカウンセラーBLOG]
[インタビュー]
[スペシャルコンテンツ]
[テックスペース]


踊るプログラマ物語


前へ   次へ

大谷 弘喜

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();

 


前へ   次へ

最新エントリー


大谷 弘喜
2011年04月19日
AsciiのHadoop & NoSQL
大谷 弘喜
2011年04月14日
プログラマにとって椅子は命
大谷 弘喜
2011年04月12日
血圧計で血圧を測る日々
大谷 弘喜
2011年04月08日
3月分の電気代
大谷 弘喜
2011年04月05日
iPadのi文庫はとってもできる子だった

前へ

バックナンバー




ページトップ


[ホーム]
[ブログコンセプト]
[個人情報]
[著作権]


i-mobile

ITエンジニアの仕事見つかる!PASONA TECH

Copyright(C)2006-2011
Pasona Tech. inc.
All Rights Reserved.