1 :
デフォルトの名無しさん :
04/11/03 14:59:29 Javaでプログラムしているのに、C・C++、VBではこうするんだ!とか 今まで構造化でうまくいっているとかでJavaで気持ちの悪いコードを 書く人をよく見かけます。 Sunの書き方やIBMの書き方に完全に従えと言うつもりはありません。 せめて、Javaらしく書いて欲しいです。
世界の中心で2chの閉鎖を叫んだけもの
「今までうまくいっているから」とか言うやつに限って、今まで納期どおりに予算内で大きなバグなく完了したプロジェクトに関わったことがなかったりする。
具体的に気持ちの悪い例をだせ
具体的厨あらわる
6 :
デフォルトの名無しさん :04/11/03 15:38:50
定義厨と似たようなものかね
7 :
デフォルトの名無しさん :04/11/03 15:39:00
あれもこれもやろうとして巨大なメソッドを書くやつはいるな
愚痴はマ板で
>>6 定義厨って、定義をもちだすやつだね。
具体的厨は、自分が理解できないときに具体例を出せと言い出す
>>9 えーーだって本当に知りたいじゃん
>>1 みたいな経験なくてさ
>>10 幸せだね。
すべてのメソッドがstaticだったときにはびっくりだよ。
>>11 そりゃすごいな・・・・
あ、でも一人ノーツしか経験ないやつでどうしようもねーのいたな
スコープが全然わかんねぇの。VBのスコープすら区別できない
ま、こいつにはプロジェクトは割当ないんで何もおきてないけどな
死に至るバグ、そして
OOPごころを、君に
>>11 メソッドだけならいいだろ。
すべての変数がstaticだったときにはマジどうしようかと思った。
>>15 逆に、全ての変数が final だったらカッコイイ。
関数型のスタイルだね。
静止したVMの中で
瞬間、誹謗中傷重ねて。
何言ってるかわかんねぇ 漫画?
あ、アニメなのね
ということは、削除依頼だしとけよ、ってことだな。
23 :
デフォルトの名無しさん :04/11/03 20:12:07
終わる世界
1はアニパロのつもりはなかったかもしれんが 2によってスレの流れが決まった典型例だね。
アニオタほんと多いな 俺が気づかないだけで、アニメネタがもっとあるんだろな
アニメは正直どうでもいいが 早期の閉鎖は望まれるな。
見知らぬ変数
バグ、逃げ出した後
エヴァのタイトルをプログラム関係の言葉にこじつけるスレになりました。 ・・・マ板逝け。
30 :
デフォルトの名無しさん :04/11/04 14:23:58
第壱話 使徒、襲来
31 :
デフォルトの名無しさん :04/11/04 14:33:39
第弐話 見知らぬ、マルチプラットフォーム
32 :
デフォルトの名無しさん :04/11/04 14:36:00
第参話 重い、AWT
33 :
デフォルトの名無しさん :04/11/04 14:45:10
第四話 デスマ、逃げ出した後
くっせーーーーーーーーーwwwwww チンカス臭がプンプンするぜwwwwwwwww
35 :
デフォルトの名無しさん :04/11/04 14:48:29
第伍話 Sun、Servletのむこうに
36 :
デフォルトの名無しさん :04/11/04 14:51:12
第六話 決戦、第3会議室
37 :
デフォルトの名無しさん :04/11/04 15:05:04
第拾六話 死に至るAWT、そして
38 :
デフォルトの名無しさん :04/11/04 17:21:06
第七話 人の造りしもの
最終回 もとコボラー・それぞれの時間経過
第拾弐話 マルチプラットフォームの価値は
42 :
ロス級原潜NY ◆tcoxttj3uA :04/11/09 23:52:22
J2| JMX technology defines standard connectors (JMX connectors) that allow J2| 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
>>1 うちのバイト先にそういうのがいる。
どこにでもいる。
C/C++経験者に見られる職人プログラマの現象だ。
その程度ならいいものの、ある会社の社員が書いたコードを
もらうことになった。そのコードをみるや燦々たるスパゲティコード。
職人は工場やロボットを使うのを嫌いすべて手作りに拘る、
それはそれでよい結果をもたらす場合もあるが
大規模開発では迷惑。後継者の身になって考えていないコードが多すぎる。
おきまりと思えるくらいコメントはろくに書いていない。
変数名やメソッド名、クラス名のネーミングはセンスが悪く、わかりずらい。
メソッド一つあたり無駄に1000行は軽く超える。
メソッドはほとんどがstatic。カプセル化はろくにしておらずインスタンスフィールドはほとんどがpublic。
そして継承の使い方がわかってない。 「継承=単なる再利用」と勘違いして新しいクラスを作るたびに既存のクラスを継承して 無駄をしている。コードを見ただけでデザインパターンをひとつも知らないことがわかってしまう。 それどころかテスト用に作ったとするクラスまでわざわざ継承している。 テストするならJUnitやCactus, MockObjectくらいは使って欲しいし 本番用コードにテスト用コードを混在させないで欲しい。 同じパッケージであっても別ディレクトリに置くようにするくらいはして欲しい。 しかもその継承したクラス名はスーパークラスの名前の語尾に番号を付けただけのネーミング。 それが1,2,3,4と番号付けされているのだから最悪。しかもそのコーダはその「番号=バージョン番号」 にもしているという始末。CVSとかのバージョン管理システムくらいは導入してほしい。 例外処理も当然いい加減。殆どがExceptionで処理か無視して外にthrowsしている。 コード内にはゴミが多い。使われていない変数、途中から使われなくなった変数が続出する。 コードをEclipseで表示させると1万もの警告がリストアップされる! 使われていない変数、一度も使用されていないimportされたクラス、パッケージ、 Javadocコメントが書かれてないことによる警告、staticフィールドへの非間接的アクセス、 正常に完了されていないfinallyブロック。 リファクタリングするだけでも大変だ。 下手にリファクタリングするとかえって壊れる可能性もありリスクもでかい。
>>43-44 それは精神的にかなりこたえそうな状況だな…。
俺は長い行数のメソッドを読むのが非常に苦手で遅いんだが
こういうの書く奴らって長い行数が得意だと自慢するんだよな。
46 :
デフォルトの名無しさん :04/11/13 01:17:47
場合によっては長くなってしまうコードもある。 例えばどんなに抽象化を行ってもそれに伴う例外処理などでメソッドが長くなってしまう コードなどがあるが、それでも100行を超えることはないな 9割以上のメソッドが30行以内にはなるし、ならないのは書き方が悪い
> メソッド一つあたり無駄に1000行は軽く超える。 こんなことする奴は職人とはいわない。ただの馬鹿だよ。
可読性を損ねるだけじゃん 同じ記述多そうだし
問題は、俺って出来るじゃんって勘違いしている困ったチャンを どうすれば更生できるのかってところなんだけど、誰か教えて栗。
そいつが書いたのと同じ機能で1/10のコード量のプログラムを1/100の時間で作って見せる。
仕様追加に笑顔で応える
JAVAとは違うんだよ!JAVAとは
と、ダブルゼータ時代にドムに乗りながら言ってる感じか。
>53 せめてゲルググ……(漏れ的にはドワッジ)
55 :
デフォルトの名無しさん :04/11/22 16:06:14
56 :
ワタル :05/01/10 04:18:57
javaアップレットでホームページを作っているのですがどうしてもリンクの張り方がわかりません。 どなたかわかる方がいらっしゃいましたら教えてください。
いま参加しているプロジェクトはほとんどstaticだよ。
58 :
デフォルトの名無しさん :05/01/16 23:03:33
風呂釜洗うやつでしょ。 そんなのでプログラム組めるの?
59 :
デフォルトの名無しさん :2005/04/16(土) 22:49:45
お疲れ様です。 『せめて、JAVAらしく』ということで、書き込みと質問をしたいと思います。 先日、私が作成したプログラムの中で、あるメソッドを作成したのですが、 そのメソッドのなかで、2つの値(boolean,ある条件に該当する値を格納した Hashtable)を返す必要ができてしまい、やむなく、参照渡しで空のHashtableを 作成したメソッドに渡し、メソッド内でそのHashtableに対して処理を行うことで対 処しました。 ここで、質問なのですが、JAVAでこういう参照渡しを行うことは避けるべきなのでしょうか? (解析しづらい、下手をするとメモリリークしてしまう?) 皆さんのご意見を聞かせてください。よろしくお願いしますm(__)m。
>59 メモリリークってことはまぁ99%ないとして 作法としては、その「二つの値」を持つクラスを作って メソッドからはそのインスタンスを返すのが上品かと思われ。 とはいえ、状況にもよりますわな。
成否は例外で返す。
62 :
デフォルトの名無しさん :2005/05/05(木) 21:53:30
Pair<Boolean, Map> を使う。 というのは冗談だけど、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) = ... とかで値を受け取れるようにしてくれ。
controlというパッケージにControlというクラスを作ってそれをnewさせると control.Control control = new control.Control(); となったけど普通だよね
import control.*; したら Control control = new Control(); になるよ
SQLJ使っている人いる?
昔仕事で使った。面倒だった。