クラス名・変数名に迷ったら書き込むスレ。Part20
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/07/29(金) 21:32:01.00命名規則や設計の善し悪しについて議論するのは基本的に禁止。
前スレ
クラス名・変数名に迷ったら書き込むスレ。Part19
http://hibari.2ch.net/test/read.cgi/tech/1293201229/
0259デフォルトの名無しさん
2011/11/04(金) 09:00:21.450260デフォルトの名無しさん
2011/11/04(金) 09:10:25.080261デフォルトの名無しさん
2011/11/04(金) 09:20:56.56なんでもドキュメント読めばいいで終わらせてたら名前なんていらんわ
0262デフォルトの名無しさん
2011/11/04(金) 09:25:01.92下手するとシステムハンガリアン() と言われかねないし。
0263デフォルトの名無しさん
2011/11/04(金) 09:36:47.14「〜のよくわからない集合」って書くのと「〜のリスト」「〜のスタック」
と書くのどっちがましかという話
まともな神経をしてれば後者を選ぶだろう
コンテナの抽象化はパフォーマンスに直結する悪手だよ
0264デフォルトの名無しさん
2011/11/04(金) 09:52:21.50困ったことが一度としてないんだがw
0265デフォルトの名無しさん
2011/11/04(金) 10:12:37.98「〜の集合」てのが最も重要でこれが基本
データ構造を付け足すかどうかはオプション
0266デフォルトの名無しさん
2011/11/04(金) 10:16:33.140267デフォルトの名無しさん
2011/11/04(金) 10:23:55.59下位の、より小さなコンテナの変数を、getterで外に出すような展開もべつに無いし。
0268デフォルトの名無しさん
2011/11/04(金) 10:27:03.38名前だけで判断しようとしてるからコケる
0269デフォルトの名無しさん
2011/11/04(金) 10:48:34.99例えば検索するときにどのアルゴリズムを選択するかとかが判断しにくくなる
出社してそれほど時間が経過していなくて頭がすっきりしていて型が完全に頭に入った状況でのコーディングならhogesで問題はないが
何時間もディスプレイやキーボードと格闘して疲労の溜まったPGが5分前の記憶を覚えてるとは限らない
そのたびにhogesってどんな集合だっけとプロトタイプを確認する作業が追加される
さいしょからsortedHogeVectorと名前がついてれば3日徹夜した後であろうとも直ちにランダムアクセス可能、二分探索が有効とわかる
0270デフォルトの名無しさん
2011/11/04(金) 10:52:39.18でおk
0271デフォルトの名無しさん
2011/11/04(金) 10:55:59.53変数名を工夫したところで負担の小さいコードにはならない。
0273デフォルトの名無しさん
2011/11/04(金) 11:27:20.400274デフォルトの名無しさん
2011/11/04(金) 11:41:05.22へぇ
0275デフォルトの名無しさん
2011/11/04(金) 11:41:12.28やっぱ遅いから同じインターフェイスのあっちの実装にとかなったら、
変数名ぜんぶ変えなきゃいけなくなっちゃう。
0276デフォルトの名無しさん
2011/11/04(金) 11:42:13.300277デフォルトの名無しさん
2011/11/04(金) 12:42:11.06同意
>>269 なんか、パフォーマンス考えたら配列から
ツリー構造(順序付きキュー)に変わる可能性も大いにある
そうなったら、
何時間もディスプレイやキーボードと格闘して疲労の溜まったPGが
sortedHogeVector を全部変えるんだぞ
まぁ、普通そういう探索アルゴリズムとかは、
コンテナを利用する側ではなく提供する側が実装すべきだけどな
まさに実装方法に依存するんだし
0278デフォルトの名無しさん
2011/11/04(金) 12:43:47.070279デフォルトの名無しさん
2011/11/04(金) 15:07:25.730280デフォルトの名無しさん
2011/11/04(金) 15:50:57.20メンバ関数やインラインのヘルパ関数を適切に使っていれば変数名なんて長くても三文字(気をきかせるなら一行コメント)もあれば十分と気がつくよ
0281デフォルトの名無しさん
2011/11/04(金) 15:57:52.320282デフォルトの名無しさん
2011/11/04(金) 16:00:40.890283デフォルトの名無しさん
2011/11/04(金) 18:00:57.780284デフォルトの名無しさん
2011/11/04(金) 18:01:53.94変数名自体は何文字でも良かったか
0285デフォルトの名無しさん
2011/11/04(金) 18:25:16.400286デフォルトの名無しさん
2011/11/04(金) 23:37:36.00お前はメモ帳でコーディングしてんのか?
0287デフォルトの名無しさん
2011/11/04(金) 23:42:28.200288デフォルトの名無しさん
2011/11/06(日) 11:24:21.190289デフォルトの名無しさん
2011/11/10(木) 17:19:22.13isStore にしてるんですが、何か違う気がしてます。
〜別、という場合はどんな名前が良いでしょうか?
0290デフォルトの名無しさん
2011/11/10(木) 18:13:31.63〜別だとpartとかsectionとかsegmentとか
どれもフラグっぽくないな
store_sectionとかするとcobolっぽくなるな
0291デフォルトの名無しさん
2011/11/10(木) 18:46:29.750292デフォルトの名無しさん
2011/11/10(木) 18:49:43.520293デフォルトの名無しさん
2011/11/10(木) 19:01:35.590294デフォルトの名無しさん
2011/11/10(木) 22:21:25.52SetShowsByStore(value : bool) : void { showsByStore = value; }
ShowsByStore() : bool { return showsByStore; }
0295デフォルトの名無しさん
2011/11/11(金) 00:29:16.130296デフォルトの名無しさん
2011/11/11(金) 08:13:53.47if( isStore ){
〜
}
とかやってると思うとゾワッと来た
0297デフォルトの名無しさん
2011/11/11(金) 08:37:57.010298デフォルトの名無しさん
2011/11/11(金) 11:02:00.510299デフォルトの名無しさん
2011/11/11(金) 18:25:55.53これってOOの場合のみなんだろうか
0300デフォルトの名無しさん
2011/11/11(金) 18:29:52.420301デフォルトの名無しさん
2011/11/11(金) 19:37:22.88↓
hoge.isValidObject();
↓
hoge.isValid();
0302デフォルトの名無しさん
2011/11/12(土) 04:33:37.340303デフォルトの名無しさん
2011/11/12(土) 05:33:05.620304デフォルトの名無しさん
2011/11/12(土) 07:59:33.42is〜の形式が、疑問文かどうかという問いに一切触れてなくね?
0305デフォルトの名無しさん
2011/11/12(土) 10:00:33.43「XXXはYYYである」
という命題の真偽を返り値として返すということ
だって疑問文だとnotしたときにおかしくなるだろ?
0306デフォルトの名無しさん
2011/11/12(土) 11:08:47.58でも、「bool変数やboolを返す関数は、疑問形で命名してね」
ってガイドラインはちらほらあるのが現実なんだよね(´・ω・`)
ところで、notしたときってのは !isHoge がおかしいってこと?
まさか isNotHoge じゃないよね?
0307デフォルトの名無しさん
2011/11/12(土) 11:19:20.110308デフォルトの名無しさん
2011/11/12(土) 11:24:06.83配列とか渡してそこからXXXの場合だったらhasXXX?
0309デフォルトの名無しさん
2011/11/12(土) 11:27:48.19に対して
有効ならyes
そうでないならno
直感的にはyesはtrue、noはfalseだ
if(!obj.isValid()) { homuhomu(obj); }
と書いた時に、!obj.isValid()を否定疑問文(つまりIsn't obj valid ?)であるとすると
英語圏の人間はobjが有効(yes)ならhomuhomu(obj)すると認識してしまう
ところが!obj.isValid()をたんなる否定命題(Obj isn't valid.)で返り値がその真偽であるとすれば直感との齟齬は生じない
英語圏の人間でもobjが無効の場合にhomuhomu(obj)するのだと直ちに理解できる
0311デフォルトの名無しさん
2011/11/12(土) 11:39:02.53ああ、そういうことか。
確かにそうだな。
で、何故HogeじゃなくHomuになってるか釈明を。
0312デフォルトの名無しさん
2011/11/12(土) 12:02:42.140313デフォルトの名無しさん
2011/11/12(土) 12:23:51.200314デフォルトの名無しさん
2011/11/12(土) 12:34:11.30中学英語をやり直せば理解は深まると思います
0315デフォルトの名無しさん
2011/11/12(土) 12:34:42.76>>313 さんごめんなさい
0316デフォルトの名無しさん
2011/11/12(土) 12:49:45.93やり直すためには既に一度はやっている必要がある
0317デフォルトの名無しさん
2011/11/12(土) 13:00:27.62今後慎みます
0318デフォルトの名無しさん
2011/11/12(土) 13:41:17.36一瞬なるほど、と思ったがちょっと違う気もするね。
確かにtrueにyes、falseにnoが対応していると考えるとそういう論理が成り立つけど、
trueにright、falseにwrongが対応していると考えると話は変わってくる。
0319デフォルトの名無しさん
2011/11/12(土) 13:47:26.120320デフォルトの名無しさん
2011/11/12(土) 13:53:49.73You are wrong.
Yes, he is ( a dirty old man).
0321デフォルトの名無しさん
2011/11/12(土) 14:11:50.52そんな文学的な解釈をしているやつがいるのか.
0322デフォルトの名無しさん
2011/11/12(土) 14:19:47.96センスないやつがよくこういう余計な事考えるんだな
0323デフォルトの名無しさん
2011/11/12(土) 14:24:08.44既存の知識だけで納得しようとして陥る罠だな
0324デフォルトの名無しさん
2011/11/12(土) 17:17:44.22まさか!?って思うけど本気でわからない子いるからね
0325デフォルトの名無しさん
2011/11/12(土) 17:55:22.340326デフォルトの名無しさん
2011/11/12(土) 20:44:04.42NOT(obj.isValid())
ってだけだろ
プログラミングを知らない英語圏の人ならどう読むか分からないが
知らない時点でどうせ読めないのでどうでもいいだろ
アホカ
0327デフォルトの名無しさん
2011/11/12(土) 20:47:12.12命名は適当でよい
ドキュメントを読まないバカはいないし
ドキュメントを読めば名前などオマケにすぎないからである
0328デフォルトの名無しさん
2011/11/12(土) 21:46:45.320329デフォルトの名無しさん
2011/11/12(土) 23:42:52.060330デフォルトの名無しさん
2011/11/12(土) 23:58:09.41開発が終わったら「すぐに」、後の人間や英語圏の人間にも分かるように、
メンテナンス担当の人間が全ての名前を適切に置換しておく
ついでに、変更しまくった仕様もちゃんとドキュメントにまとめておく
0331デフォルトの名無しさん
2011/11/13(日) 00:02:27.980332デフォルトの名無しさん
2011/11/13(日) 00:06:59.43そこまでのコードはまだ見たことがないなぁ
例えばどんなの?
0333デフォルトの名無しさん
2011/11/13(日) 08:16:47.430334デフォルトの名無しさん
2011/11/13(日) 12:04:25.90それは違うだろ
「コードの錬金術師」や「日常会話に擬態した暗号」との絡みが全くない
一般的に錬金術師は金でないものを金にする人のことなんだから、
もともと自然言語の文書とはほど遠い文法やキーワードを持つ言語を使って、
自然言語の文書であるかのようなコードを書く人を「コードの錬金術師」と喩えているのだろう
それがどの言語のどのコードのことか、誰のことを言っているのか全く分からん
0335デフォルトの名無しさん
2011/11/13(日) 12:33:18.01>一般的に錬金術師は金でないものを金にする人のことなんだから、
>331の造語か、英語の和訳なのかで全く意味が変わってくるなw
0336デフォルトの名無しさん
2011/11/13(日) 13:00:23.08言ってるだけだと思うよw
ノストラダムスの解読じゃあるまいし、錬金術師という言葉の本来の意味なんか
ほじくり返しても意味ないでしょw
彦麻呂のフレーズみたいなもんで、そこまでの含意なんかないと思うよ。
単にその能力の非凡さ(可読的なコードを書ける人は意外と少ない)を表現してるだけでしょ。
0337デフォルトの名無しさん
2011/11/13(日) 13:41:22.82いくら何でも言い過ぎではないか?
もしそんなコードが書けるのなら、
そのテクニックや考え方などを是非教えてほしい
0338デフォルトの名無しさん
2011/11/13(日) 13:47:06.660339デフォルトの名無しさん
2011/11/13(日) 13:54:19.190340デフォルトの名無しさん
2011/11/13(日) 14:31:05.48「俺はもう何もしない。もし俺が取り憑いていたら再利用poolに放りこんでくれ」クラスと
「俺はもう何もしない……が、まだ占有しているので再利用しないでくれ」クラスを
明確に分けたいのですが、なんか気の利いた名前が出てきませんし、
どうしても名称が長くなってしまいます。
適度に短く、ある程度のプログラマなら名前で
意図を理解できるようなクラス名を教えてください。
0341デフォルトの名無しさん
2011/11/13(日) 14:32:02.78>>332,334,337 は私なんだけど、なんで勝手にそう決めつけるの
>>335
じゃあ「コードの錬金術師」という表現は無かったことにするにしても、
「日常会話に擬態した暗号」というコードは私は見たことがないのですが貴方はありますか?
擬態と言うからには、そのコードの本来の意味が一般には分からないことを意味する
本来の意味が容易に分かってしまっては擬態ではない
ここでいう本来の意味というのは、そのコードが実現する処理、つまり意味論
擬態によって一般人が目にするのは >>331 によれば自然言語の文書
そして、その自然言語の文書から本来のコードの意味論は容易には悟られないし、
全く意味の違う自然言語の文書としては普通に読める
そのようなコードを一体誰が何の目的で書くのでしょうか
そのようなコードはメンテナンスするには全く役に立たない
また、C#やJavaなどのコードの暗号化としてもオーバースペックだし、
そういう暗号化は普通は人間ではなくコンピュータが行う
というようなとっても不思議なコードなのだが、>>331 にはぜひ例文を見せてほい
0342デフォルトの名無しさん
2011/11/13(日) 14:36:19.83reusable、および nonreusable はどうでしょう
0343デフォルトの名無しさん
2011/11/13(日) 14:41:58.07それって利用者側にpoolに返すかどうかを処理させるの?
名前を考える前に設計を見なおさないとだめなパターンだな
0344デフォルトの名無しさん
2011/11/13(日) 14:42:53.90友達いない空気出てる
0345デフォルトの名無しさん
2011/11/13(日) 14:50:36.90全国や世界中(こちらは少ないですが)にいますよ
大人になってからは増える一方で減らしたことも無いですし
どこまで突っ込んで説明を求めるか、議論するかは、
時と場合と相手によってちゃんと変えてます
ここのような落ち着いて、文章で書かれた相手の言い分をじっくりと読んで、
それについて深く議論できる場では、それ相応に深く突っ込みます
当然、私の言い分にも深く突っ込んでほしいです
迷惑でしたでしょうか
0346デフォルトの名無しさん
2011/11/13(日) 14:52:43.98はい迷惑です
あなたのお友達もそう思っているでしょう
0347デフォルトの名無しさん
2011/11/13(日) 14:54:57.750348デフォルトの名無しさん
2011/11/13(日) 15:09:08.560349デフォルトの名無しさん
2011/11/13(日) 15:12:01.62とっても不思議なコードの例文をぜひ見せてほしい
0350335
2011/11/13(日) 15:26:54.61俺が述べたのは、「錬金術師」という表現の妙についてだけだぜ?
0351デフォルトの名無しさん
2011/11/13(日) 15:28:48.370352デフォルトの名無しさん
2011/11/13(日) 15:30:05.290353デフォルトの名無しさん
2011/11/13(日) 15:30:31.94自演乙
0354デフォルトの名無しさん
2011/11/13(日) 15:41:34.59言っておきますが、私は >>332 からずっと >>331 に疑問を呈しながら、
一方で >>342 において >>340 の質問にそれなの案を提示しています
この案に不満があるなら、状況をもう少し詳細に訊きながら、
別の案や >>343 のような事についても色々考えるつもりです
たとえば >>348 や >>352、>>353 などの人たちは、
>>340 を助けてあげるという考えは持ち合わせていないのでしょうか
ないのなら、それこそ全く無駄なレスではないでしょうか
0355デフォルトの名無しさん
2011/11/13(日) 15:42:11.560356デフォルトの名無しさん
2011/11/13(日) 15:42:45.340357デフォルトの名無しさん
2011/11/13(日) 15:44:00.720358デフォルトの名無しさん
2011/11/13(日) 15:50:05.75日本国内のテレビ・マスコミのプロパガンダによってあなたの脳味噌は既にマインド・ブラストされているようななのでちゃんと指摘して差し上げますが、
そのような長文を投稿する瞬間、日本の旧儒教的価値観ともいえる「助けてあげる」という考え自体がもう既に「あなたの傲慢の具現化である」と思いませんでしたか?
0359デフォルトの名無しさん
2011/11/13(日) 15:59:30.18自演乙
■ このスレッドは過去ログ倉庫に格納されています