Javaのコーディング・スタイル

今でもコーディング スタイルに煩いのがいる。
見た目の美しさなんて、個人差が大きすぎる。
例えば
<A>

String     text  = form . getText() ;

<B>

String     text  = null ;
form . getText() ;

のどっちが良いかと云えば、
ボク的には、
Aは手抜き。
Bの方が優れている。
でも、気分でどっちでもOK。
これらを try ~ ctach で括り、form. getText()でthrowが起きた場合を考えると、
Aでは、text に初期設定が行われないから、厳密にはtext が初期化されない場合がありますと、あの小姑(Find Bugs)が喚かなければおかしい。
※大体、 form == null だったら、NullPointerException が確実に起きるコードなんだから。再現性は100%。
でも、ある人に言わせれば・・・

Bは、悪質な行数稼ぎだ!

だそうだ。
※実話です。
それくらい、コーディングの見方には、個人差がある。
もっとも、ソースレベル・デバッガをよく使う場合は、Bは必須なコーディングになる。
2行目にブレークポイントを付け、
デバッグ中にtextの値を書き換え
formをnullにして NullPointerException の場合の
動作とログの内容の確認するには・・・
Aは不可!
Bでなければならない!(大笑)
なぜなら、
(1)Aの1行目は、変数宣言だからブレークポイントが打てないバージョンもありうる。
(2)仮にブレークポイントを打てても、止まった時点では、変数宣言文は実行前なので、変数を書き換えられないバージョンもありうる。
と云う感じで開発環境の微妙な仕様のブレに左右されてしまう。
※この点は、MS-Visual Studioはうまく出来ていて、行中をステップ動作で進められるので、Aでも問題は無い!(大笑)
 
と云う訳で、コーディング規約なんて書いてるヒマがあったら
Eclipseのテキストエディタ様に まともなテキストフォーマッタ(整形プラグイン)を作った方がマシだと
ずーっと、思っているが、
多分、タダのツールに金(または人)をかけてプラグインを作るのが嫌なのだろう。
 
勿論、色々なコーディングが混ざると読みにくいと云う気持ちは判るが、不適切で個人の趣味満載で雰囲気で書き換えられてしまうコーディング規約の方が、金の無駄と云うものだ。
 
だが、svnリポジトリにコミットされたソースを自ら見易く徹底的に書き直しつくす管理人の存在は否定しない。
なぜなら、それこそがコーディング規約の実践であるからだ。
なぜなら、コーディングスタイルが個人の趣味である以上、
 

たった一人で精査することが重要であり、手分けして精査するなぞ、ヒマつぶしでしかない。

 
そして、忘れてはならないことがある。
書き換えたソースは大抵期待通りには動かなくなるのだ。
そして、精査に精通している人はそれを知っている。
故にJUnitなんてものが嬉しがられるのだ。
もちろんそれを自分で使うハズも無いのだが・・・
 
では、毎度の後セリフを・・・
 
だから、今時分は原発があーなるのも仕方が無いよね。
 
 
 
 




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA