Index: [Article Count Order] [Thread]

Date:  Tue, 13 Mar 2001 11:55:42 +0900
From:  小薮隆史 <koyabu@....jp>
Subject:  [XP-jp:01719] e:  Re: Java コーディング標準
To:  extremeprogramming-jp@....jp
Message-Id:  <3AAD8C2E216.BF38KOYABU@....146>
In-Reply-To:  <200103130139.KAA19256@....jp>
References:  <20010312203223.B58C.KURI-T@....com> <200103130139.KAA19256@....jp>
X-Mail-Count: 01719

小薮ともうします。

On Tue, 13 Mar 2001 10:39:09 +0900
in [XP-jp:01717] Re: Javaコーディング標準
Toru TAKAHASHI <tooru6.takahashi@....jp> wrote:

> ・長い式は複数の式に分ける(適宜ローカル変数に置き直す)
> 例:double length = Math.sqrt(Math.pow(Math.random(), 2.0) + Math.pow(Math.random(), 2.0));
> 分割:double xSquared = Math.pow(Math.random(), 2.0);
>       double ySquared = Math.pow(Math.random(), 2.0);
>       double length = Math.sqrt(xSquared + ySquared);
> ・カンマの後で改行する
> 分割:double length = Math.sqrt(Math.pow(x, 2.0),
>                                 Math.pow(y, 2.0));

私のやり方はこんなです。

double length = Math.sqrt(
	Math.pow(Math.random(), 2.0) + Math.pow(Math.random(), 2.0)
);
あるいは
double length = Math.sqrt(
	Math.pow(Math.random(), 2.0) +
	Math.pow(Math.random(), 2.0)
);

制御構造の{}ではおなじみの書式です。
こんなことやるのは小薮だけかと思っていましたが、
以前JavaのメーリングリストJavaHouse-Brewersで高木さんが
同じようなことをやっていて、賛同者もけっこういたので
うれしかった記憶があります。
以下のURLから始まるスレッドをご参照ください。

http://java-house.etl.go.jp/ml/archive/j-h-b/009166.html#body

私もですが、高木さんは一単位のコードの始まりと終わりを同じ
インデントレベルにすることにこだわっていて、こんな感じの例も
提示されてます。

aVariableThatHasLongLongLongName =
	anotherVariableThatHasAlsoLongLongLongLoooooongName
;


> この本は、RogueWave Softwareの人達によって書かれたもので
> コンパクトな割に盛りだくさんの記述があります。
> http://www.ambysoft.com/elementsJavaStyle.html
> 
> 
> > その際の,演算子の位置,カンマ位置なんかも気になったりします.(閉じ括弧
> > の位置はもちろん)
> > #単に,血液型がA型なせいなのだろうか,,,
> =や+の前と後のどちらで改行しようか、などが気になっていました。
> 括弧の前後のスペースも気にしてしまいます。
> #やはりA型

コーディングルールは、あまり細かいところにはこだわっても
仕方ないかなと思っていました。それほどおかしな書式でなければ
生産性への影響は測定できない程度にしかならず、それより
重要なテーマがたくさんありますから。

でも、XPに関しては話が別で、コードに所有権がなくなるという
ことであればやはりルールはよりきっちりと統一しておいた
ほうがいいのでしょうね。


-----------------------------------
koyabu@....jp