トップページ⇒tech
39コメント9KB

Javaのコーディングルール

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
Javaのコーディングルールみたいなものってあるのでしょうか。

「JavaSuperTipsオブジェクト指向設計編」(秀和システム)浅海智晴著
がとても参考になりましたが、結構ゆるいのかなという印象をもちました。

以前はVBで開発をしていたので、ハンガリアン(Javaのサンプルでは全く見ないですね)とか変数の宣言は最初に行うとかあったのですが。
そんなもので、Javaのソースってスコープわからんし、追いにくいなという印象があったりします。
0002名無しさん@お腹いっぱい。 NGNG
C,C++と似た感じでみんなやってるんじゃないかな。
Javaで m_ ってメンバ変数につけてる人もいたし:D

メンバ変数の命名はぼくも悩んでます。
_ つけたりとかのルールもあるみただけど いまいちすっきりしなくて。
_ つけると Beanのときにも _ ついたままだよね?
なんかいい方法ないでしょうか?
0003名無しの笛の踊り NGNG
>2
JavaでカンペコOOPなら外部からメンバ変数には全くアクセス
しないので、m_は使う必要ありません。
うっとおしいのでやめましょう。
0004名無しさん@お腹いっぱい。 NGNG
メンバ変数にm_をつけるのは外からアクセスするかどうかとは関係無いと思うけど…
ま、コーディングスタイルの話になっちゃうからsage
0005名無しさん@お腹いっぱい。 NGNG
JAVAでもハンガイアン記法をしています。なぜかというとその方が
わかりやすいからです。far pointerとかないので、その分
CやC++よりきれいにかけます。

0006名無しさん@お腹いっぱい。 NGNG
ウケた?
0007名無しさん@お腹いっぱい。 NGNG
たとえば
public void setName(String 新しい名前){
名前のメンバー変数 = 新しい名前;
}
の時の変数名はどうやってつけます?
name = newName ?
name_ = name ?
m_name = name ?
その他?
0008>2 NGNG
Beanにでてくるメンバ変数というのはpublicなもののことでしょうか。
それであれば、その変数はprivateのインスタンス変数としてアクセスメソッド(publicのsetXXやgetXX)を用意すればいいのではないでしょうか。
そうすれば、外から見たときに_のついたものにアクセスすることはないですよね。
0009名無しの笛の踊り NGNG
>7
class hoge{
 private name;

 public void setName(String name){
  this.name=name;
 }
}
おいらは、これやっちゃうよ?
00107ではないですが NGNG
>9
わあ、なんかスッキリ。目から鱗って感じ。
ところでクラス名は頭大文字ってのはないの?
0011名無しさん@お腹いっぱい。 NGNG
(nameを引数としない)他の関数でthis.nameをアクセスする時は単に
nameってアクセスするよね。hogeのメソッド同士でthis.nameに
アクセスするやり方が違ってしまうというのを嫌がる人も多い。
メソッド間でコピペする時に間違い易いから(コピペするなというのは
ここではつっこまないで^^)

それを承知の上で使っている人には特に反対しないけれど。
00129 NGNG
>10
みのがしてクレヨー(ふるっ)。
0013偽258 NGNG
>12
みのがしちクレヨー
が正しい。
0014>13 NGNG
いっそコテハンに・・・
0015名無しさん@お腹いっぱい。 NGNG
JDKのソースのまねしときゃいいんじゃないの?
0016花と名無しさん NGNG
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
あげ


0017名無しさん@お腹いっぱい。 NGNG
>15
JDK のソースは一貫性なし。
0018名無しさん@お腹いっぱい。 NGNG
あぼーん!!!!
0019名無しさん@お腹いっぱい。 NGNG
Java覚え書き/コーディングスタイル

http://www.dmz.hitachi-sk.co.jp/Java/Tech/misc/convention.html

いまどき、一行は80文字以内に、なんて言わんでくれ…

0020名無しさん@お腹いっぱい。 NGNG
>12
みのがしちクリヨー
じゃないか?
0021XNGNG
JAVAのソースコードが山のように置いてあるサイトありませんでしょうか?
なかなか見つからないので教えてください。
0022XNGNG
教えてケロ
0023名無しさん@お腹いっぱい。NGNG
>21
本じゃだめなのか?
JAVAPressとか・・・・
0024名無しさん@お腹いっぱい。NGNG
>>19
 むーん。いまどき8tab80カラムにこだわるのもどうかと思うが、
 経験上80カラムが割と妥当な一行の上限かなーなんても思ったり。
 tabは4でいいと思うがなあ・・・。ま、この辺は好き好きか。
0025XNGNG
>>23
ええ、ありがとうございます。そこにも結構ありましたが、
無料で得られるものがいいので教えてください。

javapress(本もないとコメントないみたいんだなぁ)
http://www.gihyo.co.jp/javapress/
0026名無しさん@お腹いっぱい。NGNG
つーか、コーディング「ルール」ってなんなんだ?
つい最近、YAHOOでもコーディングルールって言ってた人が
いたが、なんかのはやりでしょうか?

普通はコーディング規約とかコーディングスタイルとか言う
と思うのですが(両者は意味するところが違いますが)。
0027名無しさん@お腹いっぱい。NGNG
アホがおる…>26
002826NGNG
>>27
では、coding rule とcoding standardの違いを説明して下さい。
0029名無しさん@お腹いっぱい。NGNG
>>26
伝わらないかな?
003026NGNG
伝わりません
0031名無しさん@お腹いっぱい。NGNG
ルール≒規約
あまり深く考えないほうがいいよ>>26
0032和製英語?NGNG
http://www.altavista.com/cgi-bin/query?q=coding-rule&kl=XX&pg=q&Translate=on
0033なこたぁないNGNG
http://www.google.com/search?q=coding+rule&meta=lr%3D%26hl%3Dja
003426NGNG
Javaではコーディングルールっていうのがふつーなのかな、
と思ったんだけど、それほど意味は無いってことでOK?

あ、Javaって言えば、スペース2 ro 3個のインデントの
サンプルコードが多いんだけど、これはふつー?

JBuilderとかもきもち悪いインデントしてくれるけど、
みんな気にしない?
0035名無しさん@お腹いっぱい。NGNG
>>34
インデントの設定できます。
お好きなようにカスタマイズしてください。
それから友達もつくってください。
0036>>34NGNG
昔のJBuilderエディタは確かに理解しがたかったけど、
こないだJBuilder4.0を入れて見たら良くなってた。
オレが非難メールいれたせい?
0037名無しさん@お腹いっぱい。NGNG
>>36
入れたんかい!
003836NGNG
ん?いれたよ。
003926NGNG
>>35
お友達は、エディタ+jakarta ant派なんだよね。
IDEはデフォルトのソースを作るだけのツールに成り下がってる。

俺はJDeveloperを使ってるから、使わざるを得ない...
■ このスレッドは過去ログ倉庫に格納されています