クラス名・変数名に迷ったら書き込むスレ。Part19
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2010/12/24(金) 23:33:49命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part18
http://hibari.2ch.net/test/read.cgi/tech/1277016982/
0809デフォルトの名無しさん
2011/05/14(土) 14:06:44.59「全体として読みやすければ」日本語も全く問題ない
今のところ自分では全体として読みやすくできないから日本語は使いものにならん
0810デフォルトの名無しさん
2011/05/14(土) 14:20:21.96日本語名の欠点はむしろ入力の方。
だから自分で触る必用のないサンプルコードとかなら全然無問題。
弄る必用のあるコードで使うのは却下。
0811デフォルトの名無しさん
2011/05/14(土) 23:50:29.750812デフォルトの名無しさん
2011/05/14(土) 23:57:07.34ハンガリアン、ハンガリアン♪
の後って何て歌ってるんだっけ?
0813デフォルトの名無しさん
2011/05/15(日) 00:07:23.220814デフォルトの名無しさん
2011/05/15(日) 00:12:23.942chにはそういうおかしな奴が多いけどね。
0815デフォルトの名無しさん
2011/05/15(日) 00:20:12.700816デフォルトの名無しさん
2011/05/15(日) 00:21:57.94そういう奴らでも生まれついての馬鹿であるお前よりましだけどな
0817デフォルトの名無しさん
2011/05/15(日) 09:12:40.01いろいろはしょって質問するけど、
buttonOkはアプリケーションハンガリアンに属するの?
0818813
2011/05/15(日) 11:20:03.69自分は>811に対応しただけなんで分からん。
buttonOkとcheckOkとradioOkが共存するようなプログラムなら、そうかも。
0819デフォルトの名無しさん
2011/05/15(日) 23:45:25.75そして buttonOk はシステムハンガリアンだろ
0820デフォルトの名無しさん
2011/05/16(月) 12:15:02.12ああそうか、button型を用意するという話か。単なる二値型くらいの認識だった。
0821デフォルトの名無しさん
2011/05/20(金) 01:36:58.39Commonなんたらって名前って使い時むずいよね
0822デフォルトの名無しさん
2011/05/20(金) 01:54:36.520823デフォルトの名無しさん
2011/05/21(土) 14:54:11.560824デフォルトの名無しさん
2011/05/22(日) 08:57:01.970825デフォルトの名無しさん
2011/05/22(日) 09:00:08.920826デフォルトの名無しさん
2011/05/22(日) 09:38:35.610827デフォルトの名無しさん
2011/05/26(木) 07:00:56.57下手にButtonをBtnとか省略すると、使うコントロールの種類が増えると覚えるの
大変。カレンダーコントロールの省略形なんだっけ?みたいな。それがプロジェクト毎に
違うともう最悪。コーディングでいちいち手が止まる。ということで前やった
プロジェクトで、最初省略形使ってたが、変えさせた。
0828デフォルトの名無しさん
2011/05/26(木) 08:05:34.390829デフォルトの名無しさん
2011/05/26(木) 17:15:23.68どういうふうに変えさせたのか?(一元化させたのか?)kwsk
0830デフォルトの名無しさん
2011/05/26(木) 17:32:58.71Label → hogeLabel
Button → hogeButton
RadioButton → hogeRadioButton
RadioButtonList → hogeRbl
DropDownList → hogeDdl
0831デフォルトの名無しさん
2011/05/27(金) 09:13:29.49省略形一切排除させただけだよ。3,4語だろうとそれ以上だろうと、xxxフルコントール名に
させた。最初はプロパーの人に対応表みたいの配られたが、いろんな会社の人で集まってやる
プロジェクトでその対応表廃止させた。ルール1個増える=考えて手が止まる時間増えるだから、
ルールはシンプルにさせた。っていってもあくまでコントロール名だけのルールね。
まぁ、技術者のレベルさまざまだろうから、コード補完使わないで1文字ずつ
タイプしてる人いたらあれだけど。hogeRadioButtonList全然問題なし。
0832デフォルトの名無しさん
2011/05/27(金) 09:20:26.840833デフォルトの名無しさん
2011/05/27(金) 22:41:30.710834デフォルトの名無しさん
2011/05/28(土) 03:44:27.780835デフォルトの名無しさん
2011/05/28(土) 06:11:39.390836デフォルトの名無しさん
2011/05/28(土) 12:23:32.67RadioButton,Radiobutton
ClassName,Classname
0837デフォルトの名無しさん
2011/05/28(土) 12:30:42.12なぜかFileNameとFilenameは迷う。
0838デフォルトの名無しさん
2011/05/28(土) 12:56:25.32いろんなAPIでFileNameとFilenameが混在しているからでは?
0839デフォルトの名無しさん
2011/05/28(土) 13:43:33.73〜s にしようか、〜Num にしようか、〜Count にしようかなど
ひとつのプロジェクト内で揃えた方がいいのは分かっているが・・・
たいてい無難に num〜 に落ち着かせるが、なんか負けた気がする
0840デフォルトの名無しさん
2011/05/28(土) 14:02:21.93かわいいなw
0841デフォルトの名無しさん
2011/05/28(土) 14:05:01.11ささいな変数にごっちゃりした名前をつけたくない。
0842デフォルトの名無しさん
2011/05/28(土) 14:19:10.53これは教条主義でもなんでもなく、普通はそう「したい」と思うだろ。
だって些細な変数の名前の意味を推測するのなんか時間の無駄でしかない。
少なくとも"n_items"を見て即迷い無く"number of items"の意味だと分かる人間が
書いた本人以外にいると思えないね。
0843デフォルトの名無しさん
2011/05/28(土) 14:37:38.780844デフォルトの名無しさん
2011/05/28(土) 14:45:02.82http://www.google.com/codesearch
で\Wn_とか調べてみるといいさ。俺はその文化に従っただけ。
0845デフォルトの名無しさん
2011/05/28(土) 14:52:17.97俺はnum_xxx、numXxxを薦める
0846デフォルトの名無しさん
2011/05/28(土) 15:05:38.03実際にコードに出てくる変数はその1つじゃないから全体がシステムハンガリアン
かどうかは既知のはず。
0847デフォルトの名無しさん
2011/05/28(土) 16:36:38.51「いろはにほへと」の方の文字列を格納する変数の名前は何が良いでしょうか
0848デフォルトの名無しさん
2011/05/28(土) 16:40:12.150849デフォルトの名無しさん
2011/05/28(土) 17:37:05.650850デフォルトの名無しさん
2011/05/28(土) 17:44:46.15インスタンスメソッドならNGを出すな、俺。
0851デフォルトの名無しさん
2011/05/29(日) 04:29:21.37どっちのハンガリアンだとしても、nが頭についてたらサイズ以外の何に見えるんだろう。
0852デフォルトの名無しさん
2011/05/29(日) 12:16:06.09ハンガリアンはキモい
0853デフォルトの名無しさん
2011/05/29(日) 12:17:15.640854デフォルトの名無しさん
2011/05/29(日) 12:42:24.20言われてやっと思い出した。
自分でも10年前はそんなコードを書いていた気がする。
が、今同じことやれと言われたら断固拒否だな。
0855デフォルトの名無しさん
2011/05/29(日) 13:05:05.35を表すとなっていたら、別に違和感なく書ける。
断固拒否 とかの理由が知りたいもんだ。
単なる好みなの?
0856デフォルトの名無しさん
2011/05/29(日) 13:14:46.76>>855
こういうの肯定する人って「そのルールを知ってれば自明だから問題ない」って言うんだけど、
逆を返せば「ルールを知らない人には意味不明だから問題」なんだよな。
0857デフォルトの名無しさん
2011/05/29(日) 13:16:43.88情報の圧縮は、それが理解できる場合に限り常に正義だからな
変数名だって理解出来るなら短い方が良い
0858デフォルトの名無しさん
2011/05/29(日) 13:18:24.28そもそも同じことはもっと明示的にitemCountとか、せめてnumItemsと書ける。
たった2,3文字節約するメリットと可読性を損なうデメリットのどっちを重視すべきかは
常識があれば明らかだな。
0859デフォルトの名無しさん
2011/05/29(日) 14:00:34.02>逆を返せば「ルールを知らない人には意味不明だから問題」なんだよな。
だから、「コーディング基準」って書いてあるんだけど。
断固拒否するほど、意味不明なのか?
0860デフォルトの名無しさん
2011/05/29(日) 14:04:06.67> itemCountとか、せめてnumItem
これが明示的かどうかは人によるんじゃね?
少なくとも俺には、n〜 と同等としか思えない。
0861デフォルトの名無しさん
2011/05/29(日) 14:13:53.34でもグローバルに見て結局どっちの宗教が優勢になったかは明らかだと思うが。
>>860
OKでは対案please
0862デフォルトの名無しさん
2011/05/29(日) 14:16:57.38数学では集合Aの要素の個数はn(A)で表すし、C言語の標準関数にはstrncatやstrncpyがある。
名著「プログラミング作法」1.1名前 の節でも
> グローバルには分かりやすい名前を、ローカルには短い名前を。
とあり、分かりやすいグローバル変数の名前の例として次のものが載っている。
> int npending = 0; // 現在の入力キューの長さ
0863862
2011/05/29(日) 14:19:56.58当たり前だがitemCountやnumItemが悪いという意味ではないからな
0864デフォルトの名無しさん
2011/05/29(日) 14:25:26.81それと今時C(というかUNIX?)の省略文化を肯定的に見てる人っているの?
俺が拒否する理由は結局(システム)ハンガリアンが破綻する理由と同じ。
数個の略号で済むほど世界は単純じゃないから、略号を識別に使おうとする文化は
結局略号を覚える負担をプログラマに強いることなるだけ
0865デフォルトの名無しさん
2011/05/29(日) 14:30:30.37>でもグローバルに見て結局どっちの宗教が優勢になったかは明らかだと思うが。
俺にはとても明確と思えないけど、どっちが優勢で、その根拠は?
>OKでは対案please
個人的には NumberOf〜 としているが、人に押し付ける気はないよ。
0866デフォルトの名無しさん
2011/05/29(日) 14:45:04.69nが常識として個数、長さの意味で広く使われているという事実を指摘しただけで
補足で書いたとおり、俺もそれを押し付けるともりはないよ
まぁ、常識だけに読めないのは困りものだけど
0867デフォルトの名無しさん
2011/05/29(日) 14:55:01.00>数個の略号で済むほど世界は単純じゃないから、
(個数とかの) よく使うものだけ略号にして、それ以外は
フルで書くようにすればいいだけじゃないの?
0868デフォルトの名無しさん
2011/05/29(日) 16:04:28.11良く現れる語には短い記号列を当てるのが合理的
個数なんてプログラムでは最も良く現れるもののひとつだから
一文字nは十分に合理性がある
0869デフォルトの名無しさん
2011/05/29(日) 16:12:12.15さすがにネタ?
まあ全然面白くないけど
0870デフォルトの名無しさん
2011/05/29(日) 16:17:10.65ついに低能が反論出来なくなりましたwww
0871デフォルトの名無しさん
2011/05/29(日) 16:19:58.47>>862にあるように慣例に反してるわけでもない
0872デフォルトの名無しさん
2011/05/29(日) 16:38:33.93だけど、簡略化の規則が(プロジェクト毎に)異なるくらいなら簡略化しないほうがいい
0873デフォルトの名無しさん
2011/05/29(日) 17:08:13.67広く知れ渡った略記が存在するなら許容してもいい
0874デフォルトの名無しさん
2011/05/29(日) 17:23:07.85長さを表すメソッドをnにしようぜ。
items.n();
0875デフォルトの名無しさん
2011/05/29(日) 17:28:12.75今から振り返れば慣例というより「悪習」だと思うけど....
入力補完はおろかコピペすら手軽にできないエディタが一般的で、かつコードの規模も
ずっと小さかった牧歌的な時代の慣例を無批判無反省に受け入れるってどうかね。
0876デフォルトの名無しさん
2011/05/29(日) 17:30:33.68俺はコードに大規模化・複雑化が要求されている時代だからこそ、
名前は可能な限り明示的(ぱっと見て迷いなくわかる)であるべきで、
数文字の短縮のためにプログラマに規約の熟知を強いる名前なんか
この忙しい時代に論外だと思うし、それが世界のトレンドだと思うけどねー
0877デフォルトの名無しさん
2011/05/29(日) 17:48:25.39いつ変数名のprefix等の話がメソッド名の話になったの?
Java土方はコンテクスト理解できないから可哀想
>>875
世間のトレンドじゃなくて土方のトレンド
0878デフォルトの名無しさん
2011/05/29(日) 18:01:16.46ここで言ってるのってpublicな変数/関数名じゃなくて
privateもしくは関数ローカルな変数名だろ?
そんなのに省略しない変数名付けるとか
入力補完とか以前に読み難いわ
0879デフォルトの名無しさん
2011/05/29(日) 18:06:02.92そもそもそういう前提なら、itemsかcountで無問題。
"n_"みたいな修飾は冗長でしかない。
0880デフォルトの名無しさん
2011/05/29(日) 18:08:39.85そのスコープに個数を持つものが一つしか無いならそうだね
0881デフォルトの名無しさん
2011/05/29(日) 18:31:45.36そういう前提もなにもパブリック変数なんて
ほとんど使わないだろうに
0882デフォルトの名無しさん
2011/05/29(日) 18:35:35.96馬鹿は口開くな
0883デフォルトの名無しさん
2011/05/29(日) 19:18:46.92覚えてられないほど低能だと分かった
0884デフォルトの名無しさん
2011/05/29(日) 20:02:37.800885デフォルトの名無しさん
2011/05/29(日) 22:29:21.39正直、ローカル変数程度なら何でもいいわ。
0886デフォルトの名無しさん
2011/05/29(日) 22:31:22.63items、だと集合そのものと紛らわしいよ
ましてや配列から個数の情報が引き出せないC言語だと
配列とその個数を両方引数として渡す、なんてのは日常茶飯事だしな
0887デフォルトの名無しさん
2011/05/29(日) 23:16:51.76itじゃ2つ以上あると困るし。。。
0888デフォルトの名無しさん
2011/05/30(月) 04:08:42.721個ならitで済ませてる
0889デフォルトの名無しさん
2011/05/30(月) 10:37:07.200890デフォルトの名無しさん
2011/05/30(月) 15:54:16.22自分も良く集合体は複数形にするんだが、itemとitemsとnItemsが並んだときは流石に直そうか迷ったw
0891デフォルトの名無しさん
2011/05/30(月) 16:07:53.270892デフォルトの名無しさん
2011/05/30(月) 16:33:27.26問題になりそうな単複同形は、たとえば何だろう?
0893デフォルトの名無しさん
2011/05/30(月) 16:38:50.170894デフォルトの名無しさん
2011/05/30(月) 16:40:57.390895デフォルトの名無しさん
2011/05/30(月) 16:42:42.590896デフォルトの名無しさん
2011/05/30(月) 16:52:14.39indicesがいいのかindexesのままでいいのか。
あと、nameのリストをnamesとしたあと、
namesのリストをnamessと表現してる。
foreach (namess in namesss) foreach (names in namess) foreach (name in names)
いくらでもイケる。
0897デフォルトの名無しさん
2011/05/30(月) 16:54:32.17後者はディレクトリってのはわかるけど、
前者はディレクトリじゃなくてファイル名も含む?
もしくはどちらもおk?
・アップロードするディレクトリ(相対パス)
・アップロードするディレクトリ(絶対パス)
この2つのメンバ変数の名前で悩んでる
0898デフォルトの名無しさん
2011/05/30(月) 16:55:29.570899デフォルトの名無しさん
2011/05/30(月) 18:47:08.13ファイルを指し示すなら、path = dir + filename じゃないかな。
ファイルの保存位置とかなら、path == dir でいいかも。
0900デフォルトの名無しさん
2011/05/30(月) 19:19:18.03ここらへんのライブラリのインタフェースをみて参考にするという手もある。
0901デフォルトの名無しさん
2011/05/30(月) 19:25:01.56path: ファイルまたはディレクトリの場所
dir: ディレクトリの名前または場所
これ以外の解釈ってあるの?
さすがにこれってプログラマっていうよりパソヲタ1年生レベルの話の気がするけど...
0902デフォルトの名無しさん
2011/05/30(月) 21:55:31.67> indicesがいいのかindexesのままでいいのか。
複数形じゃないけど、 centre と center とか英語と米語で違う場合にけっこう悩む
0903デフォルトの名無しさん
2011/05/30(月) 22:04:43.990904デフォルトの名無しさん
2011/05/30(月) 22:21:57.290905デフォルトの名無しさん
2011/05/31(火) 02:00:44.32英文法上どうかより、プログラミング的に分かりやすいかどうかが大事なので
無理矢理にでも複数形にするよ。
0906デフォルトの名無しさん
2011/05/31(火) 02:17:40.760907デフォルトの名無しさん
2011/05/31(火) 04:53:11.85それと数えられない名詞にsをつけるのは英文法上は間違っていない。
例えばwatersといえばコップとかバケツとか何かの容器に入ってるんだろと解釈されるだけ。
0908デフォルトの名無しさん
2011/05/31(火) 09:26:14.53レス数が900を超えています。1000を超えると表示できなくなるよ。