
私はWeb開発者です。
下請け開発の場合に必ず命名規約に疑問を感じます。
原因は「ソースファイル名や画面名、テーブル名などに連番をつける」命名規約が多いからです。
自社で開発する場合は連番は使いません。
連番を付ける理由はいくつか考えられますが、どれも全て単なる慣習としてしか見えないのです。
・COBOL時代にそうしていた
・管理がしやすい。(Excelで扱いやすい)
連番ではなく、各ソースの役割で命名するほうが、理にかなっていると思います。
1、他に理由があれば教えてください。
2、大規模なシステムでも連番では命名したりしないよ、という実例をご存知の方は教えてください。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
>2、大規模なシステムでも連番では命名したりしないよ、という実例をご存知の方は教えてください。
大規模とはどの程度なのか定義が不明確ですが、とりあえず、万人月越え・億以上規模と考えることにします。万人月越えのPJは今まで3つ経験しましたが、3つともどこかしらに連番を採用でした。
しかし、現在かかわっているPJも万人月越え見通しですが、ここでは連番は使用していません。このPJではサブシステムごとにJarに分割されていて、ソース管理は比較的よく管理されていると思います。しかし、開発ツールにエクリプスを使用しているのですが、コードアシストでクラスを検索する際に、他のサブシステムとぶつかり同名のファイルが複数存在するので、少しだけ戸惑います。
あと種類ごとに分けるとこんな感じです
画面系:ほとんどが連番採用
ビジネスロジック:連番採用例あり
DBアクセス:連番採用例なし
私もNo3さんとそれほど大きく変わる規模の会社ではないのですけどね…。いろいろあるのでしょうか。
ちなみに社員数700で、ユーザー系システム会社ということもあって自社請けも4割くらいありますが、私の部は8割が大手SIerからのおこぼれです。
No.3
- 回答日時:
連番のクラス名を使うという話は、雑誌等で呼んだことはありますが、私の周りでは本当にそうしているという話は聞いたことがないですねぇ。
みんなクラスの役割で名前を付けています。(ちなみに私は主に大手SIerから一次請け開発する社員数300人程度の会社の者です。)
ところで連番をつけるって言うのは、PKG0012みたいに連番だけなんですか?それともEmployeeManager003のように、役割をあらわす名前に連番を付加するのですか?
後者であれば、クラス名から役割も推測できるので、管理上連番も必要であれば仕方ないと思いますが、もし前者だとクラス名から役割が全くわからないので、困りますね。
PKG0012とか、そういう連番です。
役割は全く分からないんです。。。しばらく経つと忘れるから、仕様書見て思い出して、の繰り返しです。
No.2
- 回答日時:
私も何年か前にそういう議論をした覚えがあります。
大規模なシステム開発の際、収拾がつかなくなるため、効率を重視して連番を使用することが多いですね。理由としてはやはり「管理がしやすい」ということだと思いますが、それは非常に重要なことだと思います。
ソースを触る人間が、PG作成・保守・拡張開発とフェーズが変わるごとに変わるのであれば、管理のしやすさを重視するほうが理にかなっているといえると思います。また、処理の流れと管理番号の増加が一致していると何かと直感的にもわかりますから。また処理の流れに沿ってソースをソートできるということも大きなメリットです。
あと、両者の違いはプログラムの質を重視する考え方と、システム全体の質を重視する考え方の違いでもあるのではないかと思います。
sunが推奨する命名規則でも「名詞にしろ」といっているし(あ、Javaを前提に書いてます)、プログラム単体で見た場合、意味のある名前にしたほうが理にかなっていると思えます。
しかし、数百、数千もしくはそれ以上の単位のシステムの場合、同名のクラス名のものも出現するし、それを防ぐために後から作るクラス名が無茶な名称になってしまうこともあると思います。ので、命名に間違いが無く均一な質で作れる記号連番を採用することが多いのだと思います。
DAOは連番にはしないけど…
arakororinさんのように理解したうえで連番を採用されているのならいいのですが、、、。連番にするときは、DAOであろうがなんであろうが、全て連番にしろ、というのが多いです。
私としては間をとって、サブシステム単位の接頭辞をつけるようにしたいのですが。。。
No.1
- 回答日時:
COBOLっていうか、IBM360/370のコンパイラ、リンカのシンボルテーブルが6文字しか識別しなかったことの名残ですね。
たった6文字の識別子を自由に命名させていたら、名前がぶつかりまくるので連番にしちゃったわけです。
例えばANSI-Cでも外部リンクを持つ識別子は先頭6文字が【保証】されることになっており、言語仕様として保証しているのはいまだに6文字です。
実際には処理系依存で32文字とか64文字なのですが…
で、外部シンボルが連番ならファイルも連番だろう(昔のCOBOLやFORTRANは1ファイルに1手続きが基本)ということで、なし崩し的に全ての命名規則が連番になったわけです。
本来は、シンボルがバッティングしなきゃいいわけなんですけどね。
スコープの種類も少なく、ネームスペースの概念もない昔のシステムの規約を守らされるのは嫌気がさします。
一応、発言(提案?)できる立場であれば「開発手法が劇的に進化しているのに対して、管理手法が追いついていない状況はいびつだ。今こそ管理手法を改革するべき!!」と力説しています。
最近では汎用を経験していない人が管理職につくことが多くなってきているので、記号的でない命名が許されることが増えてきています。
なるほど、そういう歴史があるのですね。汎用機が専門の会社からWebの仕事を請けることが多いんです。
汎用を経験していない人が管理職、、、どころか、開発経験0の人が上につくのはウンザリしてます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PDF PDFファイルプログラム。ファイル名の昇順にPDFに収録されないのは何が原因か? 3 2023/07/28 08:49
- 政治 日本に「法の支配」で偉そうに説教する資格が有るのか? 4 2023/01/14 13:49
- 分譲マンション 管理組合役員の辞任と受領書について 1 2022/11/25 12:39
- 政治 ウクライナの神風ドローンボートは日本の特攻兵器「震洋」の真似ですよね? 5 2022/11/05 13:09
- 生命保険 生命保険 契約前発病について 1 2022/08/28 16:49
- 日本語 <助詞の話──場所を示す「に」と「で」>という誤り 1 2023/05/17 00:06
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
- その他(データベース) accessについて 2 2022/05/31 16:58
- 政治 日本人義勇兵が2千人も居れば、日本人義勇兵連隊を作れますね? 3 2022/03/24 10:57
- 財務・会計・経理 業者間での注文書・請書の取り扱いについて 2 2022/06/27 15:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
僕の出身中学校は200人同級生が...
-
JavaScriptを使わずにCSSで
-
同一パッケージにあるクラスが...
-
今日は こどもの日 で、良い天...
-
どこからも呼ばれていない無意...
-
ジムカーナの傾向
-
そんなにお金がなくても年に1度...
-
IPアドレスの3バイト目の呼び方
-
恋愛
-
「隣の芝生は青く見える」現象...
-
packageとimport の違いって?
-
同じパッケージ、クラス名が含...
-
Appletのpublic void paint(Gra...
-
中学生です。 私は教室の黒板に...
-
配列の重複する値とその個数を...
-
命名規約は連番でいいのか?
-
プライベートIPの数
-
内部クラス?のエラー
-
eclipse でクラスに色
-
java eclipse 型に解決できません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じクラスにならない確率を教...
-
そんなにお金がなくても年に1度...
-
河合塾のクラス分けについて
-
今回のクラス替え最悪でした、...
-
3年間同じクラスになる確率
-
java eclipse 型に解決できません
-
恋愛
-
同一パッケージにあるクラスが...
-
小学4年の頃、好きな同級生にス...
-
配列の重複する値とその個数を...
-
main()を持つクラスが2つ以上...
-
EclipseでJSPのコンパイルエラー
-
共通で使う関数を集めたクラス...
-
他クラスのすごくかっこいい同...
-
どこからも呼ばれていない無意...
-
中学生です。 私は教室の黒板に...
-
ネスカフェ エクセラ と UCCク...
-
dllと同じプロジェクトにする方法
-
「隣の芝生は青く見える」現象...
-
コンボボックスのマウスホイー...
おすすめ情報