「C」からはじめるクラス名 – プログラミング – Home

「C」からはじめるクラス名
 
通知
すべてクリア

[解決済] 「C」からはじめるクラス名


はまち
 はまち
(@はまち)
ゲスト
結合: 23年前
投稿: 146
Topic starter  

よく教科書などのなかで、クラス名はCの大文字から初めて
CAAA
というように書かれてあるのがあるのですが、何か意味が
あるのでしょうか。
みなさんもそうされていますか。AAAとはじめると問題があったり
する場合などあるのでしょうか。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

Microsoftが勝手にこしらえたルールです。
それ以上の意味はありません。


返信引用
tib
 tib
(@tib)
ゲスト
結合: 22年前
投稿: 468
 

「それ以上の意味」と言えるかどうか解りませんが...。

・クラス名に限らず、「この型の変数はどの文字を頭につける」という風に
 決められています。「ハンガリー記法」と呼ばれています。

・私はMicrosoft関係者ではありませんが、なるべくこれに沿うようにしています。
 あくまで「なるべく」であって、個人的にルールを拡張している場合もあります。

・コンパイラから見れば、ネーミングルールなぞどうでもいいので、
 このルールを無視した所で問題は起きません。ただ、このルールに慣れてしまった
 人は戸惑うかも知れません。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

他にも、MSDN 見てるとゴロゴロ出てくるです。MS 独自ルール。

・インターフェイス名の先頭は I
・ポインタ型名の先頭は P ないし LP
・構造体のタグ名の先頭は tag

型だとこんなもんですが、変数名、引数名にまで言及すれば、

・バイト数をあらわすものには接頭辞 cb
・文字数を表すものには接頭辞 cch
・DWORD 型には接頭辞 dw
・ポインタ型には接頭辞 p または lp
・文字列には接頭辞 sz

などなど。ちなみに、Borland 系列はクラス名の先頭が T みたいですね。

ただ、これもメリットが無いわけではないのですが万能ではありませんし、
使わない人、嫌う人も少なからずいます。
俺も最近は使わないようになってきました。特に C# では。

従わなくてもまったく影響はありません。
従うも従わないもお好みでどうぞ。
#会社の命名規約とかある場合は別ですけどね


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

軽微な影響だと、Microsoft 製統合環境の
Wizard が、先頭が C のクラスを作ると親切にも
それを落としたデフォルト名を表示してくれるとか...。

Borland は OWL(Object Windows Library) の頃から
T ですね。確か、Type の頭文字だったと思います。

基本的にハンガリアンベースの命名法は、Micorsoft 社の
勢力圏内 (特に Windows + C/C++ )限定だと思ってます。

私の場合は、規約で制限がなければ付けてません。
好きか嫌いかと言われたら嫌う方の人間なこともありますが、
C# とか Java でもあんなものは付けてませんし、
Linux や iTRON 等ではまた別のお約束があるので
Microsoft べったりの記法は採用されづらいというのもあります。

Windows 専用の C/C++ 案件だと、この範囲では有名
(他の人に理解されやすい)ので規約で制限されることも多いですが。


返信引用
Bosscat
 Bosscat
(@Bosscat)
ゲスト
結合: 23年前
投稿: 73
 

私(個人)は、CとIを良く付けます。
 (単純に独自プレフィックスを考えるのが面倒なだけです。)

Windowsアプリ開発(特にCOM絡み)の経験者達と開発する場合は、
独自にルールをこしらえるよりMSルールを流用してしまった方が楽な場合が多いと思います。


返信引用
はまち
 はまち
(@はまち)
ゲスト
結合: 23年前
投稿: 146
Topic starter  

みなさん、お返事ありがとうございました。
私の知らなかったことばかりで驚きました。「C」をつける方もいれば
つけない方もいるのですね。
どうしてもクラスやメンバ変数、関数などの名前が増えてくると区別するために

CAAABBBCCCDDDEEE

と役割ごとに区別して名前を決めていたのですが、そんなときいつも
なぜはじめはCでないといけないのだろうと思っていました。
これからどうしようかつけようかどうかまだ迷っていますが、
大変参考になりました。今回はありがとうございました。


返信引用
はまち
 はまち
(@はまち)
ゲスト
結合: 23年前
投稿: 146
Topic starter  

すみません、解決のチェックを忘れました


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました