[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/10 01:29 / Filesize : 102 KB / Number-of Response : 454
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

コーディング規約 第3条



1 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 23:28:42 ]
カッコの位置や変数名のつけ方から、何で規約なんて決めるのという話まで
コーディング規約・スタイルに関するスレ

前スレ

コーディング規約 第2条
pc10.2ch.net/test/read.cgi/tech/1068752664/

116 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 09:17:27 ]
>>115
自分では単文の時も必ず{}で括るようにしているが、
そうでないソースがあったとしてもキモいとまでは思わないな。

117 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:04:35 ]
if (hoge)
  a = 1;
else {
  int b;
  a = 1;
  b = 2;
}

1行コードと {} のインデントを同じにしなきゃならん理由がわからん
ifとelseの中身が同じインデントレベルの方が見て把握しやすい

GNUはやっぱキモイわ

リーナスたんが言うようにGNUのウンココーディングスタイルなんて燃やすべきだ!

118 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:32:05 ]
別にどっちでも大差ないでしょ

俺様wayに頑なに固執するのは俺的には精神分析の対象だと思う。
どっか幼児性が切断されてないところがあるんじゃないの?

気色悪い、という感情はコードのお作法に対してより、
むしろそういう自分自身をこそ向けられるべきだね。

119 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:36:57 ]
とはいえ、人間はパターン認識の動物だから、
異なるパターンのコードを行ったり来たりするのは疲れることは確か。

だとしたらフリースタイルというcの思想がそもそも間違ってるのかもね。
まあ、自由というドグマに囚われた不自由なアメリカ人が作ったものだからな。

120 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:38:38 ]
単文とか複文という概念が無いModula2最強ってことでw

121 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:59:53 ]
GNUのスタイルがキモいと思ってる人間は少くないんだから
コミッターや開発者の間で民主的に多数決でもとって GNU v2 のスタイルでも
決めてくれればいいものを。

一部の変人がコーディングスタイルを決めて、それがデファクトスタンダードになって
しまってる現状に疑問を投げかけてもいいんじゃない?

>>118みたいに人格攻撃しかしないバカには理解できないだろうけど

122 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:32:19 ]
GNUよりも>>118がキモイ

123 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:38:14 ]
結論:>>118はキモイ

124 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:11:13 ]
>>118の反響の大きさにワラタ



125 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:19:30 ]
>>118のキモさに泣いた

126 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:54:09 ]
>>118になにがしか反応せずにはいられないやつがこれだけいるとはw

127 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:58:36 ]
>>118だと聞いて飛んできました。

128 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:03:09 ]
幼児性って分断させるものなん?

129 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:06:30 ]
この勢いだと>>118が切断されそうです><

130 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 13:00:16 ]
>>121
「デファクトスタンダード」の意味調べて来い。

131 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:56:43 ]
>>130
>>121は、FLOSSなどと呼ばれるソフトウェアはLinuxカーネルを除いて
みなGNUスタイルで書かれてるとでも思っているのではないだろうか。


132 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:09:09 ]
>128
俺は一瞬「幼児を分断」と読んで萎えた

133 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 01:27:02 ]
そんなつまんないレスすると。負けずに

正しくは「幼児性の払拭」だね

なんつう、つまんないレスを(ry

134 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 13:58:05 ]
C++使いです
関数名、変数名の大文字小文字でずっと悩んでいますが、
スタイルはJavaやMSDNでいいと思っています 
でも、STLやBoostを使うと、バランス悪くなりませんか?



135 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 14:49:21 ]
それがC++標準のスタイル。気にしないのがベスト。
必要以上の一貫性は無意味だ。

136 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 03:20:35 ]
>>101
それはいつも悩んでます。俺はVBでcmdOkとかcmdCancelみたいなのに
慣らされてきたから、C#になったときにbuttonOkとかbuttonCancelとか
やってみたんだけど、確かに探しやすいんだがなんか気持ち悪い。
次のプロジェクトではokButton、cancelButton式にしたんだけど、やっぱり
探しづらい。どうしても「UI要素の分類」をキーボードから打ったあとで
候補から↑↓で選ぶ方が探しやすいと思うのだ。
そうして小さなプロジェクトを作るごとにあーだこーだ悩んだ末、
今ではプロジェクトごとにばらばらだ。それが一番ダメなんだってw

