せめて、Javaらしく
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG今まで構造化でうまくいっているとかでJavaで気持ちの悪いコードを
書く人をよく見かけます。
Sunの書き方やIBMの書き方に完全に従えと言うつもりはありません。
せめて、Javaらしく書いて欲しいです。
0002マイク ◆yrBrqfF1Ew
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG定義厨って、定義をもちだすやつだね。
具体的厨は、自分が理解できないときに具体例を出せと言い出す
0010デフォルトの名無しさん
NGNGえーーだって本当に知りたいじゃん
>>1みたいな経験なくてさ
0011デフォルトの名無しさん
NGNG幸せだね。
すべてのメソッドがstaticだったときにはびっくりだよ。
0012デフォルトの名無しさん
NGNGそりゃすごいな・・・・
あ、でも一人ノーツしか経験ないやつでどうしようもねーのいたな
スコープが全然わかんねぇの。VBのスコープすら区別できない
ま、こいつにはプロジェクトは割当ないんで何もおきてないけどな
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGメソッドだけならいいだろ。
すべての変数がstaticだったときにはマジどうしようかと思った。
0016デフォルトの名無しさん
NGNG逆に、全ての変数が final だったらカッコイイ。
関数型のスタイルだね。
0017デフォルトの名無しさん
NGNG0018マイク ◆yrBrqfF1Ew
NGNG0019デフォルトの名無しさん
NGNG漫画?
0020デフォルトの名無しさん
NGNGhttp://that3.2ch.net/test/read.cgi/gline/1074600994/l50
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG2によってスレの流れが決まった典型例だね。
0025デフォルトの名無しさん
NGNG俺が気づかないだけで、アニメネタがもっとあるんだろな
0026マイク ◆yrBrqfF1Ew
NGNG早期の閉鎖は望まれるな。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG・・・マ板逝け。
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGチンカス臭がプンプンするぜwwwwwwwww
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNGおまえも相当の使い手だなw
0040デフォルトの名無しさん
NGNGもとコボラー・それぞれの時間経過
0041デフォルトの名無しさん
NGNG0042ロス級原潜NY ◆tcoxttj3uA
NGNGJ2| you to access JMX agents from remote management applications. JMX
J2| connectors using different protocols provide the same management
J2| interface. Hence a management application can manage resources
J2| transparently, regardless of the communication protocol used. JMX agents
J2| can also be used by systems or applications that are not compliant with
J2| the JMX specification but which support JMX agents.
Javaプラットフォ〜ムの為の、JavaOne!? :-| Javaらしい、JMX
0043デフォルトの名無しさん
NGNGうちのバイト先にそういうのがいる。
どこにでもいる。
C/C++経験者に見られる職人プログラマの現象だ。
その程度ならいいものの、ある会社の社員が書いたコードを
もらうことになった。そのコードをみるや燦々たるスパゲティコード。
職人は工場やロボットを使うのを嫌いすべて手作りに拘る、
それはそれでよい結果をもたらす場合もあるが
大規模開発では迷惑。後継者の身になって考えていないコードが多すぎる。
おきまりと思えるくらいコメントはろくに書いていない。
変数名やメソッド名、クラス名のネーミングはセンスが悪く、わかりずらい。
メソッド一つあたり無駄に1000行は軽く超える。
メソッドはほとんどがstatic。カプセル化はろくにしておらずインスタンスフィールドはほとんどがpublic。
0044デフォルトの名無しさん
NGNGそして継承の使い方がわかってない。
「継承=単なる再利用」と勘違いして新しいクラスを作るたびに既存のクラスを継承して
無駄をしている。コードを見ただけでデザインパターンをひとつも知らないことがわかってしまう。
それどころかテスト用に作ったとするクラスまでわざわざ継承している。
テストするならJUnitやCactus, MockObjectくらいは使って欲しいし
本番用コードにテスト用コードを混在させないで欲しい。
同じパッケージであっても別ディレクトリに置くようにするくらいはして欲しい。
しかもその継承したクラス名はスーパークラスの名前の語尾に番号を付けただけのネーミング。
それが1,2,3,4と番号付けされているのだから最悪。しかもそのコーダはその「番号=バージョン番号」
にもしているという始末。CVSとかのバージョン管理システムくらいは導入してほしい。
例外処理も当然いい加減。殆どがExceptionで処理か無視して外にthrowsしている。
コード内にはゴミが多い。使われていない変数、途中から使われなくなった変数が続出する。
コードをEclipseで表示させると1万もの警告がリストアップされる!
使われていない変数、一度も使用されていないimportされたクラス、パッケージ、
Javadocコメントが書かれてないことによる警告、staticフィールドへの非間接的アクセス、
正常に完了されていないfinallyブロック。
リファクタリングするだけでも大変だ。
下手にリファクタリングするとかえって壊れる可能性もありリスクもでかい。
0045デフォルトの名無しさん
NGNGそれは精神的にかなりこたえそうな状況だな…。
俺は長い行数のメソッドを読むのが非常に苦手で遅いんだが
こういうの書く奴らって長い行数が得意だと自慢するんだよな。
0046デフォルトの名無しさん
NGNG例えばどんなに抽象化を行ってもそれに伴う例外処理などでメソッドが長くなってしまう
コードなどがあるが、それでも100行を超えることはないな
9割以上のメソッドが30行以内にはなるし、ならないのは書き方が悪い
0047デフォルトの名無しさん
NGNGこんなことする奴は職人とはいわない。ただの馬鹿だよ。
0048デフォルトの名無しさん
NGNG同じ記述多そうだし
0049デフォルトの名無しさん
NGNGどうすれば更生できるのかってところなんだけど、誰か教えて栗。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052C++職人
NGNG0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNGせめてゲルググ……(漏れ的にはドワッジ)
0055デフォルトの名無しさん
NGNG0056ワタル
NGNGどなたかわかる方がいらっしゃいましたら教えてください。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGそんなのでプログラム組めるの?
0059デフォルトの名無しさん
2005/04/16(土) 22:49:45『せめて、JAVAらしく』ということで、書き込みと質問をしたいと思います。
先日、私が作成したプログラムの中で、あるメソッドを作成したのですが、
そのメソッドのなかで、2つの値(boolean,ある条件に該当する値を格納した
Hashtable)を返す必要ができてしまい、やむなく、参照渡しで空のHashtableを
作成したメソッドに渡し、メソッド内でそのHashtableに対して処理を行うことで対
処しました。
ここで、質問なのですが、JAVAでこういう参照渡しを行うことは避けるべきなのでしょうか?
(解析しづらい、下手をするとメモリリークしてしまう?)
皆さんのご意見を聞かせてください。よろしくお願いしますm(__)m。
0060デフォルトの名無しさん
2005/04/16(土) 22:54:09メモリリークってことはまぁ99%ないとして
作法としては、その「二つの値」を持つクラスを作って
メソッドからはそのインスタンスを返すのが上品かと思われ。
とはいえ、状況にもよりますわな。
0061デフォルトの名無しさん
2005/04/16(土) 23:16:370062デフォルトの名無しさん
2005/05/05(木) 21:53:30というのは冗談だけど、Generics のある昨今、こういうクラスがあってもよいな。
1.6 に入れてくれ。Tuple とかも一緒に。STL と boost を盛大にパクってくれ。
public class Pair<F, S>
{
public F getFirst() {...}
public S getSecond() {...}
public void setFirst(F firstValue) {...}
public void setSecond(S secondValue) {...}
}
そして、
F f;
S s;
(f, s) = ... とかで値を受け取れるようにしてくれ。
0063デフォルトの名無しさん
2005/05/22(日) 12:14:31control.Control control = new control.Control();
となったけど普通だよね
0064デフォルトの名無しさん
2005/05/22(日) 12:50:08したら
Control control = new Control();
になるよ
0065デフォルトの名無しさん
2005/06/13(月) 01:01:420066デフォルトの名無しさん
2005/06/18(土) 23:07:24■ このスレッドは過去ログ倉庫に格納されています