- PR -

クラス名の制限について

1
投稿者投稿内容
デジ
会議室デビュー日: 2004/04/19
投稿数: 13
投稿日時: 2007-03-20 18:09
皆様、宜しくお願い致します。

現在、C# + ASP.net にて開発を行っているのですが、
機能を細分化するため、クラス名の物理名の長さの制限を
設けようと思っています。

クラス名の物理名は確か制限が無かったと思いましたが
どうなんでしょうか??

宜しくお願い致します。
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2007-03-20 19:49
引用:

機能を細分化するため、クラス名の物理名の長さの制限を
設けようと思っています。



機能を細分化するために、なぜ長さの制限をしたいのでしょう???
因果関係がよくわかりませんが、それはさておき。

引用:

クラス名の物理名は確か制限が無かったと思いましたが
どうなんでしょうか??



言語仕様を確認するなり、実際に実験してみればよいのでは?
言語仕様は、
http://msdn2.microsoft.com/en-us/vcsharp/aa336809.aspx
からdocファイルをダウンロードできます。

csharp language specification v1.0.docの
identifiers(識別子)の定義の箇所を見る限り、
明示的な制限はないように思います。

後、適当に300文字程度のクラス名のクラスを作ってビルドしましたが、
ビルド時には特に問題は発生しませんでした。
#さすがにそんな長い名前は付けないでしょう。

現実的に使うと考えられる名称の長さでいろいろ実験してみてはどうですか?


[ メッセージ編集済み 編集者: よねKEN 編集日時 2007-03-20 19:51 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-20 22:34
引用:

デジさんの書き込み (2007-03-20 18:09) より:

機能を細分化するため、クラス名の物理名の長さの制限を設けようと思っています。


機能ごとに細分化を図るという意味であれば、アセンブリという単位で考えた方が良いかと思います。
命名的には、「名前空間」 を利用した方が賢明だと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2007-03-21 14:26
引用:

機能を細分化するため、クラス名の物理名の長さの制限を
設けようと思っています。



デジさんの目的は、「機能を細分化」ですね。
そして、デジさんが行おうとしている、手段が、
「クラス名の物理的長さの制限」ですね。

ということは、「クラス名の物理的長さの制限」で、
クラスの「機能を細分化」を実現できなければならない
ことになります。


これはなりたちません。

物理的な名前の長さが短くても、「Common」などという
名前をつけられたらなんでも入れられてしまいます。

機能毎に細かなクラスを作りたいというのならば、自ずと
クラス数が増え、識別するためにより詳細なクラス名を
つけざるを得なくなり、クラス名が長くなることはあれ、
短くなっていくことはないでしょう。

たいした機能の無いクラスにでもクラス名だけを短くする
ためだけに、ネームスペースを深く広く掘るのは、管理し
にくく読みにくいものになるのでよくないと思います。

名前の良し悪しは、長さではなく、内容物を適切に表現
するものになっているかどうかです。
開発現場のベテランのエンジニアからの助言が役に立つ
ことでしょう。
コードレビューやペアプログラミングはこのような場合
に大いに効果を発揮します。


さらに、
「機能を細分化」にも目的が必要です。
「機能を細分化」することで、デジさんがそうしようと
した目的を達成できますか?

機能を物理的に小さくすることが良いことという捉え方
よりも、より適切な大きさに分ける、と心がける方が
良いと思います。

_________________
たつごろー
codeseek
こみゅぷらす
1

スキルアップ/キャリアアップ(JOB@IT)