137 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 07:21:40 ]
プロジェクトごとにばらばらなのは許容範囲でしょ。
ダメなのはプロジェクト内で統一されてない時。

138 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 03:41:22 ]
>136
_をofと考えて、button of ok → button_ok

139 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:02:45 ]
/**
* ←このアスタリスクがめんどい
*/

140 名前:デフォルトの名無しさん [2007/05/09(水) 03:13:07 ]
C/C++/Java の複数行コメントのスタイルについて。
/*
* ←このアスタリスクがめんどい
*/
はじめに書くときにも面倒だし、後でコメント内のインデントを上げ下げ
するときにも激しくウザイ。そしてこの面倒さに対するメリットがよくわからない。

いっこだけ検索して見つけたのが、その行がコメントであることを行自身に
明示させる働きがあるとのこと。だけどそんなのエディタで開けば
色分けしてくれるし、そうじゃなくてもコメントとコードの区別は目で見れば
簡単に判別できる。機械的に判別させるためであれば、行頭アスタリスクで
始まるコードも書けてしまうので結局曖昧なままだし。

なんでこのスタイルがこんなに普及してるのか、知ってる人がいたら教えて欲しい。

141 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:15:14 ]
見た目がどうこうとかもっともらしい理由が言われ続けているから、ではなかろうか。

142 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:16:50 ]
モノクロの世界だと区別が分かりやすいってのはあるかもね。
いちいち打つのは面倒だからやりたくないね。
エディタが勝手に埋めてくれるから埋めとくかって感じだけど。

143 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:18:15 ]
>>139
それがそんなにめんどいなら、そのアスタリスクを付加するフィルタを簡単に作れるようになるべきかと。
固定文字列対応のことを考えるとめんどいけど

144 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:20:35 ]
>>142
そのエディタ、コメントの中のインデント調整してもアスタリスクの位置だけ
保持してくれたりする?



145 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 03:33:15 ]
んなもん頭に*つけたり外したりするのなんざエディタの仕事だろうが。
プログラマなんだからそれくらいエディタにやらせろよ。

146 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 13:41:49 ]
GNUは極度の後方互換とストールマソの趣味であんな規則になってるんでしょ
ところで単語の区切りはどうしてる?
do_somethingで単語を区切る方が好きだけどC++やJavaも使うから泣く泣くdoSomethingみたいに大文字で区切ってる

147 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 14:05:50 ]
>>140
javadocのせいじゃないの?

148 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 18:05:54 ]
MFC で C++ を覚えた俺から見ると DoSomething が一番自然に見えるw
C# と Java やり始めてようやく doSomething 式にしたけどまだ違和感があるな

149 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 19:42:35 ]
俺てきとうだなぁそのへん。
とりあえず周りに合わせる感じ。
C++でソロだとdo_something系だな、今は。

150 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:31:46 ]
>>148
C#はDoSomethingだろ
マイクロソフト様のガイドラインに書いてある。

151 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:34:24 ]
do.somethingみたいな具合に
doやsomethingそのものも柔軟に定義できてそれらの直行性を使って
複合的な機能が実装できればいいのに

152 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:39:04 ]
日本語おk

153 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:59:36 ]
放っておけ奴は「直行性」と言いたいだけだ
直交性に読み替えてみてもさっぱり意味が(ry
・・・もしかしてニモニック?

154 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:07:17 ]
>>150
マジすか
明日から堂々と DoSomething って書くわ、むろん Java でも



155 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:11:06 ]
>>154
Javaでのメソッド名、変数名についてはdoSomethingでたのむにょろ。

156 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:34:40 ]
変数名とメソッド名の見た目が同じなのが嫌という理由で
変数名は小文字アンダースコア区切り、メソッド名はCamelな俺。

157 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:36:15 ]
名前の途中に大文字だけの単語が出てくると
命名しててなんか気持ち悪くなるんだよね。

158 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:26:29 ]
>>146
変数名と関数名は全部小文字で単語間をアンダースコアで区切る。
クラス名はキャメルケースを使う。

という風に使い分けてる。

159 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 13:35:57 ]
Javaをアンダーバーで切ると標準ライブラリで見づらくなるじゃない?

160 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 14:57:56 ]
クラス名の先頭は大文字にしとけ

161 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 02:03:18 ]
クラス・関数・変数・定数・etcの区別に拘っている方に聞きたい。
関数ポインタとかファンクタ、デリゲート、const変数等はどう名付けてます?


162 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 02:52:04 ]
使用するライブラリに合わせるかなぁ。

>>161
デリゲートって悩むよねー
MS様のガイドラインではイベントハンドラ以外のは
〜Callbackにしろって書いてあったと思うけど、
明らかに守られてないし。(MethodInvokerとか)

あんまし関係ないけどWin32APIの定数はできるだけ
constの変わりにenum使うようにしてる。

163 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 13:48:41 ]
変数 => 全部小文字/アンスコ
メソッド => 先頭小文字/キャメル
クラス => 先頭大文字/キャメル
定数 => 全部大文字/アンスコ

かな。

164 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:40:44 ]
>>154
publicな名前はDoSomethingで、
privateな名前はdoSomethingと覚えておけばいい



165 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:26:27 ]
privateメソッドはどう名前をつけようが窯湾だろ。

166 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:20:54 ]
c++だとバッティングするリスクがあるのでちょっとは気にした方がいい。

167 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 21:43:21 ]
そのバッティングするリスクとやらをどうぞ

168 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 02:25:30 ]
ttp://www.mozilla-japan.org/hacking/portable-cpp.html
> C++ 標準規格 17.4.3.1.2 節 グローバル名 [lib.global.names] 第1パラグラフによると:
>
> 名前と関数シグネチャのある特定の組は、実装によって常に予約されています:
>  二重のアンダースコア(__)が含まれる名前、または後ろに大文字 (2.11) が付くアンダースコアで始まる名前は、
> ある目的のために実装によって予約されています。
>  アンダースコアで始まる名前は、グローバルな名前空間で使う名前として実装によって予約されています。

169 名前:デフォルトの名無しさん [2007/05/16(水) 08:11:48 ]
doxygen で @param に付く in, out って、つけたほうがいいんでしょうか?
ほとんど [in] だし、ポインタに const ついてなければ [out] または [in,out] なんで、
あんまり手動でつけて回るメリットが無いような気がしてます。

170 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 08:27:30 ]
>>169
私のところでは、過去との互換性でconstついてないポインタの時にはつけてる。

171 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 09:11:58 ]
クラスというか、抽象的に状態を保持してるオブジェクトを
渡すときは in も out も何かしっくりこないしねぇ。出したり入れたり
じゃなくて状態を変更するかどうかが重要って感じ?

172 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 12:50:24 ]
通常それをピストンというのでは?

173 名前:デフォルトの名無しさん mailto:age [2007/05/16(水) 14:45:20 ]
ほしゆ

174 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 04:21:30 ]
ケースセンシティブをなくせばこんな宗教戦争は解決するんじゃない?



175 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 10:20:53 ]
>>174
自動車をなくせば交通事故は無くなるんじゃない?

176 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 10:25:26 ]
>>175
いいえ、自動車以外の交通事故は残ります。
→ケース問題を除く宗教戦争は残ります。

177 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:07:30 ]
BASICって確か大文字小文字区別しないけど、
あの言語ってケース問題に関する宗教戦争ってないのか?

178 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:33:11 ]
8bit時代のBASICならいざしらず、VisualBaiscとか今時のBASIC使ってるヤツで
「大文字小文字同一視だぜ」とか言ってるやつはみたことないな。
普通に大文字小文字区別して「どう書こう?」ってやってる。


179 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 13:51:21 ]
Delphiが「大文字小文字同一視だぜ」なんだけど、
書籍やIT系サイトのチュートリアルっぽいコードで、たまに無茶苦茶なのを見かける。

一般向けに晒すコードなら、プロパティ名とかメソッド名はオンラインヘルプに記述されているとおりに書け。

# Delphiのヘルプは酷いから、そもそもオンラインヘルプで記述が統一されていないってのもあるが。

180 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 14:43:03 ]
MSDN見習わせたらエラー処理はしないしファイル番号は固定だし……

ってのは兎も角。
>>178
VisualBasicは大文字小文字を区別できるんですか?
例えばdim aa as integer, AA as integer, Aa as integerみたいに?
私ゃ保存はされるけど区別はできないと思っていたのだが。

181 名前:178 mailto:sage [2007/05/21(月) 15:01:39 ]
>>180
いや、区別しない。

