[表示 : 全て 最新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/

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++でもそうしたいんですが、
(メイヤーズ先生も小文字で始めてるし)
どうもここがちょっと引っかかって。

217 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 04:29:23 ]
>>216
isNeet = false とかがキモイのもあって、 neetFlag とかにしちゃうかな。
m_neet もアリだな。

218 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 10:53:28 ]
>>216
メソッド名を大事にしたいならフィールド名にちょっと引込んでもらうしかないのでは。
自分ならサフィックスにアンダーバーつける。

>>217
「isNeetを内部で保持するのはneetFlag」みたいなのって、頭使うの面倒じゃない?
まれにはそういう置きかえがピッタリいくこともあるけど、ほとんどの場合は
機械的に「プレフィックスつけてるっすー」とかの方が、余計なことに気を回す必要がなくて楽だと思う。

219 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:44:34 ]
_*
m_*
がいいよ。

メンバ変数を他の変数と区別できるようにするのは、
CodeCompleteでも薦められてるようなよくやるパターンです

220 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:21:18 ]
メンバ変数はname_にしてる。

221 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:27:52 ]
>219
_FollowedByUppercaseLetterはコンパイラ&ライブラリ実装者用の予約語なので、
_nameも避けといた方が無難。
#double__underscoreもね

222 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:32:37 ]
前にアンダーバー置くのはイクナイね。

223 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:35:48 ]
某所で、初心者にえらそうに教えてるやつが、Cなのに構造体のメンバにm_をつけてた。
意味をわかってつけてるのか。

224 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 03:11:13 ]
>>219
_name をつけるほど自信家じゃない
grepしたときやたらと似たようなのが引っかかりそうだし
それにエディタの行位置表示を下線にしてあるから、見えなくなる



225 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 03:16:23 ]
>それにエディタの行位置表示を下線にしてあるから、見えなくなる
これが理由なら、阿呆だ。

226 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 06:17:51 ]
>>223
member の m なら C の構造体でも間違いではないだろ。

227 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 09:51:01 ]
>>221
たぶんそれ、グローバルな名前がそうなだけ

228 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 09:53:05 ]
予約識別子だから、マクロ名を含めて、ソースコード中に出現してはならんよ。

229 名前:227 mailto:sage [2007/08/25(土) 11:29:28 ]
すまん>>221は、_の後に大文字が来るのが最もマズいって言ってんのか

230 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 13:13:08 ]
外からしか扱わないメンバに m_ とかつける必要は無いだろ。

struct Point { int m_x; int m_y };
Point p0 = { 0, 0 };
Point p1;
p1.m_x = p0.m_x + 1;

とか無意味。
scope の間違えようがない。

231 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:37:30 ]
class Hoge {
private:
struct {
int x;
int y;
} m;
}


232 名前:227 mailto:sage [2007/08/26(日) 00:16:02 ]
>>231
やめなさいw

233 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 01:06:27 ]
>>231
とてもアリな気が今した!

234 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 20:47:53 ]
>231
コレ継承先から継承元の変数見るのが面倒では…
あー、もしや変数は全部privateにしろって事?



235 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 21:13:48 ]
>>234
>あー、もしや変数は全部privateにしろって事?
当たり前じゃん。

236 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 00:31:17 ]
>>234
structなしでint m_x;とか書いたのに比べて、なにか不便になることってあるの?






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

前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