Webサイトとは「つい、うっかりの存在論」である。

角谷HTML化計画

「むずかしく考えることはない」と、偉そうに葉巻を振りまわしながら、トレヴィラヌスはいった。「ガリラヤの太守がじつにみごとなサファイアを持っていることは、みんなが知っている。何者かがそれを盗むつもりで、間違ってここへ入ったんだ。ヤルモリンスキーが起きていたので、泥棒は殺さざるをえなかった。どうだね、これで?」
 「そのとおりかもしれません。しかし、おもしろくはないですね」と、レンロットは答えた。
J.L.ボルヘス『死とコンパス』(『伝奇集』収録)

2003-12-11(Thu) [長年日記]

■1 変数名はアンダースコアとかドル記号で始めるな

Variable names should not start with underscore _ or dollar sign $ characters, even though both are allowed.
(変数名をアンダースコアやドル記号で始めないこと。どちらもコンパイルは通って動くけど。)

げ。そうだったのか。私は自分でコードを書くのフィールド変数の命名はずーっと接頭辞アンダースコア(_hogeHoge)で行っていた。 この命名法を個人的には「マーチン・ファウラー式」と呼んでこよなく愛していたのだが*1。いまも氏は接頭辞アンスコなのだろうか。

この話題はMobsterのメーリングリスト*2に流れたさわださんの投稿で知った。この投稿がされた経緯は『Javaセンスアッププログラミング』に、 『フィールドの変数に「_(アンダーバー)」をつける』という項目があるということから。 なお、本書でのアンダーバーのつけ方は、接尾辞アンダースコア(hogeHoge_)なので、Sunのコーディング規約的には無問題かと。私は接尾辞アンスコは好みではないけれど。

Sunのコーディング規約とファウラーたんのオススメと、どちらを選ぶかと問われれば私は当然後者なのだが、世の中そんな人ばっかりでもないもんなー。というか、そもそも命名すべきでないならコンパイラで弾いとけ、といいたい。

純粋に個人的な好みをいえば、Javaでもフィールド変数名の接頭辞はアンダースコアじゃなくて「@」、static変数の場合「@@」にしたいのだが、そうはコンパイラが通さない。

*1 何かの書籍でファウラーたんがこのやり方でコードを書いていた。Distilledだったっけ??

*2 少し前からROMっている。

Tags: Java | このエントリの del.icio.us history | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | このエントリを含む Buzzurl | このエントリを含む Yahoo!ブックマーク | Permalink
[]