>>178で言いたかったのは
「区別されないからAbcDefメソッドをABCDEFで呼ぶぜ」なんてやつはおらず、
VBでも「『AbcDef』がいいか『abcDef』がいいか(大文字小文字を意識して)どう書こう?」って
やってる、ってこと。

書き方悪かったかも。ごめん。

182 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 15:38:32 ]
でも自動車を無くせば自動車事故は起きなくなるね
#こういう考え方はいかん
#エロサイトを封じれば性犯罪が減ると思ってやがる

183 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 19:08:06 ]
>>182
コメントへの野暮なレスですまんが、
もとの「自動車を無くせば自動車事故は起きなくなる」に対応する
のは「エロサイトをなくせばエロサイトへの接続が無くなる」では。

# 縦読みを仕込みたかったが出来なかった。

184 名前:デフォルトの名無しさん mailto:sage [2007/05/22(火) 20:21:39 ]
エロサイトを封じたら、性犯罪は増えるんじゃないの?



185 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 00:14:54 ]
>>183
エロサイトを封じればエロサイトの広告、迷惑メールなどが減る。
→でもその他の広告などは残る。

186 名前:175 mailto:sage [2007/05/23(水) 01:40:16 ]
大文字小文字の区別をつけるか否かは、言語設計者が決めることだから、
その言語を使用する側が制御できることではないし、どうこう言うべきことでもない
と言いたかったのですが。

187 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 05:03:55 ]
最近はCOMとか.NETとかスクリプティングとか言語設計者の都合だけでは
決められない要素も出てきた

188 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 06:51:31 ]
COMは最近ではないと思うけど、まあそうだね。

189 名前:デフォルトの名無しさん mailto:sage [2007/05/23(水) 13:52:32 ]
機械語

190 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 08:01:29 ]
そういえばスペースだけでコーディングする言語あったよね
あれなら宗教戦争はなくなる

191 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 08:23:20 ]
ホワイトスペルマだっけ?

192 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:19:25 ]
しばらく開発から離れた仕事をしていたうちにハンガリアンはあまり使われなくなったみたいですが、どういった理由でですか?
カーソルをあわせれば型が出るからですか?
自分はカーソルあわせるのが面倒なのでハンガリアンで書いてますが・・・

193 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:25:52 ]
>>192
templateをゴリゴリつかったプログラミングなんかが流行ったこととかが関係してると思う。
ハンガリアンだと型を変えたときに名前まで変えなきゃならんしね。

↑これは型に対するハンガリアンのことであって、意味に対するハンガリアンは
いまでもそこそこ使われてると思うけど。

194 名前:デフォルトの名無しさん mailto:sage [2007/06/02(土) 00:41:42 ]
変数のスコープがやたらでかくなってないか、
関数でかすぎるせいでそうなってないか、
一回見直したほうが良い。



195 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 21:19:31 ]
悪しきシステムハンガリアンが消えて
本来のアプリケーションハンガリアンを用いる人が増えただけ

196 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 05:09:57 ]
ハンガリーってどこらへん?

197 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 11:45:17 ]
X系はdoSomething、GNU系はdo_something
ディストリをメンテしているオレの戦いは今日もつづく

198 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 16:30:30 ]
>>196
www.namamono.com/okotoba01.html (02年3月上旬)

199 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 16:37:28 ]
無駄に探す労力を割かす上につまんねぇ…
なんという糞レス…

200 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 20:07:08 ]
>>199
おーrrらー

201 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:08:52 ]
今までこう書いてたけど

変数 => 全部小文字/アンスコ
メソッド => 先頭大文字/キャメル
クラス => 先頭大文字/キャメル
定数 => 全部大文字/アンスコ

>>163さんと同じにした方がみやすいんじゃん
っておもた
でも先頭が小文字のキャメルは不自然に感じてしまう

202 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:33:07 ]
C#だけど結局

プライベートフィールド・ローカル変数   :ローワーキャメル
名前空間・クラス・関数・プロパティ・定数 :アッパーキャメル

に落ち着いた。
フィールドにアクセスするときは必ずthis付けるようにしてるから
ローカル変数と混同することはないはず。

今MSDNのガイドライン読んだらプライベートメンバの
名前付けに関してはなんでもいいみたいだな。

203 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 23:17:56 ]
>>202
構造体・クラス・列挙体にはリーディングタグつけないやっぱり?
C#だとやってる人ほとんどいないなどういうわけか。

enumはともかく、クラスと構造体の違いは勘違いしてると致命的になる場合が
あるから、つけた方がぜったいコード読みやすいと俺は思うんだけど。

204 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 00:11:27 ]
MS的にNGな気がする。



205 名前:デフォルトの名無しさん [2007/06/29(金) 01:18:09 ]
>>163氏の命名法で

変換テーブル的に使う変数(例えば数値→文字へに使うようなmap型の変数)や
関数オブジェクトのインスタンスなら関数と同じような命名法である
>先頭小文字/キャメル
を適用したいのです

こういう類の変数で初期化時に設定してあとは殆ど変更しなかったり、
初期化部分以外での扱い方が関数的(mapの例だとmap[x]でxに対応する値の取得に使われる)たりで
メソッドとみなしてメソッドに対する命名法を適用しても問題ない気がするんですがどうでしょう?

それでも変数である以上変数に対するルールを出来る限り使用するべきでしょうか?

206 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 10:02:57 ]
>>203
C# は結局、VS のインテリセンスに頼ること前提だから、
クラスと構造体の勘違いは気にしなくてもいいのかも。

207 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 12:44:20 ]
P/Invoke以外で構造体作ったこと無いなー。

208 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 18:08:36 ]
>201
Javaだと先頭小文字のキャメルってよく使うよ。
何せ標準ライブラリがそうなってるからな。
M$は先頭大文字キャメルLoveみたいだが。

209 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 20:11:36 ]
.NETは、
名前空間名、型名、パブリックメンバ名はPascalCase、
関数の引数名はcamelCase

210 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 02:29:48 ]
正直Camelで区別するのって、ハンガリアンと同じモノを感じるのは漏れだけですか。

211 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 03:07:50 ]
ハンガリアンはハンガリアンでもアプリケーションハンガリアンは全然おkだよ
getXXXとかのgetのようなものも役目としてはこれに近いから同じように感じるのも無理はない

212 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 16:52:56 ]
C#でLogというクラスを作ったわけですよ。で、ログの種別を
区別するための列挙型をLog.Typeと命名したんですね。
.NETのライブラリでもアッパーキャメル規約になってるっぽいですから。

で、メンバ変数としてType Log.typeを定義したのです。ここまでは
分かりますね。さらにLog.typeを外部から直にアクセスして欲しくないので
typeにアクセスするプロパティを定義すると。MS式の記法だと、やっぱり
Log.Typeが妥当かな?


  型 'Log' は 'Type' の定義を既に含んでいます。

213 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 01:04:30 ]
>>212
キャメル云々はそれでよいと思う。

名前が重複する件は、列挙型はTypeでよくて、プロパティの方は「○○のためのType」という
○○の部分をうまく補ってあげればいいんじゃないかな。

214 名前:212 mailto:sage [2007/08/17(金) 03:18:25 ]
「○○のためのType」がこの場合、本当に「ログのためのType」としか
表現のしようがないのが辛いです。
列挙型はLog.Typeで、プロパティはLog.LogType…うーむ。

余談ですが、列挙型の識別子を“TYPE”と全部大文字表記
(長い場合はアンダースコア区切り)にすることも考えました。
しかしその方法でも内部クラスとかの命名になるとお手上げ…。



215 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 00:09:00 ]
TypeIdとかTypeNoとか。

216 名前:デフォルトの名無しさん [2007/08/24(金) 04:14:41 ]
C++だけど、こんな感じで関数名と変数名がバッティングするときどうします?

class Ore {
public:
  bool isNeet() const { return isNeet; }
  // if (ore.isNeet()) { ... } とか呼びたい

private:
  bool isNeet;
};

1. こういうの嫌だから関数を大文字で始めてるYO(isNeet()をIsNeet()に)
2. こういうの嫌だから変数にプリフィックスなどをつけてるYO(isNeetをm_isNeetやisNeet_に)
3. 変数名を変えちゃうYO(isNeetをneetとか……形容詞ならともかく名詞だと変な気が。
  なんかもっといいネーミングとかありますかね)

なんかJavaだと↓で普通に通っちゃうんだけど。理屈はわかりませんが。

class Ore {
  public boolean isNeet() { return isNeet; }
  private boolean isNeet;
}

関数名が小文字で始まるほうがコードが柔和な気がするのでC++でもそうしたいんですが、
(メイヤーズ先生も小文字で始めてるし)
どうもここがちょっと引っかかって。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<102KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef