クラス名・変数名に迷ったら書き込むスレ。Part14

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
クラス名、変数名のつけ方に悩んだら書き込むスレです。

質問する人は、その変数に何を格納するのか(クラスだったらその役割)
プログラミング言語は何なのかを、それぞれ書いて、
いい変数名を思いついた人は、それに答えてあげましょう。

命名規則や設計の善し悪しについて議論するのは基本的に禁止。

>>2 英和・和英・英英など各国語辞書と翻訳サイト。
>>3 類義語(シソーラス)辞書、図形・数式・数学用語の英単語。
>>4 関連スレと、いろいろな言語規約。
>>2-10 諸事情によりリンクがずれた場合。

前スレ。
◆ネーミング倶楽部◆: http://pc3.2ch.net/tech/kako/1035/10353/1035362308.html
Part1: http://pc5.2ch.net/tech/kako/1046/10465/1046541730.html
Part2: http://pc5.2ch.net/tech/kako/1058/10582/1058213523.html
Part3: http://pc5.2ch.net/test/read.cgi/tech/1067171530/
Part4: http://pc5.2ch.net/test/read.cgi/tech/1087209526/
Part5: http://pc8.2ch.net/test/read.cgi/tech/1109330204/
Part6: http://pc8.2ch.net/test/read.cgi/tech/1128266018/
Part7: http://pc8.2ch.net/test/read.cgi/tech/1144978008/
Part8: http://pc10.2ch.net/test/read.cgi/tech/1154448184/
Part9: http://pc11.2ch.net/test/read.cgi/tech/1168356029/
Part10: http://pc11.2ch.net/test/read.cgi/tech/1180146315/
Part11: http://pc11.2ch.net/test/read.cgi/tech/1191250784/
Part12: http://pc11.2ch.net/test/read.cgi/tech/1206118762/
Part13: http://pc11.2ch.net/test/read.cgi/tech/1222661623/
2デフォルトの名無しさん:2008/12/29(月) 00:21:04
英和・和英など各国語辞書と、翻訳サイト。

英和・和英辞典。
http://dictionary.goo.ne.jp/
http://www.excite.co.jp/dictionary/

英英辞典のリンク集。
外国語広場: 英語: オンラインで使える英英辞典 英和・和英辞典
http://www.gaikoku.info/english/dictionary.htm

英語←→各国語辞典。(英語)
Dictionaries
http://www.freedict.com/

日英・英日、日中・中日、日韓・韓日翻訳。
http://www.excite.co.jp/world/

POP jisyo.com
http://www.popjisyo.com/WebHint/Portal.aspx

訳GO YAKUGO.COM
http://www.yakugo.com/WebHint/Quick.aspx
3デフォルトの名無しさん:2008/12/29(月) 00:22:02
専門語、類語辞書。

シソーラス(類語)検索
http://www.gengokk.co.jp/thesaurus/
Thesaurus - Yahoo! Reference (英語)
http://education.yahoo.com/reference/thesaurus/

図形や数式などの英単語。

すうがく探検隊・数式と図形の英語
http://i.lekton.co.jp/ara/tanken/english/
リスコレ No.24 図形の名前を英語で……
http://homepage1.nifty.com/tadahiko/LISTCOLE/024-FIGURE.HTML

各業種いろいろ
250の辞書を一度に検索 Webdio
http://www.weblio.jp/
4デフォルトの名無しさん:2008/12/29(月) 00:34:48
関連スレ。

変数名って、どの位こだわりますか?
http://pc.2ch.net/prog/kako/1038/10383/1038306623.html
ローマ字変数を使う奴は馬鹿
http://pc8.2ch.net/test/read.cgi/prog/1054319927/l50
ゲーム内で使う長い変数を縮めてあげるスレ
http://pc10.2ch.net/test/read.cgi/gamedev/1024902432/l50
★★★コーディングマナー★★★
http://pc5.2ch.net/test/read.cgi/tech/1056508692/l50
ちょっと待て!ハンガリアン
http://pc8.2ch.net/test/read.cgi/tech/1011026963/l50
Cのマナーいろいろ
http://pc8.2ch.net/test/read.cgi/tech/1029584140/l50
Cのマナー
http://pc.2ch.net/test/read.cgi/prog/1030001269/l50
バカなコーディング規約
http://pc.2ch.net/tech/kako/1012/10127/1012715148.html

いろいろな言語規約。
Hungarian Notation(英語)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs600/html/hunganotat.asp

Java言語規定。6.8 名前付け規約
http://www.y-adagio.com/public/standards/tr_javalang/6.doc.htm#11186

参考書籍
翻訳に役立つGoogle活用テクニック
http://www.amazon.co.jp/exec/obidos/ASIN/4621072943/
5デフォルトの名無しさん:2008/12/29(月) 01:16:21
>>1乙」

と表示する関数の名前お願いします
6デフォルトの名無しさん:2008/12/29(月) 05:50:32
ozuieren
7デフォルトの名無しさん:2008/12/29(月) 10:30:00
printGoodJobFor1
8デフォルトの名無しさん:2008/12/29(月) 14:29:13
           __
        , ‐' ´   ``‐、             / ̄:三}
.     /,. -─‐- 、.   ヽ        /   ,.=j
 _,.:_'______ヽ、 .!       ./   _,ノ
  `‐、{ へ  '゙⌒ `!~ヽ. !     /{.  /
    `! し゚  ( ゚j `v‐冫   , '::::::::ヽ、/
.    {.l   '⌒      ゙ 6',!   / :::::::::::::::/ __ そんなことよりTimeOfNowの話しようぜ!
.     〈  < ´ ̄,フ  .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
.      ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠.   ヽ_}  ゙ヽ
        ,.r` "´  /:::::::::::::::::::ィ´  `ゝ  !、  /
     /       / :::::::::::::::: ; '´   /´\ /   r'\
.     i      ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
     {      {:::::::::::;:イ /   ‖i:::::::/:::::::::::::/  \
.      ヽ       ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /    ヽ
      ヽ、 ,. ‐'"   .ノ ,〈    >   `'‐- '
          >   _,. ‐'´ / /    `)
       ,ゝ       _.⊥.-r┬:/
       ヽ_,. -‐i"!´「L.=!┘     ヽ
       <      / /       |
       /    、i / __     ./
9デフォルトの名無しさん:2008/12/29(月) 14:32:58
なんでドイツ語なんだよ
10デフォルトの名無しさん:2008/12/29(月) 15:12:08
aktuelle Zeit
11デフォルトの名無しさん:2008/12/29(月) 16:45:29
bless(1)
12デフォルトの名無しさん:2008/12/29(月) 20:04:23
─┬─| . . _         /|  .   ._ .   . _   .     
  │  |⌒i /_)      . / _|. レヽ. (__ |   //_) レ⌒    
  │  |  | ヽ_      / ̄ | |  | ._).|/|/. ヽ_ |   ...

─┬─ ・.    . _  γ⌒ヽ   ./ |\  |   .    
  │   | レγヽ /_) .|    |  ┼ | \ | /⌒ヽ|   /
  │   | | | |. ヽ_ .ヽ___ノ.  │ |  \| ヽ__ノ.|/|/.
                                  /\___/ヽ
    (.`ヽ(`> 、                      /''''''   ''''''::::::\
     `'<`ゝr'フ\                  +  |(●),   、(●)、.:| +
  ⊂コ二Lフ^´  ノ, /⌒)                   |  ,,,ノ(、_, )ヽ、,, .::::|
  ⊂l二L7_ / -ゝ-')´                 + |   `-=ニ=- ' .:::::::| +
       \_  、__,.イ\           +     \   `ニニ´  .:::/    +
        (T__ノ   Tヽ        , -r'⌒! ̄ `":::7ヽ.`- 、   ./|
         ヽ¬.   / ノ`ー-、ヘ<ー1´|  ヽ | :::::::::::::ト、 \ (  ./ヽ
          \l__,./       i l.ヽ! |   .| ::::::::::::::l ヽ   `7ー.、‐'´ |\-、
13デフォルトの名無しさん:2008/12/29(月) 23:40:03
必死になってるのTimeOfNow本人だろw
14デフォルトの名無しさん:2008/12/29(月) 23:41:44
「名前=値」形式の文字列を編集するフォームの名前と
そのフォームを表示する関数の名前は何がいいかな?
15デフォルトの名無しさん:2008/12/30(火) 01:41:03
formAssign
showFormAssign

みたいな。
16デフォルトの名無しさん:2008/12/30(火) 03:07:25
>>14
いつも言うことだけど、その
>「名前=値」形式の文字列
の集合がどういう意味を持つのかがわからなきゃ命名なんてできないだろう。
普通はその「意味」を名前に盛り込むんだから。

いや特定の意味なんて持たない、汎用の“「名前=値」形式の文字列”を編集するための
フォームなんだ、ってことかもしれないけど、でもそうだとしたらそれって
ただのテキストエディタ以上の利便性があるのかね?
17デフォルトの名無しさん:2008/12/30(火) 03:13:41
>>16
テーマを持ってテキストエディタを作っちゃいけないのかね?
18デフォルトの名無しさん:2008/12/30(火) 03:57:19
>>16
答えられないなら取りあえず黙ってれば?
別にお前が聞かれたわけじゃないんだしさ。
19デフォルトの名無しさん:2008/12/30(火) 04:01:32
例えば「名前=値」形式をPropertyなんて呼ぶことにしたとして、

PropertyEditor
EditProperty
20デフォルトの名無しさん:2008/12/30(火) 10:57:18
名前が用意されてて、それに対するフィールドを編集するフォームって普遍的にあるもんだと思うんだけど
>>16は何を言いたかったんだろう

どういう意味を持つのかが具体的にわからなきゃ命名なんてできないっていうけれど、
どのレベルの抽象度を持たせたいのかわかんなきゃマズいだろ?
21デフォルトの名無しさん:2008/12/30(火) 11:11:23
少なくとも>>16の文面から読み取れるようなデータを編集するような、
汎用的なソフトウェアがあるとは思えないけどね。

だって入力された名前と値をイコールで連結するだけなんでしょ?
それテキストエディタで編集するのと比べてどこが便利なの?

>>20がどういうものを想像しているのか分からないし、
もちろん>>16の説明が要領を得てないだけかもしれないけどさ。

まあ「名前が用意されてて」とあるから、>>20は特定の用途向けのデータに
特化したものを想像しているのかもしれない。
それなら>>16で俺が言ってることと一緒じゃん
2221:2008/12/30(火) 11:14:15
ごめん三つ出てくる">>16"のうち最初の二つは">>14"の間違い。
23デフォルトの名無しさん:2008/12/30(火) 14:33:57
まーたお前か
24デフォルトの名無しさん:2008/12/30(火) 15:24:00
・設定ファイルをテキストエディタで修正してください
・設定画面を開いて設定してください
ではユーザに与える印象がずいぶん違う。
ライトユーザに対しては稚拙であっても設定画面を用意する方が間違いが起きにくい。

が、たぶん>>21が言いたいのは、果たしてそれは「設定項目」なのかどうかと。
テキストエディタと比べて云々がよけいなんじゃないかなー。
25デフォルトの名無しさん:2008/12/30(火) 16:28:19
KeyValuePairEditor
26デフォルトの名無しさん:2008/12/30(火) 19:40:00
>>21
お前の視野の狭さと実務経験の無さは十分わかったから
答えられないなら黙ってろよ
27デフォルトの名無しさん:2008/12/30(火) 21:00:39
>>24
余計じゃないよ。
俺が言ってるのは単純かつごく当たり前のこと。

まず>>14の「フォーム」が(1)特定用途向けのデータのみを編集する画面である可能性と
(2)「名前=値」形式の文字列によるデータを編集するための汎用的な画面である可能性が
あることまではいいよね?

後者の場合、値だけでなくフィールド名もユーザーが入力する必要がある(というより、そのための画面)
のだから、だったらそれにはただのテキストエディタ以上の利便性は何もない。
ライトユーザ云々って、それをいうならフィールド名を入力させる時点でライトユーザ向きじゃないよ。
28デフォルトの名無しさん:2008/12/30(火) 21:03:00
名前が思いつかないならレスしなくていいよ。
29デフォルトの名無しさん:2008/12/30(火) 23:38:23
名前が思いつかないならレスしなくていいよ。
30デフォルトの名無しさん:2008/12/31(水) 01:02:29
当たり前の事ならイチイチ言わなくていいよね。

名前が思いつかないならレスしなくていいよ。
31デフォルトの名無しさん:2008/12/31(水) 01:17:14
名前が思いつかないならレスしなくていいよ。
32デフォルトの名無しさん:2008/12/31(水) 02:54:44
bHasIdeaAboutName
33デフォルトの名無しさん:2008/12/31(水) 06:58:51
このスレには
相手のバックグラウンドを斜め下に妄想してぶっ飛びセンスで名前を提案するTimeOfNowの人と
相手のバックグラウンドを根掘り葉掘り聞いた挙句結局何の提案もしない>>27
二人のキチガイが居るでおk?
同一人物ってことは無いよね?
34デフォルトの名無しさん:2008/12/31(水) 08:34:05
名前が思いつかないならレスしなくていいよ。
35デフォルトの名無しさん:2009/01/05(月) 12:09:57
>>16が至極当然のことを言っている気がして仕方がねえw
36デフォルトの名無しさん:2009/01/05(月) 12:39:50
>>35
前スレ前々スレ読めばどれ程の基地外か分かるよ
このスレは俺の物宣言した兵
37デフォルトの名無しさん:2009/01/05(月) 13:45:21
>>36
やれやれまだやってるのか。
言わせてもらえば、「このスレは俺の物宣言した兵」って、それって(君がそうかどうかは知らんが)
むしろ俺に妙な突っかかりかたしてたお馬鹿さんの方だろう。

俺はそいつに「お前(ら)は俺のやり方に従え」なんていってない。
だがそいつは「お前は俺と同じように振舞え」と、居丈高なことを言っている。
だから俺は「俺は俺であってお前じゃないから俺自身の考えに従う」と言っただけだろう。
いったいどっちが自我の肥大した自己中野郎なんだよ。

おまけに、言い負かされて腹が立てばAAや繰言を投稿しまくるこの幼稚さ。
なんども言ってるように、精神的に幼稚な上に目的合理的思考ができないからそういう風になる。

いったいどの口下げて「命名だけに限定して議論すべき」と言ってたんだ?
荒れることを防ぐために(目的)命名だけに限定して議論すべきだ(手段)と
ほざいてた奴が率先して荒らすってどういう了見だよ。
頭オカシイだろ。
38デフォルトの名無しさん:2009/01/05(月) 14:11:20
お前が自覚の無い香ばしいかまってちゃんだから弄られてるだけじゃないの

で、マジレスするとだ
たとえば10人が10人ともルール(テンプレ>>1)に同意した上で一応の和をもって場(このスレ)を形成してる中に
お前が後から割り込んできて、
俺はこの場で俺の思うままに振舞う。元からあるルールなんざ糞食らえ、
俺はお前らに何も押し付けているつもりは無いんだから、お前らも俺のやり方に一切の口出しをするなと、
その場に居る全員に「お前のルール」を押し付けるのはいかがなものかな?

コミュニケーション不全を開き直るにも程がある
39デフォルトの名無しさん:2009/01/05(月) 14:19:39
設問中の対象の意味を知るのは命名には必要だろ?
それが >>1 にあるルールに反するとは思わないな。

質問者の意図や対象の意味を明らかにした後に、それの
「善し悪しについて議論」するのが禁止されてるのは妥当だとは思う。

つまり >16 は以下の二行だけなら妥当な書き込み。それ以外は蛇足。
> >「名前=値」形式の文字列
> の集合がどういう意味を持つのかがわからなきゃ命名なんてできないだろう。
40デフォルトの名無しさん:2009/01/05(月) 14:52:52
>>39
>>37の奴は毎回
>ただのテキストエディタ以上の利便性があるのかね?
みたいに良し悪しについて言及し、最終的にそちらが主題になるから問題視されてるんだよな

>>37本人も「命名は手段であり、本来の目的は命名を通じて設計の良し悪しを語ることだ」と明言してたわけで
それにスレ違いと返されたら、発狂して俺は俺の信じるままに動く!口出し無用!とか言い出したんだわ
だからこのスレで基地外扱いされてるの
41デフォルトの名無しさん:2009/01/05(月) 14:56:48
「俺は俺であってお前じゃないから俺自身の考えに従う」と言った方が自我の肥大した自己中野郎なんだと思いますです。
自虐芸は程々にした方がいいと思います。
42デフォルトの名無しさん:2009/01/05(月) 15:39:55
つまり >16 にとって以下の二行は正当性を確保するための蛇足。それ以外が主題。
> >「名前=値」形式の文字列
> の集合がどういう意味を持つのかがわからなきゃ命名なんてできないだろう。
43デフォルトの名無しさん:2009/01/05(月) 17:48:36
つまり>16の最初についてはみんな意識できてる訳ね。
その視点なしに名前考えてみても、ある意味ゴミの生産してるだけだからなあ。
44デフォルトの名無しさん:2009/01/05(月) 20:31:07
まあこの際だから調子こいてるこのお馬鹿さんを徹底的に叩き潰すか。

>>40
そんなこと言ってないけど。
言ってるというのなら該当レスを引用してみ?
執念深く過去ログ持ってるらしいからできるよね?w


俺は以下ような意味のことしか言ってないはずだ。
つまり、命名とは「可読的なコードを書くこと」という上位目的の手段に過ぎず、
またこんなスレにいるのはプログラマに決まってるのだから、

(1) 「可読的なコードを書く」という上位目的に資する議論が
  「困る」という人間はいないはずだ(もし、彼がプログラマならば)

(2) そもそも設計に無理があるから適切な命名がし難くなっているようなケースでは、
  その無理な設計に固執して命名するのは手段と目的が倒錯した愚行だ。

(3) 設計議論をすると荒れる、と主張する人間がいるが、俺の知る限りそんな事実は今までない。
  (というか、荒らしてるのはそう言ってるお前自身じゃないか馬鹿)
45デフォルトの名無しさん:2009/01/05(月) 20:42:05
念のために付け加えるけど、俺は積極的に「命名だけでなく設計議論もさせろ」とか
「したっていいじゃないか」なんて言ってないから。

命名だけでは問題が解決しようがないケースでも盲目的に命名に固執するのは
愚かだって言ってるだけだからな。
当たり前だろこんなこと。

手段に過ぎんものに固執して目的が遂行できないんじゃなんの意味があるんだよ。
46デフォルトの名無しさん:2009/01/05(月) 20:42:57
馬鹿が2人以上いると荒れるね
47デフォルトの名無しさん:2009/01/05(月) 21:29:10
じゃあ僕が3人目のバカになる
48デフォルトの名無しさん:2009/01/05(月) 21:39:17
名前を考えるにあたって、最初のお題だけではイメージわかないなと思うなら、
それを伝えて追加情報を求めれば良いだけの話。

ただそれだけなのに、毎回毎回偉そうに説教たれ始めるから話がややこしくなる。
49デフォルトの名無しさん:2009/01/05(月) 23:33:38
TimeOfNowさんお久しぶりです。
相変わらず人間分析がお得意のようですね。

是非去年聞かれていた自己分析の結果をお聞きしたいのですが、あなた自身はどのような人間でしたか?
50デフォルトの名無しさん:2009/01/06(火) 21:37:33
>>45
>手段に過ぎんものに固執して目的が遂行できないんじゃなんの意味があるんだよ。
ところが、まさにその「手段」に固執して
回答することこそがこのスレの用途。

納得がいかないからって、わざわざ主張
しに来るなよ。
ぐだぐだ言わずにどっかいけ。
なんなら新スレをたてたらいいよ。
51デフォルトの名無しさん:2009/01/06(火) 22:47:21
何度も同じこと言わせるなよ。

>>50
>ところが、まさにその「手段」に固執して
>回答することこそがこのスレの用途。
それは「チミの勝手な解釈」、あるいは「チミの独りよがりな願望」に過ぎん。
もちろん、勝手で独りよがりであろうと君がこのスレの意義に関して
「どうあるべき」と考えるのも自由で、その信念に従って君が行動するのも自由だ。
(正直、俺的には「アンタ本物の馬鹿だね」としか思えんけれどもね)

だが、たかだか君の解釈だったり願望だったり過ぎないものを、居丈高に俺に
強制しないでくれる?

俺は俺であって君じゃないんだよわかる?
52デフォルトの名無しさん:2009/01/06(火) 23:26:38
50の言うことも一理あるんじゃないかと思う人もいるかもしれんから、
愚かだと思うと書いた責任上一応理由つきで否定しとく。

問題設定が非現実的であっても意味をもつのは、
(1) それが何らかの能力向上のための
(2) 演習問題になるとき
だろう。

さて、命名以前の問題があるために命名が困難になってる「お題」(例えば>>14)は
この要件を満たすだろうか?

俺の考えでは答えはNo。
なぜなら、現実のプログラミングではそんな無理くり名前をつけるような「法外な」
命名能力なんて必要とされないからだ。

まともなプログラマなら横車を押して命名するよりも、名前が付けやすいような
別の視点を採用するなり(>>14なら、データのもつ意味から名前を付ければわかりやすい)、
設計を変更するなりすることを選択するからね。
53デフォルトの名無しさん:2009/01/06(火) 23:31:16
ゲームで遊んだりクイズを解くのに「意味」なんかいらんと思うが
54デフォルトの名無しさん:2009/01/06(火) 23:33:02
いっそ>>16前半をテンプレに書いておいて、
言及がなければ、例えば>>19の回答がほしいことにすればいいだろう。

いい加減不毛だからやめてよ。
55デフォルトの名無しさん:2009/01/06(火) 23:37:50
>>53
もちろん、それはそう。
俺はそういう人がいてもいいと思うし、そういう回答をする人に
自分からケチつけたり突っかかったことは一度もない。
俺は自分と違う考えの人を一概に否定したりしないし、少なくとも消極的容認だよ。

「彼」は違うようだがね。
56デフォルトの名無しさん:2009/01/06(火) 23:45:44
みんな真面目すぎる。

Q)この名前何がいい〜? ホニョニョ~ン
A)こんな感じで良いんじゃね〜 ハニャニャ~ン

という緩いスレじゃないのか。
57デフォルトの名無しさん:2009/01/07(水) 02:18:11
無理くりw
道民かよ
通りで日本語が通じないわけだ
一部道民は本当に酷い思考回路を持ってるからな
58デフォルトの名無しさん:2009/01/07(水) 02:56:16
>>52
> 俺の考えでは答えはNo。

そう思ったら、はじめからレスしないか、意図を聞くなどしながら
「設計見直したほうが良いんじゃないの?スレ違いになるから他所でやってもらうけど」
あたりで済ませておくのがこのスレの趣旨から考えて望ましいと思います。
59デフォルトの名無しさん:2009/01/07(水) 03:11:53
Part12での出来事
585 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 01:13:15
>>572
そもそも弾の初期位置も初速度も各「砲台」が個別に知っていれば済むはずの情報で、
そんな情報を配列にまとめることが設計として間違ってる気がするんだが。

586 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 01:27:39
>>585
>>1

587 名前:585じゃないけど[sage] 投稿日:2008/08/30(土) 01:43:57
>>586
このスレのあり方を否定するようで悪いが、
「これ英語だとなんて言うの?」っていうレベルじゃなくて
「一体どんな名前を付けるのやら」なんてレベルで迷ってしまうのは、
ドメイン分析に失敗しているからだと思うんだよね。
ちゃんとした設計なら悩まずに命名できる。
ダメな命名になるのは設計からしてダメなんだよ。
名前を付けられないと思ったら設計から見直したほうがいい。

588 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 01:44:44
>>587
>>1

589 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 01:45:43
>>587
お前みたいなこと言い出す奴が過去に何人もいて、
その都度スレが荒れたから>>1に注意書きしてあるの。おk?

590 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 02:09:25
おk。すまない。
ただ俺なら、名前で悩むなら違う事で悩みたいな、って思っただけだ。
60デフォルトの名無しさん:2009/01/07(水) 03:14:17
591 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 02:14:16
>>590
なんで名前で迷ったら書き込むスレに迷い込んでるのかが分からない

592 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 02:33:25
>>591
名前が無意味なものだとは考えてないからだよ。
デザパタなんかは「何かに名前をつけること」に意味を見いだしている例だよね。
このスレで言えば、>>496-498みたいに、
機能にぴたっと当てはまる名前が提示されることで、
496自身が「自分が何をしようとしていたか」が定まったと思うし、
さらに勉強してみようという前向きな気もちにもなっている。
名前を考える事は、考え方をみつめ直すことで、
良い方向に成長する入口になっていると思う。
名前に悩んで設計に悩まないのはもったいない。
余計なおせっかいかもしれないが。
61デフォルトの名無しさん:2009/01/07(水) 03:14:44

593 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 04:34:27
言いたい事は分かるんだけど、その言い方は無いよ
このスレで泥臭いながらも行われてる事を、臭い物に蓋をして理想型で語ってるだけじゃん

設計の仕方までは口を出さずに、ただ名前を付けていけばそれがベターなの

594 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 07:06:39
>>592
> 名前に悩んで設計に悩まないのはもったいない。

>> そ の 都 度 ス レ が 荒 れ た か ら

そう言う議論がしたいなら、別にスレ立ててくれ。
多分収拾つかなくなると思うが。

597 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 14:58:18
>>593-594
俺的にはこういう連中こそ本末転倒の馬鹿に見えるよ。
たぶん物事ゼロベースで考える頭のない奴なんだろうな。

まあこんな馬鹿な連中が何いっても今後も設計に首を突っ込む姿勢は止めないけどねw

598 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 15:06:17
君が時と場合をわきまえてないだけ。

599 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/30(土) 15:34:30
命名の前提となるもの(例えば設計)を語らないと根本的な解決にならない場合であっても
あえて盲目的に命名限定の議論をしろ、などという物言いこそ「時と場所をわきまえない」
愚かなものだと思うが。

一般にはそういうのは「フェティシズム」と言うんだよ。
62デフォルトの名無しさん:2009/01/07(水) 03:18:43
たまに方言で道民と認定してる人いるけど、今回の「無理くり」というのは別に北海道に限った言葉じゃないと思うんだけどなぁ。
なまら辺りでなら道民と決めていいと思うけどさ
63デフォルトの名無しさん:2009/01/07(水) 03:21:11
615 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/31(日) 14:37:54
>>610
なんか命名以前にただ単にObserverパターンをちゃんと理解してないだけの気がする。

Observerパターンっていうのは、(当たり前だけど)通知者側が観測者の
特定のメソッドを(インターフェイスを介して)呼び出すパターンのはずだよね?

あなたの例で言えば、aはbでイベントがあったときにbから呼ばれるメソッド
b_ValueChanged()と、a自身のイベントを他に通知するOnValueChanged()を持ってるはずで、
だとすればb_ValueChanged()の中からOnValueChanged()を呼び出せば済むはずの
問題だと思うんだけど。

616 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/31(日) 14:57:16
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。

617 名前:デフォルトの名無しさん[sage] 投稿日:2008/08/31(日) 15:01:11
悪いけど俺はそんなものに同意した覚えはないんでね。




この後突然独り言のようにセカイ系について講釈が始まってるけど、もういいや
64デフォルトの名無しさん:2009/01/07(水) 08:59:21
かといって、質問の行間を読むのを競い合うクイズスレってのもノイズ多すぎてやだな
65デフォルトの名無しさん:2009/01/07(水) 10:11:40
別に足りない情報を聞くってのは一切制限されて無いし、そもそも誰も咎めてなくね?
設計にまで口出しする事がスレ違いって言われてるだけで
6650:2009/01/07(水) 13:22:56
「彼」とかまるで特定一名のように言われても困る。
オレはその「彼」じゃないんで、そう思ってるのは
少なくとも2人いるってこと。たぶんもっといる。

まあ、もういいや。
TimeOfNow氏は酷く個性的な考えの持ち主だと
認識することにした。
死ねばいいのに。
67デフォルトの名無しさん:2009/01/07(水) 17:03:33
class Buyer {
  void Sell();
};
class Seller {
  void Buy();
};
名前にBuyと付くクラスのメソッドがSellで、名前にSellと付くクラスのメソッドがBuy。
一瞬違和感を感じたんですが、これで合ってますよね?
68デフォルトの名無しさん:2009/01/07(水) 17:31:37
ドラマーがギターを弾いてもいいし
ギタリストがトライアングル叩いてもいいと思うよ
69デフォルトの名無しさん:2009/01/07(水) 17:56:53
>>68
このスレ的に言えば「ギターを弾くものにドラマーと命名するべきではない」ということになりませんか?

私が訊きたかったのは、買い手に対して物を売るメソッドの名前は、
「買い手が買う」という意味ではなく、「買い手に対して売る」という意味の命名で合っているか、ということです。
70デフォルトの名無しさん:2009/01/07(水) 19:05:03
少なくとも俺は買い手が、買うで命名するけどな
71デフォルトの名無しさん:2009/01/07(水) 19:15:13
「Buyerのメソッド」だからねぇ。
買い手の行動は「買う」ことだろう。
「買い手に対して物を売る」ということなら、
「売り手の売るメソッドの引数に買い手インスタンスを指定」って感じがするが。
72デフォルトの名無しさん:2009/01/07(水) 19:42:27
>>67
BuyerとかSeller とかいうクラスはあくまでただの例えで言ってるのなら
>>70-71の言うとおりだと思う。

ただの例えじゃなくて実用にするものなら、BuyerとかSellerにメソッドをもたせるより
製品クラス(ProductとかGoodsとか?)にTrade()とかSell()を持たせた方が賢い気がする。
73デフォルトの名無しさん:2009/01/07(水) 19:49:55
74デフォルトの名無しさん:2009/01/07(水) 20:00:28
>>70-72
レスありがとうございます。

ちょっと意外に感じました。
A.GetB()が「AがBを取得する」ではなく、「AからBを取得する」という意味なので、BuyerにSell、SellerからBuyと考えていました。
質問とは違うので答えも違うのかもしれませんが、1つのクラスがBuy/Sellを持っている場合にも同じ方法で命名すると、
shop.Sell(item, money);// 店に対してアイテムを売っているように見える?
shop.Buy(item, money);// 店からアイテムを買っているように見える?
この感覚は私だけなんでしょうか?

> 製品クラス(ProductとかGoodsとか?)にTrade()とかSell()を持たせた方が賢い気がする。
これはTradeの引数に買い手と売り手を渡すということになりますか?
商品は所有者が扱うものと思っていたので、こちらも意外に感じました。
75デフォルトの名無しさん:2009/01/07(水) 20:13:54
>>74
「売られた」時に、製品が必ずその所有者への参照を内部に持つようにすれば、
Trade()の引数は買い手と売価だけでよくなるんじゃない?
76デフォルトの名無しさん:2009/01/07(水) 20:27:52
>>74
A.GetB()は「Aが(自分の持つ)Bを取得する」って意味だ
AはBを取り出してくるが、その後どうされるかまでは知ったこっちゃ無い
77デフォルトの名無しさん:2009/01/07(水) 20:48:04
>>75
なるほど。

>>76
そういう意味だったんですか。
今まで勘違いしていました。
78デフォルトの名無しさん:2009/01/07(水) 21:04:10
>>74
ふつうは、主語.述語(目的語)とするものだと思う。
とくに、述語が他動詞の場合には。

下駄雪駄がそうじゃないというのは、今指摘されて
初めて感じた。w
たしかにそうかもしれないけど、むしろこっちが
パターンとしてはレアなのでは。
79デフォルトの名無しさん:2009/01/08(木) 00:03:38
>>74
「AからBを取得する」は主体(主語)が抜けてね?
主体がメソッドのレシーヴァになるはずだよね。
主体がオブジェクト化されてないから混乱してるんじゃない?
80デフォルトの名無しさん:2009/01/08(木) 12:11:45
>>78
たしかにgetter/setter以外は主語.述語で自然に読めるものばかりでした。

>>79
x = a.GetX();
xが主体ということですか?

ちなみにこういうケースではどちらの命名が自然に見えます?
item = shop.Buy(itemID, money); // アイテムの種類を示すIDと代金を渡しアイテムを得る
item = shop.Sell(itemID, money); // アイテムの種類を示すIDと代金を渡しアイテムを得る
81デフォルトの名無しさん:2009/01/08(木) 12:19:53
>>80
どちらも虫唾が走るほど気持ち悪い

指摘するとなると完全に命名の範疇外の話になるんで、どっかOOP初心者スレにでも行って下さい
82デフォルトの名無しさん:2009/01/08(木) 13:42:00
>>81
>>80のメソッドにBuy/Sellを名付ける事自体が間違ってましたか。
どうもでした。
83デフォルトの名無しさん:2009/01/08(木) 17:51:05
>>80
そういう系にしたいならこんなのは?
player.buy(shop,item,price)
オレ的にはかなり自然。
84デフォルトの名無しさん:2009/01/08(木) 18:08:39
>>83
なるほど、参考にします。
85デフォルトの名無しさん:2009/01/08(木) 18:10:01
(new Transaction(buyer, seller, item)).commit()
86デフォルトの名無しさん:2009/01/08(木) 19:19:11
>>80 真ん中

aだろ。
aが自分のXを取得する。
それをプログラマがxに渡してるだけ。
87デフォルトの名無しさん:2009/01/09(金) 00:22:41
>>85
トランザクション処理というぴったりのものがあったんですね。

>>86
なるほど。
88デフォルトの名無しさん:2009/01/09(金) 01:09:34
>>80
私の経験では
クラス名.メソッド名 で自然な英語になるようにメソッド名をつける場合もあるし、
クラス名を意識せず、メソッド名単独で意味を主張するようにメソッド名をつける場合もある。
両方あります。

例えば頻繁に使われる get なんかでも

shop.getItem

は意味の取りようによっては、
・店が得るのだから、アイテム引数をともなって、店にアイテムを設定する(メンバー変数に登録、setterのような意味)
・店のアイテムを得る。(メンバー変数をを得る、普通のgetterの意味)
などのように、2通りの解釈ができないこともない。

どのようにメソッド名をつけるかはコーダーのセンスよると思います。
したがって、自然に読めるのが一番ですが、限界があるのでどうしようもないというわけです。
一人で開発するときは、統一さえしておけばそんなに大きな問題ではありません。
しかしチームで開発するときは、
「これこれの動詞はbuyで統一しよう、getはこういう意味にしよう」
等のように、コーディング規約が必要になるでしょう。



89デフォルトの名無しさん:2009/01/09(金) 01:19:43
なんか生活に物足りなさがあると思ったら、このスレが次スレになってて
お気に漏れしてたのか
9068:2009/01/09(金) 02:22:29
今頃出てきてあれだが、アクセサについて。
あるオブジェクトに対してset/get指示をだすが、オブジェクトからみれば自身のメンバに対して
やはり同じようにset/getを行うので、逆になっているわけではないよ。

>>83
オレ的にもそんな感じ。
一点、priceが商品の値段を意図しているのであれば、buyメソッド内でshopに問い合わせを行うようにする。
今回の焦点ではないけどね。
9183:2009/01/09(金) 09:11:24
>>90
質問者が引数にmoneyって書いてたからな。
そこは値段だろうと思ってpriceにした。

個人的にも、priceは明示的なほうがいいと思う。
shop.getPrice(item)とか。

>>85
いわゆるトランザクションには、プログラム的に
ちょっと特定的な意味がありがちなので、念のため。
プログラマにそう言ったら混乱することもありそう。
92デフォルトの名無しさん:2009/01/09(金) 15:41:04
>>91
>>80のmoneyは商品の価格ではなく、購入者が提出するお金だと思う。
なので何らかの手段でおつり、不足エラーなどを通知する必要が出てくるものだろうと思った。

一方、buyer.buy(shop, item)とすれば、関数内で
if (所持金<shop.getPrice(item)) エラーリターン
this.money -= shop.getPrice(item)
のようにできる。

基本的に店って主体になりにくいよね。ザ・コンビニみたいなゲームなら別だろうけど。
93質問者:2009/01/09(金) 18:39:39
>>88
GetItem→BuyItemと置き換えると、
・店が(引数に指定された)アイテムを得る→店が(引数に指定された)アイテムを買う
・店が(保持している)アイテムを得る→店が(保持している)アイテムを買う
まさにここですね。
getterは後者の意味、Buyに関しては前者の意味が一般的というところに混乱しました。

>>90-92
moneyに関しては購入者が提出するお金のつもりで書きました。

トランザクション処理を勉強して>>83>>85にしようと思います。
ありがとうございました。
9495:2009/01/09(金) 18:44:09
> 店が(保持している)アイテムを買う
書いてから気が付いたんですが、自分が保持してる物を買う?というのは変ですね。
ということは自然と前者になるということでしょうか。
95デフォルトの名無しさん:2009/01/09(金) 18:44:54
↑95じゃなくて93でした。
96デフォルトの名無しさん:2009/01/09(金) 21:45:10
>>94
あんまりヘンに考え込まないことを勧める。

命名は慣習的なところも多いので、だいたい
納得できたら、自分ルールにしてパクッと
飲み込め。

完全な名前を定義することが目的じゃないだろ?
97デフォルトの名無しさん:2009/01/13(火) 22:49:43
>>94
あんたの目的は、命名法を究めることじゃないはずだ。
妥協も大切だ。
98デフォルトの名無しさん:2009/01/14(水) 02:15:34
命名以前に、95は思考が絶望的にオブジェクト指向じゃないだけ
ほんと、絶望的
99デフォルトの名無しさん:2009/01/14(水) 23:56:01
100デフォルトの名無しさん:2009/01/15(木) 13:10:27
100
101デフォルトの名無しさん:2009/01/15(木) 13:11:00
101
102デフォルトの名無しさん:2009/01/20(火) 01:45:08
sampleとexampleの違いって何ですか?
103デフォルトの名無しさん:2009/01/20(火) 01:46:44
板違い
104デフォルトの名無しさん:2009/01/20(火) 21:37:36
example は例として一般的な語。
sample は実例というか、ちゃんと動くようなもの。
境目は適当。
105デフォルトの名無しさん:2009/01/21(水) 16:16:44
>>104
なるほどー。ありがとうございます〜
106デフォルトの名無しさん:2009/01/21(水) 16:17:27
失せろボケ
107デフォルトの名無しさん:2009/01/21(水) 16:25:58
TimeOfNowの人はまた逃げたのか
>>44で偉そうにログ出せといってログ張られて逃げ出すとか
まね出来ない
108デフォルトの名無しさん:2009/01/21(水) 19:49:08
>>107
本格的にアタマおかしいだろw
いや逃げてないし、君が望むなら君のような馬鹿は徹底的に叩き潰して差し上げるけど?

で、どこで>>40のようなことをこの俺が言ったと言うんだ、ん?
109デフォルトの名無しさん:2009/01/21(水) 19:52:31
っていうかこの馬鹿、"time of now"っていう言い回しが英語として
成立してないと思ってるから、嘲笑のつもりで「TimeOfNowの人」とか言ってるんだろうが、
それが自分自身の馬鹿を曝け出しているに過ぎんことにすら気づかないんだから
おめでたいとしか言いようがねえなw
110デフォルトの名無しさん:2009/01/21(水) 20:02:58
>>107
スレが静かになったからって、
わざわざ悪魔召還すんな!
111デフォルトの名無しさん:2009/01/21(水) 20:19:40
>>109
検索して引っ掛かるけど特殊な言い回しだよ。そこは蒸し返すなよ
112デフォルトの名無しさん:2009/01/21(水) 20:21:47
Jetztzeit
113デフォルトの名無しさん:2009/01/21(水) 21:01:53
>>111
別に「蒸し返す」つもりもないけど、別に特殊でもなんでもないよ。

前スレでそういうことを主張している人間がいたのは記憶しているが、
その人が何もわかってないだけだな。

前にも名詞的に使われてるnowを「倒置構文だ」とトンチンカンなことを
言ってる人がいたけど、このスレはそういうのが多い。
114デフォルトの名無しさん:2009/01/21(水) 21:08:55
Now is the time.
が特殊な使い方といっていた人を指してトンチンカンと?
115デフォルトの名無しさん:2009/01/21(水) 21:31:29
>>114
相手が言ったことに反論する能力を身につけようよ。

俺は言った。
名詞的用法をさして「倒置構文だ」とトンチンカンなことを言っている人がいた、と。

君に問うが、>>114のそれは倒置構文ですか?
116デフォルトの名無しさん:2009/01/21(水) 21:34:01
ああごめん、>>114のそれは確かに倒置構文ととることもできる、
というかそういう解釈の方が一般的かも知れんね。

でも俺の言っているのはそれじゃない。
117デフォルトの名無しさん:2009/01/21(水) 21:40:09
俺がトンチンカンと言うのは、

"Now is the time to 〜."
これを倒置構文と言った人がいたんだな。
これは倒置構文じゃないよ。ただnowを名詞的に使ってるだけ。
118デフォルトの名無しさん:2009/01/22(木) 00:47:47
英語どうこうじゃなく、センスを笑われてる事にそろそろ気付いたら?
119デフォルトの名無しさん:2009/01/22(木) 01:05:26
そういう物言いが「セカイ系」のそれだと言ってるんだけどね。
まあ頭悪いから言ってる意味が理解できないのだろうけど。

そのセンスっていってる奴の答えが「コインいっこ入れる」式のぎこちない命名だから
なお笑わせてくれるんだがw
120デフォルトの名無しさん:2009/01/22(木) 01:21:45
コインいっこ入れる
121デフォルトの名無しさん:2009/01/22(木) 01:36:58
>>119
本格的にアタマおかしいだろw
いや言ってないし、君が望むなら君のような馬鹿は徹底的に叩き潰して差し上げるけど?

で、どこで>>119のようなことをこの俺が言ったと言うんだ、ん?
122デフォルトの名無しさん:2009/01/22(木) 01:37:48
改変してて吐き気がしたわ
自分からやっといてなんだけどなw
123デフォルトの名無しさん:2009/01/22(木) 09:13:21
名前が英語の文としてどれだけ自然かよりも、
同じプログラム内で一貫した名前の付け方をする事の方が重要だと思う。
接頭辞+名前みたいなのは自然な英語にはならないだろうし、
一貫して使うなら略記的な名前でもぜんぜん問題ない。
(母音を省略して書くとか普通にするし)

コインに関するモジュールを書いていたら、
・コイン_いっこ入れる
・コイン_いっこ取り出す
とかもありそう。
124デフォルトの名無しさん:2009/01/22(木) 10:27:10
>>109
「TimeOfNowの人」って呼ばれるのが嫌なのか?
そう呼ばれるとお前さんは嘲笑されてると感じるのか?なぜ?

まぁその点はどうでもいいけど
嫌なら自分でコテハン付けてくれよ
いい加減お前さんには固有名詞が必要なんだよ
125デフォルトの名無しさん:2009/01/23(金) 02:34:34
TimeOfNowはなんか笑いがこみ上げて来るんだよな…。
126デフォルトの名無しさん:2009/01/23(金) 04:25:47
        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 /  T  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  T ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  /
 |  o  l  トー-トヽ| |ノ ''"´`   rー-/// |  o |
 |   ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  N   |       | l | ヽ,   ―   / | | l  N  |
 |   !!  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
127デフォルトの名無しさん:2009/01/25(日) 00:04:20
また逃げてるw
これはもう芸の領域だなw
128デフォルトの名無しさん:2009/01/25(日) 01:24:31
荒らすなヴォケ
129デフォルトの名無しさん:2009/01/26(月) 16:08:05
よろしく

以下、それぞれを文字列として格納する変数なんだけど、

半角文字全部→string
半角英字→alphabet
半角数字→num
半角記号→character
半角英数→symbol

string とcharacterとsymbolがごっちゃになってわかりにくそうなんだけど、
他にいいアイデアがあるかな?
130デフォルトの名無しさん:2009/01/26(月) 16:08:59
ごめんまちごうた

半角文字全部→string
半角英字→alphabet
半角数字→num
半角記号→symbol
半角英数→character

だったorz
131デフォルトの名無しさん:2009/01/26(月) 16:37:16
is系の関数に従ってみればどうだろう。
半角英数はalnum
半角文字全部はascii
など。
132デフォルトの名無しさん:2009/01/26(月) 16:57:59
なるほど、サンクス

半角文字全部→ascii
半角英字→alpha
半角英字大文字→upper
半角英字小文字→lower
半角数字→num
半角記号→symbol
半角英数→alNum

記号がなかったのでSymbolを流用して、全角の場合は修飾詞でWideをつければよさそうだ。
これでいってみるぜ
133デフォルトの名無しさん:2009/01/26(月) 21:40:59
ctypeだとispunct(punctuation)ってのはあるね。
記号という意味じゃなく区切り記号という意味になってしまうが。
ASCIIの範囲では、印字可能な文字のうち、スペースと英数「以外」

134デフォルトの名無しさん:2009/01/27(火) 15:41:57
>>133
区切り記号とは違うと思うのでsymbolにしてみた
半角全部-半角英字-半角数字-半角スペースというイメージなので。
んだが、半角文字全部asciiで、全角文字全部のとき
修飾詞つけてwideAsciiってなんか変な感じw

文字全部→ascii wideAscii
英字→alpha wideAlpha
英字大文字→upper wideUpper
英字小文字→lower wideLower
数字→num wideNum
記号→symbol wideSymbol
英数→alNum wideAlNum
カナ→katakana wideKatakana
ひらがな→none wideHiragana
漢字→none wideKanji

半角のほうに修飾詞singleをつけて、文字全部をsingle(半角全部)とwide(全角全部)にしようかしら。
つか、こんなの自分が理解してればどうだっていいよな・・・
privateなメンバだし・・
135デフォルトの名無しさん:2009/01/27(火) 16:53:48
singleはない
136デフォルトの名無しさん:2009/01/27(火) 17:10:34
ispunctの説明を見てくれば良かったのに。
半角英数、半角スペース以外の表示可能な文字なんだけどな
137デフォルトの名無しさん:2009/01/27(火) 22:04:31
>>134
1バイト文字以外も考慮するのなら、
UNICODEの文字カテゴリの名前を参考に
したら?


多すぎてイヤになるかもしれんが。w
138デフォルトの名無しさん:2009/02/02(月) 19:22:44
お題が来ないな・・・
139デフォルトの名無しさん:2009/02/02(月) 21:38:20
じゃあTimeOfNowの話でもしようぜ
140デフォルトの名無しさん:2009/02/02(月) 21:45:54
アメリカ旅行で時間聞きたいときは
Excuse me, do you have the time?
っていえばいいんよね
141デフォルトの名無しさん:2009/02/02(月) 21:48:04
掘った芋いじくんな と聞いたけど……
142デフォルトの名無しさん:2009/02/02(月) 22:53:52
掘った芋いじんな だよ
143デフォルトの名無しさん:2009/02/02(月) 22:59:23
サンクス!
144デフォルトの名無しさん:2009/02/02(月) 23:03:26
アメリカ人でも見ず知らず相手なら婉曲に>>140使うよ
145デフォルトの名無しさん:2009/02/02(月) 23:05:54
変なジョークで返されるかもしれないけどね
146デフォルトの名無しさん:2009/02/02(月) 23:21:33
Excuse me, do you have the time of now?
147デフォルトの名無しさん:2009/02/02(月) 23:25:05
─┬─ ・.    . _  γ⌒ヽ   ./ |\  |   .
  │   | レγヽ /_) .|    |  ┼ | \ | /⌒ヽ|   /
  │   | | | |. ヽ_ .ヽ___ノ.  │ |  \| ヽ__ノ.|/|/.
                                  /\___/ヽ
    (.`ヽ(`> 、                      /''''''   ''''''::::::\
     `'<`ゝr'フ\                  +  |(●),   、(●)、.:| +
  ⊂コ二Lフ^´  ノ, /⌒)                   |  ,,,ノ(、_, )ヽ、,, .::::|
  ⊂l二L7_ / -ゝ-')´                 + |   `-=ニ=- ' .:::::::| +
       \_  、__,.イ\           +     \   `ニニ´  .:::/    +
        (T__ノ   Tヽ        , -r'⌒! ̄ `":::7ヽ.`- 、   ./|
         ヽ¬.   / ノ`ー-、ヘ<ー1´|  ヽ | :::::::::::::ト、 \ (  ./ヽ
          \l__,./       i l.ヽ! |   .| ::::::::::::::l ヽ   `7ー.、‐'´ |\-、
148デフォルトの名無しさん:2009/02/02(月) 23:28:37
はいはいわろすわろす
149デフォルトの名無しさん:2009/02/03(火) 00:01:42
ちょっといいですか?だと思っていたが、時間を聞くための婉曲表現でもあったのは知らなかった。
150デフォルトの名無しさん:2009/02/03(火) 00:03:25
と思って調べたらちょっといいですかはtheがいらないみたいだっていうかそれだけの違いで!
メリケンこええ。
151デフォルトの名無しさん:2009/02/03(火) 00:18:12
もう死ぬ
もう死ね

とか、日本も外人にとっては怖そうだぞ
152デフォルトの名無しさん:2009/02/03(火) 01:40:09
TimePartOfNowならすんなり受け入れられるんだがな

それ以前に定数に対してNow,Today,TimeOfNowと付けるんだから半端ないわ
153デフォルトの名無しさん:2009/02/03(火) 02:15:30
だんだん慣れてきた
154デフォルトの名無しさん:2009/02/03(火) 20:15:30
>>152
今頃になってネチネチいうって難儀な性格だねホント。
正直精神分析の対象に思える。
しかも言うことが素っ頓狂だし。

まず結論から言うとTimePartOfNowとTimeOfNowは同じ'Now'を使ってもそれの
意味しているものが違うだけで、どちらもお題の答えとして正しい。

君のいうTimePartOfNowの'Now'はNowという名前のデータ構造が存在していることを
前提とした命名だろ。

俺の言ったTimeOfNowの'Now'は文字通りのNowだから。
普通の英会話で"date of today"とは言っても"date part of today"なんて言ったら意味不明だろ。

それから、定数(というかマクロで定義された即値)を大文字をアンダースコアで区切りで
表現するのってC/C++の慣習だろ。

他の言語じゃあまりやらないよ。(そもそもマクロで即値定義なんて原始的なことやってるの
C/C++とアセンブラぐらいしかないし。)

つーか基本的に意味ない習慣だからCでも自分だけで完結するコードなら俺は従わない。
155デフォルトの名無しさん:2009/02/03(火) 20:17:56
>>154
今頃になってネチネ(ry
156デフォルトの名無しさん:2009/02/03(火) 20:21:54
最後に肝心なことを言い忘れたが、キャメルかパスカルかアンダーバー区切りか、
なんて命名の本質と何も関係ねえだろw

なんていうか、語るに落ちてるんだよな。
「命名以外の話題は禁止」と執拗にイチャモンをつける一方で、
同じ口で平気で命名の本質と何も関係ないことに固執する、この一貫性のなさ。

一貫してるのは、要するに「執拗に他人にケチをつけている」という一点においてのみ。
157デフォルトの名無しさん:2009/02/03(火) 22:05:14
>>154
なにを言っているのだお前は。1行目からおかしいだろ
158デフォルトの名無しさん:2009/02/03(火) 22:25:35
>>154
びっくりした。
本当に、びっくりした。
159デフォルトの名無しさん:2009/02/03(火) 22:27:42
>>154
C++もマクロで即値定義なんてことはやらないよ。
やってると思った?
160デフォルトの名無しさん:2009/02/03(火) 22:46:24
>>154
やっぱり期待通りに笑わせてくれるのなw
date part of today w
作為的なT.O.N.でもない例えでフイタw
161デフォルトの名無しさん:2009/02/03(火) 23:19:52
>>154
馬鹿か。
慣習は情報伝達コストを大幅に下げる。
命名に拘る理由の大部分が伝わり易さを求めている以上、基本的に意味ない習慣とか厨二馬鹿にしか言えないわ。

お前が慣習に従うかなんて誰も興味ないっつーの。
お前の狭量自慢もいい加減にしてくれ。
そして自分だけで完結しないこのスレで俺ルールを撒き散らすな。
162デフォルトの名無しさん:2009/02/03(火) 23:20:07
こうしてTONさんは芸風を磨いていくんだな。
エールをおくらせてもらうよ!!!
T.O.N!!! T.O.N!!!
163デフォルトの名無しさん:2009/02/03(火) 23:29:43
>>157-161
自演乙
164デフォルトの名無しさん:2009/02/03(火) 23:32:37
奥義!敵は全て一人の自演発動!
165デフォルトの名無しさん:2009/02/04(水) 00:00:57
久しぶりにわろたw
これは真性w
166デフォルトの名無しさん:2009/02/04(水) 00:13:24
自演って。言葉の意味を気にする割には、これを見て自演って。
167デフォルトの名無しさん:2009/02/04(水) 00:19:45
また神が降臨したよね!ね!
168デフォルトの名無しさん:2009/02/04(水) 00:30:37
>>154
>>156
すごい・・・粘着質です・・・
169デフォルトの名無しさん:2009/02/04(水) 00:44:38
なにかホッとした。
170デフォルトの名無しさん:2009/02/04(水) 01:07:17
>>161
君それに後続する人の話をちゃんと読んで突っかかってる?

俺は、キャメルとかアンダースコア区切りとか、その種のスタイルの違いは命名の本質と
関係がないから(つまりスレの趣旨に従えばどうでもいいことだから)自分の好きなスタイルで
書いただけで、別に「アンダースコアで区切る書き方をするのは無意味だから止めるべき」などとは
いってないから。

わけのわからんことで突っかからないでくれる?
こんな頭悪い奴に馬鹿呼ばわりされたくないよまったくw

まあ、言いがかりに目をつぶってあえて君の話にのっかかると、
>慣習は情報伝達コストを大幅に下げる。
これはまったく同意なんだが、件の即値を大文字でアンダースコア区切りで
表現する慣習に関して言えば、これによって伝達される情報が本当に
必要不可欠な情報かどうかは俺は大いに疑問を持ってる。

他人が書いたコードを読むとき、たいがいの場合は「それ」が即値か定数か変更可能な変数か、
なんてことはどうでもいい場合が多いからね。
システムハンガリアン的な無意味で時代遅れな偏執に過ぎないでしょ。
171デフォルトの名無しさん:2009/02/04(水) 01:11:04
言い合いは英語でお願いします
加えて簡潔な単語でお願いします
172デフォルトの名無しさん:2009/02/04(水) 02:04:47
>>171
ゴミはゴミ箱に入ってろ
173デフォルトの名無しさん:2009/02/04(水) 02:18:06
誰だよ召還したやつは
174デフォルトの名無しさん:2009/02/04(水) 02:26:25
煽ると必ず面白い反応するから癖になる
175デフォルトの名無しさん:2009/02/04(水) 03:01:34
くど過ぎワロタ
TONでもなくウザい人種だなw
176デフォルトの名無しさん:2009/02/04(水) 03:02:18
>>170
で、C++でも#define HOGE 5とか書いちゃうの?
177デフォルトの名無しさん:2009/02/04(水) 03:02:53
まだまだいくよー!
178デフォルトの名無しさん:2009/02/04(水) 03:11:21
>>176
余り虐めるなよw
Java以外の経験があるわけが無い
179デフォルトの名無しさん:2009/02/04(水) 04:28:49
#define FiveOfNumbers 5
180デフォルトの名無しさん:2009/02/04(水) 08:25:29
FiveOfNumだな
181デフォルトの名無しさん:2009/02/04(水) 12:46:16
ちょっとかっこよくFifthNumberにしようぜ!
182デフォルトの名無しさん:2009/02/04(水) 16:01:51
それって4?
183デフォルトの名無しさん:2009/02/04(水) 17:26:46
>>170
このスレで最上級に偉そうな君の言語経験を教えては貰えまいか?
それぞれ実務何年で頼みます。
184デフォルトの名無しさん:2009/02/04(水) 20:28:56
そんなの知りたくないし
185デフォルトの名無しさん:2009/02/05(木) 00:42:29
もうお前ら大好きw
186デフォルトの名無しさん:2009/02/05(木) 00:45:48
俺はお前が嫌いだ
187デフォルトの名無しさん:2009/02/05(木) 23:36:03
TimeOfNowって何?
ぐぐっても、2chのスレくらいいしか見つからないけど、それって面白い話題?
188デフォルトの名無しさん:2009/02/05(木) 23:45:49
実をいうと馬鹿馬鹿しくて真面目に読んでなかったので
どんなネタなのか俺にも分からない
189デフォルトの名無しさん:2009/02/05(木) 23:45:54
時々現れるアホのニックネーム
190デフォルトの名無しさん:2009/02/06(金) 00:28:13
訳してみるか
まさに今の時間 みたいな強調表現かもな
191デフォルトの名無しさん:2009/02/06(金) 00:37:39
凡人並の知能は持ち合わせている様なんだけど
何故かとても
あたまがわるい
それがTimeOfNow
192デフォルトの名無しさん:2009/02/06(金) 02:54:36
セカイ系とか自演とかに特殊な俺定義を行っているのも特徴
簡潔に表すなら、重度の中二病患者
193デフォルトの名無しさん:2009/02/06(金) 08:03:28
今進行中の世界の時間っても訳せる
194デフォルトの名無しさん:2009/02/06(金) 16:18:56
301リダイレクトされた場合に、正しいURLを求める関数名は何がいいかな?

暫定的に、getResolvedURLとしているけど、これは相対パスから絶対URLを
作成するときに使うような名前だよね?
195デフォルトの名無しさん:2009/02/06(金) 16:20:27
getRedirectedURL
196デフォルトの名無しさん:2009/02/06(金) 16:30:32
>>195
ありがとん
197デフォルトの名無しさん:2009/02/07(土) 15:44:51
質問です。
いわゆるフラグという言葉は、本来は2値のみを意味するときに使う言葉でしょうか。
例えば1変数のビットごとに定数を当ててオプション指定するなんて例があったとして
ビットごとに見れば(アリかナシかの)フラグだし、変数としてみれば2値ではないし
こういう場合に変数名にフラグと入れるのは変でしょうか
198デフォルトの名無しさん:2009/02/07(土) 15:46:44
flagsにすればいいじゃん。
199デフォルトの名無しさん:2009/02/07(土) 15:51:07
>>197
ありがとうございます。
こういうビット演算によって複数のオプション指定したりする手法にあつらえ向きの名前なんてのはないんでしょうか。
200デフォルトの名無しさん:2009/02/07(土) 15:51:32
>>198の間違えです
201デフォルトの名無しさん:2009/02/07(土) 16:02:28
ビットフィールド?
202デフォルトの名無しさん:2009/02/07(土) 16:14:48
なんか検索したらビットフラグとかビット配列(これは多分違うかも)とか出てきました。
>>201
ビットフィールドはC/C++のイメージがあるのでニュアンスが違う気もします・・・
203デフォルトの名無しさん:2009/02/07(土) 16:19:07
>>199
普通は「その値の特殊な扱い方」、つまりビットマスクを使ってビットごとに
情報を格納したり取得したりする必要がある、なんてことを変数の名前に
盛り込む必要はないはずだと思う。

そんなことより、そのビットごとの値の集合であるその変数の「意味」に注目して名前をつけるべき。

hogeOptionsとかhogeMethodとかhogeModeとかhogeSettingsでいいじゃん。
204デフォルトの名無しさん:2009/02/07(土) 16:23:16
>>203
なるほど!確かにそうですね・・・
変なところにこだわっておりました。どうも。
205デフォルトの名無しさん:2009/02/07(土) 17:56:44
           __
        , ‐' ´   ``‐、             / ̄:三}
.     /,. -─‐- 、.   ヽ        /   ,.=j
 _,.:_'______ヽ、 .!       ./   _,ノ
  `‐、{ へ  '゙⌒ `!~ヽ. !     /{.  /
    `! し゚  ( ゚j `v‐冫   , '::::::::ヽ、/
.    {.l   '⌒      ゙ 6',!   / :::::::::::::::/ __ そんなことよりTimeOfNowの話しようぜ!
.     〈  < ´ ̄,フ  .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
.      ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠.   ヽ_}  ゙ヽ
        ,.r` "´  /:::::::::::::::::::ィ´  `ゝ  !、  /
     /       / :::::::::::::::: ; '´   /´\ /   r'\
.     i      ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
     {      {:::::::::::;:イ /   ‖i:::::::/:::::::::::::/  \
.      ヽ       ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /    ヽ
      ヽ、 ,. ‐'"   .ノ ,〈    >   `'‐- '
          >   _,. ‐'´ / /    `)
       ,ゝ       _.⊥.-r┬:/
       ヽ_,. -‐i"!´「L.=!┘     ヽ
       <      / /       |
       /    、i / __     ./
206デフォルトの名無しさん:2009/02/07(土) 19:42:42
爽やかだなw
207デフォルトの名無しさん:2009/02/08(日) 06:01:57
フラグと聞いて真っ先に頭に浮かんだのがツンデレ
オレって…
208デフォルトの名無しさん:2009/02/08(日) 12:51:28
死亡フラグ
209デフォルトの名無しさん:2009/02/10(火) 00:03:15
画像のサイズを2のn乗にするプログラムを書いてるのですが、
int xを与えられたときに、xより小さくない2の乗数を返す関数の名前はどういうのがよいでしょうか。
自分で考えたのはint up_to_pow2(int x);といった具合ですが、WEB辞書を見てみると、up to というのが
どうやら思っていたのと違う意味のようでした。
210デフォルトの名無しさん:2009/02/10(火) 00:11:33
? 条件をもっとはっきり。
x以下の2の乗数のうち最大のものを返すのか、x以上の2の乗数のうち最小のものを返すのか、
どっちだ?
211デフォルトの名無しさん:2009/02/10(火) 00:12:47
ceil
212デフォルトの名無しさん:2009/02/10(火) 00:13:35
逃げのような気もするが、normalize_image_sizeとか。
213デフォルトの名無しさん:2009/02/10(火) 00:14:11
すいません。xより小さくない、最小の2の乗数 です。
214デフォルトの名無しさん:2009/02/10(火) 00:15:06
up to じゃなくて、round up to じゃないかね?
215デフォルトの名無しさん:2009/02/10(火) 00:19:03
いろいろ出してくれてありがとうございます。
cの数学関数にちなんでceilにしようかとも思いましたが、
ceil_pow2, ceil_to_pow2で意図した意味を成すのか不安なのでround_up_to_pow2にします。
216デフォルトの名無しさん:2009/02/10(火) 00:19:37
汎用的に使う関数なら、round_up_to_power_of_2()かなあ。
画像サイズの正規化にしか使わないと決まっているものなら、>>212でいいんじゃね。
217デフォルトの名無しさん:2009/02/10(火) 00:20:27
ぐぐると、 power of two round up とか
rounding up an int to a power of two とか
出てくるからそれでいいとおもう。
218デフォルトの名無しさん:2009/02/10(火) 01:10:25
実験屋さんとかが使うMATLABだとnextpow2らしい。

俺ならとりあえずGetMinPowerOf2()とかGetMinPow2()とかしておいて、
必要ならオプションでFloorかCeilingを指定できるオーバーロードを追加するとかすると思う。
というか、過去にそんなの作った気がする。
219デフォルトの名無しさん:2009/02/10(火) 01:16:32
まてよfloor指定するのなら名前にMinとか入ってると矛盾するのか。。
220デフォルトの名無しさん:2009/02/10(火) 05:10:13
この際func001()で
221デフォルトの名無しさん:2009/02/10(火) 08:25:21
1度になぜ2つのことをする
222デフォルトの名無しさん:2009/02/10(火) 08:27:59
はぁ???????・・・・・・
223デフォルトの名無しさん:2009/02/10(火) 11:10:40
Part11にて。

265 :デフォルトの名無しさん[sage]:2007/11/22(木) 17:48:28
ある整数値を引数として与えて、その値以上の2のべき乗の数のうち、
最小のものを返す関数の名前は何が相応しいですか?

266 :デフォルトの名無しさん[sage]:2007/11/22(木) 17:52:58
least2PowerGreaterThan(int i)

267 :デフォルトの名無しさん[sage]:2007/11/22(木) 18:03:56
>>265
clp2

268 :デフォルトの名無しさん[sage]:2007/11/22(木) 18:29:21
2Power よりは Power2 の方がいい気が。
power of 2 の of を省略したもの。

昔、自分が使ったのは、CeilPower2 と FloorPower2 でそれぞれ
「x 以上の最小の2のべき」、「x 未満の最大の2のべき」にした。

>>267 も、ceiling power of 2 の略よね?

269 :デフォルトの名無しさん[sage]:2007/11/22(木) 19:02:30
>> >>267 も、ceiling power of 2 の略よね?
Exactly.
See Hacker's Delight
http://www.informit.com/content/images/0201914654/samplechapter/warrench03.pdf

270 :265[sage]:2007/11/22(木) 21:09:54
どうもありがとうございました。
CeilPowerOf2にします。
224デフォルトの名無しさん:2009/02/11(水) 01:36:48
質問です。
3Dモデルのボーンマトリクス等で親を継承する前のマトリクスをLocalMatrix、
継承後のマトリクスをGlobalMatrixと表していますが、
頂点カラー等はライトが当たる前の元の色をLocalColor、ライトの色を適応した
最終的なカラーを保持するメンバ名をGlobalColorと言うものなんでしょうか?
より適切な名前があるような気がしてなりません。
どなたかより良い名前があればご指摘お願いします。
225224:2009/02/11(水) 01:44:12
すいません、質問を変更します。
上記の、元データLocalに対して親を継承したものをGlobalとつけていますが、
マトリクス以外の親を継承したデータの名前に対してGlobal〜とつけるのは適切でしょうか?
継承したデータ、の内容は、色加算等の描画フラグ、ソートの補正値等が含まれます。
226デフォルトの名無しさん:2009/02/11(水) 20:57:36
>>225
るーとまとりくす(ry
227デフォルトの名無しさん:2009/02/11(水) 23:01:41
ロシアンパブはパブから派生だお( ^ω^)おっおっ
228デフォルトの名無しさん:2009/02/12(木) 03:59:03
「TimeOfNow」って命名がセンスないっていうのが、
正直理解できてない…。

もしかしたら言葉にしづらい感覚的なことなのかもしれないが、
そこんところ、教えてもらえないかな
229デフォルトの名無しさん:2009/02/12(木) 04:30:27
前置詞っツーのは、前置詞っツーのは
230デフォルトの名無しさん:2009/02/12(木) 18:03:17
よろしくおねがいします

「入力必須であることを設定、取得するプロバティ名」と、
「入力必須なのに入力されていない事を示すプロパティ名」に悩んでいるんだが、
何かいいアイデアないかな?

例えば、Requireと、IsRequireとか付けてみたんだが、
これじゃどっちがどっちだかわからないので、他のを考えてるんだけど思いつかない。


231デフォルトの名無しさん:2009/02/12(木) 18:17:56
Required
Missing
232デフォルトの名無しさん:2009/02/12(木) 18:28:07
SetRequired
IsRequired
IsRequiredButNotFilledIn
233デフォルトの名無しさん:2009/02/12(木) 18:33:04
IsRequired
IsMissing
234デフォルトの名無しさん:2009/02/12(木) 18:39:25
なるほど参考させてもらって
IsRequiredとIsFilledがわかりやすそうなので、これにしました。
ありがとうございました
235デフォルトの名無しさん:2009/02/12(木) 18:59:44
In...
236デフォルトの名無しさん:2009/02/12(木) 19:14:00
(・∀・)インポ!!
237デフォルトの名無しさん:2009/02/12(木) 19:21:58
それは Im... ぢゃ
238デフォルトの名無しさん:2009/02/12(木) 20:53:05
しかし、「入力必須であることを設定、取得するプロバティ名」ってのはどういうことかのう。。

そのクラスは、文字列か何かの別のプロパティを一つだけ持っていて、
そのプロパティが必須かどうかを表すプロパティ、って意味なのか?

だとしたらなんだか無駄な気がするんだけどな。
「それ」が必須かどうかを表現するためだけに、ただの文字列をラップするのか。
「それ」が必須かどうかなんてことは、そのデータを持つクラスが知ってればいいことだと思うけど。
239デフォルトの名無しさん:2009/02/12(木) 21:03:22
入力で未入力を許容するかどうかを確認する例はよくあるだろ
240デフォルトの名無しさん:2009/02/12(木) 21:06:16
ToNじゃ!ToNがでたぞ!

ま、開発経験の無いでっかちド馬鹿に一つだけ教えてやるけど
よくある入力フォームでの話だろ

お前は何の経験も無いから知らないだろうけど
そんな理想論掲げるだけ無駄だし無意味だし金にもならないし社会活動として破綻してる
241デフォルトの名無しさん:2009/02/12(木) 21:34:51
>>239
それはそうなんだが、俺(>>238)の言ってる意味わかってる?
普通は>>230みたいな変な実装しないと思うよ。
これじゃたわざわざ述する手間を増やして可読性を落としてるだけじゃん。
242デフォルトの名無しさん:2009/02/12(木) 21:38:07
だからバリデータを自分で実装するからだろ
243デフォルトの名無しさん:2009/02/12(木) 21:46:09
必須は、mandatoryともいうな。
244デフォルトの名無しさん:2009/02/12(木) 21:46:47
設定するのが義務的な意味で。
245デフォルトの名無しさん:2009/02/12(木) 21:48:31
>>241
例えばTextBoxの派生クラスを作るのに、
Require属性がなかったら、いちいち項目ごとに異なる派生クラスを作って、
いちいち入力必須かどうか記述しなくちゃいけないじゃん。
そのほうが手間だし可読性は最悪だろ
Require属性があればプロパティを設定するだけですべてに応用ができる。
246デフォルトの名無しさん:2009/02/12(木) 21:51:16
UserやらNameから派生したテキストボックスとかあったら爆笑しちゃう
247デフォルトの名無しさん:2009/02/12(木) 21:55:44
>>246
バリデートもそれぞれ別にやらなきゃいけないしな
User.IsMissing
Name.IsMissing
MailAddress.IsMissing
・・・・・
Address.IsMissing
とか、いちいち全部チェックするのかしら。
手間だし可読性も最悪。
248デフォルトの名無しさん:2009/02/12(木) 22:01:03
>>245
その入力欄が必須かどうかを表す値をGUI部品に持たせるって
普通は変な設計だと思うけどなw
もちろん必須かどうかをユーザーに対して表示する機能を持たせるため、
というような事情はありうるだろうけど。

それ以前に、それって>>230の話と違うことない?
>>230はGUI部品の話をしてたんだろうか?
249デフォルトの名無しさん:2009/02/12(木) 22:01:56
>>241
ごめん、変じゃない実装って何?
>>238だけじゃいまいち分からん。
250デフォルトの名無しさん:2009/02/12(木) 22:06:03
>>230は「入力」の話をしてるのに
GUIで入力しないで何で入力するんだ?念力?

ユーザーオブジェクトの必須フィールドについてとかなら
全然違う書き方で質問してくると思うが
251デフォルトの名無しさん:2009/02/12(木) 22:08:25
>>248
インターフェースでIsRequire属性を、それぞれのクラスに継承させ、
ファクトリークラスからインスタンスを生成する。
ファクトリークラスでは
foreach(IInterface object in ObjectList)
 boolValue = boolValue & Object.IsMissing;
これだけですべての項目のバリデートができる
user、name、mailAddress、birthDay、age等すべてでValidateするのとどちらが可読性が上かい?
そして、こんな設計は変なのかい?

なんか書いていてむなしいぜ。
252デフォルトの名無しさん:2009/02/12(木) 22:17:29
>>249
例えば、Customerクラスに氏を表すFamilyNameというメンバがあるとする。

そのFamilyNameが「入力必須」であることを表現するためだけに、
IsMissingをプロパティに持つ新たな型を導入するのは無駄だということ。

素直にFamilyNameは単純に文字列で持てばいい。
それが必須かどうかの情報はCustomerが持っている方が直感的だ。
253デフォルトの名無しさん:2009/02/12(木) 22:17:39
>>248
だからバリデータを自分で実装するからだろ
俺(>>242)の言ってる意味わかってる?
254デフォルトの名無しさん:2009/02/12(木) 22:21:38
>>252
そりゃ無駄だわw
そして、当たり前の事だわw
最後に、ただのお前の勘違いだわw
255デフォルトの名無しさん:2009/02/12(木) 22:24:43
>>252

その理屈だと、どんな属性もそれを抱えるクラスが持てばいいことになる。
Formに貼り付けたUI部品のVisibleをすべてFormで管理するなんて煩雑過ぎる
そのオブジェクトの属性は、そのオブジェクトが持つのが常識

かつ>>251の書いているとおりインターフェースを利用した場合のほうが、
拡張すべき実装(例えば誰が入力したか)がでた場合に簡単に拡張できる。
インターフェースにUserを追加するだけだからな。
256デフォルトの名無しさん:2009/02/12(木) 22:33:57
>>254
そうでもないよ。
例えばnullを許容するかどうかの場合を考えるとわかりやすいよ。
これは空文字とは別にnullなんだという情報をCustomerクラスに持つなんてしないでしょ。
その属性は、そのオブジェクトに持たせるのが常識。
257デフォルトの名無しさん:2009/02/12(木) 22:43:20
そのCustomerオブジェクトがValidであるかどうかのチェックが必要な場合はCustomerクラスに記述すべきじゃない?
今回のお題とは全く別件だけどさ
258デフォルトの名無しさん:2009/02/12(木) 23:08:54
>>255
>その理屈だと、どんな属性もそれを抱えるクラスが持てばいいことになる。
いや、そうは言ってないよ。
「そのオブジェクトの属性は、そのオブジェクトが持つのが常識」には完全に同意するけど、
FamilyNameが入力必須かどうかは普通に考えれば「Customerクラスの都合」であって
FamilyNameの属性ではない。

ただ、>>251の言うことが正しい(少なくとも一理ある)のは理解した。
>>251の言う利点は正直あまり同意できないけど、確かに、例えば
ある値に「不正な入力がされている」ことをUIに反映するようなことを考えるときには
プロパティから取得したデータ自身が「自分が不正な値かどうか」を知っている方が便利だ。

言い訳がましいけど、俺は普段(「入力」ボタンが押されたときまとめて、ではなく)
個別のコントロールに入力された時点でプロパティの値を設定して、プロパティのセッタの中で
バリデーションを行って結果はイベントで通知してUIに反映する、というコードを書く場合が多いので
>>251の発想はなかった。

「変」とか言ったのが気に障ったらそれは謝る。
259デフォルトの名無しさん:2009/02/12(木) 23:13:20
ここは属性プログラミングの出番だと思うね。

まあ、
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。
なんで、ほどほどに。
260デフォルトの名無しさん:2009/02/13(金) 00:10:01
>>258
Webアプリじゃそんな贅沢な事出来ないしな
261デフォルトの名無しさん:2009/02/13(金) 00:12:16
TONさんさー
今回は出なくていいよ。
正直これはどうでもいい。
262デフォルトの名無しさん:2009/02/13(金) 00:15:26
>>258
それだとコントロールが追加されるごとに、
・新たなプロパティ値を設定する部分
・バリデーションをする部分
・イベント通知をする部分
・そのコントロールが未入力を許容するかどうか
という項目をCustomerクラスに追加していかなきゃいけなくなるでしょ

ファクトリークラスとインターフェースを利用すれば、
インスタンスを生成するだけで、それが自動的にできる。
そのためには、それぞれのコントロールにRequired属性が必要になるってこと。

>>259
これで最後にするよ。
263デフォルトの名無しさん:2009/02/13(金) 00:26:49
T.O.N.さんは質問者が解決って言った後に愚痴り出すのが趣味だから、しょうがないよ
264デフォルトの名無しさん:2009/02/13(金) 01:20:04
>>262
>インスタンスを生成するだけで、それが自動的にできる。
それはちょっとミスリードな言い方だな。
単にそれらの処理が書かれる場所がデータを所有するクラスからデータ自身のクラスに
変わるだけ、でしょ?

もちろん、>>251のコードのように列挙してチェックする必要がある項目が
多数になる可能性があるのなら、(1)データ自身に、(2)同じインターフェイスとして実装する
ことによるポリモーフィズムの利点が利いてくるのは確か。

でも>>230のような用途でそんな可能性があるのかなあ。
やっぱり正直、一見エレガントに見えて「策士策に溺れる」的に思える。

>そのためには、それぞれのコントロールにRequired属性が必要になるってこと。
ごめんこれは何を言っているのかよくわからん。


最後に、確かにこれはスレ違いと言われても仕方がない話題だねすまんかった。
265デフォルトの名無しさん:2009/02/13(金) 01:21:52
>>258
解決済みの件を無駄だの変だのと蒸し返した挙句、
今日一番の長文が殆ど全部言い訳で占められてるってどうよ?
本当に性格悪いな、あんた。
266デフォルトの名無しさん:2009/02/13(金) 01:29:07
>>264
何で質問者がいるうちに言わないの?
何で質問者が居なくなった頃を見計らって「ぼくのかんがえたしつもんしゃがいいたかったこと」を語りだすの?
何で質問者がそこまで間抜けな質問をしていると仮定するの?
267デフォルトの名無しさん:2009/02/13(金) 01:47:57
>>264
>単にそれらの処理が書かれる場所がデータを所有するクラスからデータ自身のクラスに変わるだけ、でしょ?
「単に」ではなく、それが最も重要な利点。
Validateする内容が文字列だけだと勝手に決めてないか?
stringだけなら、配列にいれた文字をstring == ""ですべてチェックできるが、
intやstringが混在する場合だと、その都度、異なるメソッドに割り振ってチェックしなきゃいけないから効率が悪い。
データ自身が処理を持っていれば、インターフェースで指定したValidateの返値を得るだけでチェックできる。
そしてユーザ指定型を追加して拡張したい場合でも、インターフェースさえ設定すれば、
所有クラスは何も変えずに使い続けることができる。

>でも>>230のような用途でそんな可能性があるのかなあ。
十分にある。
・Webアプリのコントロール→ボタン押下時に一斉にチェックする必要がある
・入力をチェックする再利用可能なValidationクラスの設計→メアド、数値など、
入力値をチェックするコントロールを再利用可能なクラスとして設計し、一斉にチェックする場合
・データベースへInsertするための汎用クラスの設計→DateTime値、int値、nullかどうかなど、
それぞれの入力値を一斉にチェックする場合

>ごめんこれは何を言っているのかよくわからん。
これを理解できないのに、なんでインターフェースを語れるんだ?
268デフォルトの名無しさん:2009/02/13(金) 02:09:32
経験値不足な彼相手によくそこまで付き合ってあげられるなぁ。
ちょっと涙が出てきた。
269デフォルトの名無しさん:2009/02/13(金) 02:55:17
>>264
>それはちょっとミスリードな言い方だな。
いや自動にできる

>単にそれらの処理が書かれる場所がデータを所有するクラスからデータ自身のクラスに
>変わるだけ、でしょ?
データ自身のクラスに、そんな処理を書くわけないだろ
処理はデータ自身の基底クラスに記述
データ自身はそれを継承しているだけ
だから自動でできる
270デフォルトの名無しさん:2009/02/13(金) 02:58:57
案の定いつも通りの流れでワロタ
271デフォルトの名無しさん:2009/02/13(金) 03:01:59
そろそろTONさんバックレます
また2週間くらい
272デフォルトの名無しさん:2009/02/13(金) 03:10:32
>>230読んでクラスのメンバフィールドの話をしてると思った人ってTimeOfNowの人意外にいるの?
273デフォルトの名無しさん:2009/02/13(金) 03:34:59
俺は入力フォームみたいのを作って実行する、データ自体には依存しない一般的な仕掛けを実装したいのかなと思った。
274デフォルトの名無しさん:2009/02/13(金) 05:23:45
とりあえずTONのひとはコテハンかトリップでもつけてくれねぇかなぁ。
275TimeOfNow ◆g72UvIyAhI :2009/02/13(金) 05:41:07
トリ付けました。
276デフォルトの名無しさん:2009/02/13(金) 05:42:01
>>274
フルボッコされると自演乙とか言っちゃう人だから、まぁ無理でしょ
277デフォルトの名無しさん:2009/02/13(金) 05:44:00
TONが「ました」
なんて言う訳が無い
278デフォルトの名無しさん:2009/02/13(金) 09:00:15
>>273
「普通」はそうとしか取れないよな
279デフォルトの名無しさん:2009/02/13(金) 13:48:04
年度末、年度初めって何かある?
startNendoOfYearとかベタなのしかおもいつかんw
280279:2009/02/13(金) 13:49:40
ああ、ごめん年度開始月と、年度末月でした。
startMonthOfNendoとか、endMonthOfNendoとかしか思い浮かばない・・
281デフォルトの名無しさん:2009/02/13(金) 14:02:28
>>280
それでいいじゃん。何か不満なの?
282デフォルトの名無しさん:2009/02/13(金) 16:04:55
Nendo -> FiscalYear (会計年度)
Nendo -> BusinessYear (事業年度)
Nendo -> AcademicYear, SchoolYear (学校年度)
283デフォルトの名無しさん:2009/02/13(金) 18:59:25
of yearっているの?
ToN!
284デフォルトの名無しさん:2009/02/13(金) 20:13:55
>>267
いや、「<コントロールに>Required属性が必要」というのはやはり意味不明に聞こえる。
コントロール、に?

前半の話は理念的に美しいのは認めるが、現実解としてはやはり間違いだと思う。
>>230のような話は、ベタにやった方がずっと早くわかりやすく書ける。

>>269
それ自分で言ってることの意味がわかって言ってるの?
285デフォルトの名無しさん:2009/02/13(金) 20:22:21
>>284
スレ違いの話題いいかげんにしろや池沼
286デフォルトの名無しさん:2009/02/13(金) 20:25:25
>>284
>前半の話は理念的に美しいのは認めるが、現実解としてはやはり間違いだと思う。
なら汚いスパゲッティコードしか書けてないんだろ

object指向ならあらゆる処理を行うコードが、それぞれまとまっているわけだが?
int.ToString();
string.Substring(0, 0);
datetime.AddDays(0);
そしてintなどには未入力であることを示すプロパティが無いから、
自前で実装しておきたい需要は普通にあるだろ。
それこそ機能を作っておいて>>269の言うとおり継承するだけでいいんだから
そのほうが簡単で確実だし可読性も良い。

お前の言う方法だと、いちいちその都度、Customerクラスを専用に作り直さなければ
ならないので遅いし、クラスによって実装が異なるから分かりにくく可動性に欠ける。
287デフォルトの名無しさん:2009/02/13(金) 20:44:50
>>286
いきなりお前呼ばわり?

まあいいけど、既に書いたとおり、>>230のような情報は本来「データを所有しているクラス」
が知っているべきことであって、データそのものに属する情報じゃない。
OOP云々いうのなら、こういう「意味論的なおかしさ」にも敏感になってよ。

それだけでなく、年齢(普通ただの数値であることを期待するだろう)が、「必須項目かどうか」
を年齢自体に持たせるために、本来ただの数値で済むものに専用型を導入するわけ?

int age = Customer.Age.Value;
みたいなまどろっこしいことを強制されるわけ?
策に溺れてるじゃん。

それと、その継承の使い方はおかしいと思うよ。
継承って「見たくないコード」を隠すために使うものなの?
違うと思うけど。
288デフォルトの名無しさん:2009/02/13(金) 20:47:41
>>287
暗黙の型変換ができればいい。
289デフォルトの名無しさん:2009/02/14(土) 01:22:06
>287
継承の使われ方は結果論であって、
親クラスがその責務をもつのが妥当かって話で
その観点からは個人的にはアリだと思うけど。
まどろっこしいかどうかは言語によっても変わるだろうし。

でもお二人ともスレ違いだしそろそろやめたら?
290デフォルトの名無しさん:2009/02/14(土) 02:04:47
>>287
そこで暗黙の型変換使わないでどうするの?
もう少し知識を揃えようね。

それにオブジェクト指向の根本が見たくないものを隠すからなってるだろが。
291デフォルトの名無しさん:2009/02/14(土) 02:12:27
o(・_・= ・_・)o キョロキョロ
292デフォルトの名無しさん:2009/02/14(土) 02:18:46
Webアプリだと普通にベストプラクティスの一つだと思うけどな。
それを「少なくとも一理ある」だの「正直あまり同意できない」だの、どんだけ言い訳まみれの人生なんですかw
293デフォルトの名無しさん:2009/02/14(土) 02:44:55
>>1
>命名規則や設計の善し悪しについて議論するのは基本的に禁止。
294デフォルトの名無しさん:2009/02/14(土) 06:12:10
>>238の時点でブッチギリにスレ違いなのに、何をいまさらw
295デフォルトの名無しさん:2009/02/14(土) 11:35:18
所持数とか使用数みたいな
変数名はいまだに悩む
296デフォルトの名無しさん:2009/02/14(土) 19:23:01
結局残るのはTimeOfNowを肯定する人間は一人も現れないと言う事実のみ
297デフォルトの名無しさん:2009/02/14(土) 21:41:34
いまはこーのばしょで〜TimeOf Now〜
298デフォルトの名無しさん:2009/02/14(土) 21:45:21
>>287
>OOP云々いうのなら、こういう「意味論的なおかしさ」にも敏感になってよ。
なるほど組み込み型の変数以外は、どんなクラスであれ、データそのものでなく、
データを所有するクラスだから、未入力属性が存在することは認めるということね。
つまり、バリデーションを受け持つクラスや、GUI部品が
未入力であることを示すプロパティを持ってる事には納得したってことだな。

じゃなんで、>>238のような質問をするんだ?
>>230はどう考えても、お前の言うところのデータを所有しているクラスのプロパティだろ。

>int age = Customer.Age.Value; みたいなまどろっこしいことを強制されるわけ?
暗黙の型変換、拡張メソッドがあるじゃん

>継承って「見たくないコード」を隠すために使うものなの?
すべてではないが、一つの機能だろ。
継承とカプセル化が無縁のものなら、なんでprivateとprotectedの違いがそもそもあるんだ?
299デフォルトの名無しさん:2009/02/14(土) 22:38:32
>>298
だからいきなり人をお前呼ばわりするなって。
最低限の礼儀も弁えない糞ガキなの?(まあ、やってることは疑念の余地なくそう。)

悪いけど前半は何を言ってるのかさっぱり理解できん。

最後の三行について言えば、>>269,>>286が言っているような目的、
つまり、例えばEMailAddrクラスがあるとして、そのクラスの中に直接Validateメソッドを
書くことを避けるためだけに無理に(つまり何の「汎化」にもなってない!)
ベースクラスEMailAddrBaseクラスを作る、なんていう継承の使い方を良しとする
まともなプログラマって見たことないよ。

それって、例えばCで、「関数の行数が長すぎるからもっと短くしろ」と叱られた
馬鹿な新米プログラマが、

int hogeFunc(int x, int y)
{
  #include "hogeFuncの中身.h"
}

とやってるのと何が違うの?

ついでに言えば、こういう愚行を「カプセル化」と呼ぶ人間も見たことない。
(まあこれは普通そんな頭の悪いことはしないから当たり前だけど。)
300デフォルトの名無しさん:2009/02/14(土) 22:57:46
俺が設計してやろうか?
301デフォルトの名無しさん:2009/02/14(土) 22:58:36
2chでお前って言われてブチ切れるやつ始めて見たwwww
302デフォルトの名無しさん:2009/02/14(土) 23:04:15
ひょっとして40過ぎのおっちゃん?
303デフォルトの名無しさん:2009/02/14(土) 23:09:47
>298,299
お前らもう最低だな。早く死ねや
304デフォルトの名無しさん:2009/02/14(土) 23:34:55
老害すぎる
305デフォルトの名無しさん:2009/02/15(日) 02:37:36
つかNullable型のような物を自前で実装するってだけだろ
何そのEMailAddrBaseってw
ダサすぎw
306デフォルトの名無しさん:2009/02/15(日) 02:43:12
つまりやっぱりTONの人なの?
307デフォルトの名無しさん:2009/02/15(日) 02:45:37
>>299は総称型も暗黙の型変換もない言語を使ってるんだよ…
308デフォルトの名無しさん:2009/02/15(日) 02:51:28
IsMissingだけをサポートするMyStringって型作ってEMailAddrやらFirstNameやらPostalCodeやらがそれを継承するだけじゃん
なんでEMailAddrBaseやらFirstNameBaseやらPostalCodeBaseまでつくらにゃならんの?
309デフォルトの名無しさん:2009/02/15(日) 03:09:49
EMailAddrBaseさん、落ち着いてくださいよ
糞ガキ呼ばわりも十分に無礼っすよ
無礼者同士、仲良くしたらいいじゃないっすか
310デフォルトの名無しさん:2009/02/15(日) 10:50:13
議論も仲良くもここでやんな。
311デフォルトの名無しさん:2009/02/15(日) 15:37:35
荒らしにはスルーが基本。読む価値なし
312デフォルトの名無しさん:2009/02/15(日) 19:54:42
だれかToNさんに鏡を渡してあげないと
313デフォルトの名無しさん:2009/02/15(日) 21:40:08
質問ですが、ToNとTONとT.O.Nとどれが一番いいと思いますか?
314デフォルトの名無しさん:2009/02/15(日) 21:45:57
ToNがいいと思うけど顔文字に見えてしまう
315デフォルトの名無しさん:2009/02/15(日) 21:54:14
>>313
もういっこピリオドを付けてT.O.N.にする
316デフォルトの名無しさん:2009/02/16(月) 00:22:31
>>299
>クラスの中に直接Validateメソッドを書くことを避けるためだけに無理にベースクラスEMailAddrBaseクラスを作る
お前バカだろ。電子メールアドレスの基底クラスを作って、それを派生させるのはメアド入力だけかよw
個々のオブジェクトに普遍、共通な機能をクラスに記述し、それを継承できるとこにobject指向の意味があるんだよ。
例えばメアドでも住所でも、バリデートが必要なデータは、すべて使用者が入力するデータなんだから、
入力値とIsMissiongプロパティを所有するValidateStringとか言う自作クラスを作って、それを継承するだけだろ。
ついでに入力値を設やりとりするプロパティとか、文字数とか、nullかどうかをチェックする機能も
基底クラスに記述すればいいわけだ。

>(つまり何の「汎化」にもなってない!)
お前の脳内で汎化してないだけだろ。
EMailAddressでも、ZipCodeでも、Addressでも、FaxNumberでも、
すべて未入力を許容する可能性があるんだからValidateStringを継承すればいいだけ。
いちいち未入力であるかどうかを個々に記述してたらばからしいだろ。

>こういう愚行を「カプセル化」と呼ぶ人間も見たことない。
お前、継承の機能を全然理解してないだろ。
customerクラスが、未入力を許可するかどうかを所持していたら、
項目が増えるごとにメンバを増やさなければいけないから、
入力するフォームが増えるだけ異なる別個のクラスができて非効率的だろ。
データが所有クラスが、自分自身に未入力を許容するかどうかを持っていれば
Customerクラスを改変せずに利用できるから非常に便利。


317デフォルトの名無しさん:2009/02/16(月) 00:44:03
>>299
もう面倒だから俺が設計してやんよ

public class MyString //入力関連の基底クラス
 private string mData = "";
 private bool mIsRequire = false;
 public string Data //入力データを格納するプロパティ
 public bool IsRequire //入力必須かどうか
 public bool IsMissing //入力必須であるのに入力がない

public interface ICheck
 public virtual bool IsCheck() //入力データをチェックするメソッド

public class MailAddress : MyString, ICheck //メアドチェック
 public bool IsCheck()
  return IsMissing && IsMailAddress
 public bool IsMailAddress //メアドかどうか

public class PostalCode : MyString, ICheck //メアドチェック
 public bool IsCheck()
  return IsMissing && IsPostalCode
 public bool IsPostalCode //郵便番号かどうか

public class Tel : MyString, ICheck //電話番号チェック
 public bool IsCheck()
  return IsMissing && IsTel;
 public bool IsTel //電話番号かどうか

汎用化できるじゃん。しかも継承させたほうがすっきりして可読性が良い。
318デフォルトの名無しさん:2009/02/16(月) 00:46:53
>>316
ここでもいつも言ってることだが、人が言ったことに反論してもらえるかな?
人が言ってもいない、ただの君自身の被害妄想的な妄想に対して一生懸命反論して
何か意味あるの?

いつも思うんだが、こういう人間ってどういう思考回路してんだろ意味がわからない。
319デフォルトの名無しさん:2009/02/16(月) 01:24:14
>>317
一応反論(と言っていいかわからんが…)しとくけど、俺が使った言葉は「汎化」ね。

>>269,>>286が言っているような継承の使い方は、なんの汎化にもなってない愚行だ、
と言ったんだよ俺は。

しかし、君に言ってもしょうがないけど>>269がどういう意味で自動って言ってるのか
さっぱり意味がわからんな。

この人継承って魔法か何かとでも思ってるのかしらん。

まあIsRequiredのようにメンバ変数の値を返すだけプロパティやメソッドなら
コンストラクタでメンバ変数に適切な値を入れるとかで見かけ上「自動」にできるけど
(でも普通はそんなことせず、素直に派生クラスでオーバライドする作りにした方が早いよな)
Validateのようなメソッドがどう「自動」にできるのか聞いてみたいもんだ。

コンパイラの中の小人さんが適当にValidateの中身を書いてくれるのかw
320デフォルトの名無しさん:2009/02/16(月) 01:47:04
>>313
1番目のToNがお気に入りです
321デフォルトの名無しさん:2009/02/16(月) 01:49:25
あと、一つ思ったんだが、>>230がいうような情報をデータ自身に持たせることが
意味論的におかしいことは既に書いたけど、そのことの帰結として、
例えば同じ型のデータが2つ以上必要で、それぞれ入力必須かどうかが
違ってたらどうするの?

もちろん、例えば入力必須かどうかで別の型にするとか、いろいろ技巧的に解決法があろうとは
思うけど、それって本当に直感的と言える?
むしろそんな技巧を凝らさなければならなくなるのは、最初の考え方に無理があるからじゃないの?

もちろん物事何でもトレードオフだから、多少意味的におかしくてもコードが簡潔になるとか、
それ以上のメリットがあれば良いとは思うんだけど、>>251が提案しているような方法は
ある種エレガントではあっても冗長なだけにしかならんよ。

まるで庭の焚き火用の穴を掘るのにユンボ使ってるようだ。
322デフォルトの名無しさん:2009/02/16(月) 01:59:24
>ある種エレガントではあっても冗長なだけにしかならんよ。
323デフォルトの名無しさん:2009/02/16(月) 04:19:31
設計の話か。俺になんか聞きたいことある?
324デフォルトの名無しさん:2009/02/16(月) 05:23:07
\(ToN)/設計オワタ
325デフォルトの名無しさん:2009/02/17(火) 01:22:01
>>264でスレ違いを謝罪してるのに何故未だに続けてるの?
326デフォルトの名無しさん:2009/02/17(火) 01:37:10
「確かにこれはスレ違いと言われても仕方がない話題」であり、
「紛らわしい事については認めるが、スレ違いでは無い」からです。
「スレ違いな話題だと勘違いする馬鹿」に対して「お気の毒に」と言っているのが>>264です。
これを「TimeOfNowメソッド」と呼びます。
327デフォルトの名無しさん:2009/02/17(火) 01:50:08
>>319
>>>269,>>286が言っているような継承の使い方は、なんの汎化にもなってない愚行だ、と言ったんだよ俺は。
>>317に書いてるじゃん

>しかし、君に言ってもしょうがないけど>>269がどういう意味で自動って言ってるのかさっぱり意味がわからんな。
MailAddress mailAddress = Factory.CreateMailAddress;
PostalCode postalCode = Factory.CreatePostalCode;
Tel tel = Factory.CreateTel;
foreach (ICheck object in Factory.ObjectList)
 icCheck = isCheck && object.IsCheck;
いろんな手法はあるが、わかる安くかけば、こんなふうに自動でできたよ

>Validateのようなメソッドがどう「自動」にできるのか聞いてみたいもんだ。
>>317に書いてるじゃん

328デフォルトの名無しさん:2009/02/17(火) 01:51:34
>>321
>>>230がいうような情報をデータ自身に持たせることが意味論的におかしい
おかしくないよ 例 JAVAのString.isEmpty()

>例えば同じ型のデータが2つ以上必要で、それぞれ入力必須かどうかが違ってたらどうするの?
その型を格納するクラスが二つになるだけだよ。
メールアドレスを格納するクラス
MailAddress mailAddress1 = new MailAddress();
MailAddress mailAddress2 = new MailAddress();
とするだけだよ。参照渡しと値渡し理解してる?

>例えば入力必須かどうかで別の型にするとか、いろいろ技巧的に解決法があろうとは
>思うけど、それって本当に直感的と言える?
オブジェクトにそのプロパティがあるほうが直感的だよ。
どんな入力内容にも、入力必須が入力必須でないかの二つしかないよ。
入力必須でなければ、入力必須をfalseにして普通に使えばいいだけだよ。
一般化できる昨日をスーパークラスに記述するobjectの仕組み理解してる?
329デフォルトの名無しさん:2009/02/17(火) 02:02:00
>>321
>あと、一つ思ったんだが、>>230がいうような情報をデータ自身に持たせることが
>意味論的におかしいことは既に書いたけど、そのことの帰結として、
>例えば同じ型のデータが2つ以上必要で、それぞれ入力必須かどうかが
>違ってたらどうするの?

異なるインスタンスを生成するだけじゃねーか
なにいってんだ?
330デフォルトの名無しさん:2009/02/17(火) 02:12:45
>>318
お前も人の言ったことに反論してねーじゃねーかw
331デフォルトの名無しさん:2009/02/17(火) 02:16:45
>>324
ToN入ってたのかw
332デフォルトの名無しさん:2009/02/17(火) 02:27:10
おかしくないよ 例 C#のNullable<string>

>>328
彼はそれだけじゃ理解できないからもう少し書いてあげないと
MailAddress mailAddress1 = new MailAddress();
MailAddress mailAddress2 = new MailAddress();
mailAddress1.IsRequire = true; //mailAddress1.IsMissing ⇒ true & mailAddress1.IsCheck ⇒ false
mailAddress2.IsRequire = false; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ true

mailAddress1 = "hoge1"; //mailAddress1.IsMissing ⇒ false & mailAddress1.IsCheck ⇒ false
mailAddress2 = "hoge2"; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ false

mailAddress1 = "[email protected]"; //mailAddress1.IsMissing ⇒ false & mailAddress1.IsCheck ⇒ true
mailAddress2 = "[email protected]"; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ true

ほんと、書いててむなしくなるな・・・
333デフォルトの名無しさん:2009/02/17(火) 02:31:49
>>330
>>318はどこかの誰かのアンカミスで、ToNに宛てて言ってるんだろ?
そうとしか思えない。いや、それ以外ありえない。
334デフォルトの名無しさん:2009/02/17(火) 02:52:12
>>318
   、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  は  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O
335デフォルトの名無しさん:2009/02/17(火) 02:54:57
>>332
その結果、入力内容が正しい(IsValidate ⇒ true)かどうかってのも必要かも
入力必須でなく(IsRequire ⇒ false)、未入力の場合、メアド判定はfalseでも入力結果は正しいからね。
まとめるとこんなんになるのかな?

mailAddress1.IsRequire = true; //mailAddress1.IsMissing ⇒ true & mailAddress1.IsCheck ⇒ false & mailAddress.IsValidate ⇒ false
mailAddress2.IsRequire = false; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ true & mailAddress.IsValidate ⇒ true

mailAddress1 = "hoge1"; //mailAddress1.IsMissing ⇒ false & mailAddress1.IsCheck ⇒ false & mailAddress.IsValidate ⇒ false
mailAddress2 = "hoge2"; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ false & mailAddress.IsValidate ⇒ false

mailAddress1 = "[email protected]"; //mailAddress1.IsMissing ⇒ false & mailAddress1.IsCheck ⇒ true & mailAddress.IsValidate ⇒ true
mailAddress2 = "[email protected]"; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ true & mailAddress.IsValidate ⇒ true

つか、そう考えると入力判定にIsRequire属性必須だよな
空文字はメアドチェックにははじかれるけど、入力必須でなければバリデート結果はtrueだからな。
まさに書いててむなしくなるな・・・
336デフォルトの名無しさん:2009/02/17(火) 03:49:58
>>335
IsCheck==IsValidate
俺ならIsValidプロパティかValidateメソッドで実装するな
337デフォルトの名無しさん:2009/02/17(火) 06:16:46
TONさん議論の入り口にも立ててなくてワロス
ワザとやってるんだろうか
338デフォルトの名無しさん:2009/02/17(火) 06:23:06
IsValidate はまず品詞がおかしい
339デフォルトの名無しさん:2009/02/17(火) 09:43:08
IsCheked
IsValid
340デフォルトの名無しさん:2009/02/17(火) 09:58:20
論旨に影響しない瑣末な違いだ
341デフォルトの名無しさん:2009/02/17(火) 10:11:52
このスレにとっての本題だがな
342デフォルトの名無しさん:2009/02/17(火) 10:17:46
いつの間にか設計の話するスレになってたんだな
343デフォルトの名無しさん:2009/02/17(火) 10:21:41
設計の話と言うか
おぶじぇくとしこういちねんせいのToNに虚しさを感じながらも無駄な説明を繰り返すスレ
344デフォルトの名無しさん:2009/02/17(火) 10:29:51
トンはもう秋田
345デフォルトの名無しさん:2009/02/17(火) 17:28:10
さぁTONさんタイムがやってまいりますた!!
346デフォルトの名無しさん:2009/02/17(火) 19:33:32
>>327
さすがに頭おかしくないか?
>>317とかそれのどこが「自動」なんだ。
>>264で指摘しているように、ただ判定処理が書かれるコードの場所が変わってるだけだろ。

>>328,>>332>>335
君ら(複数人だよね?)それ本気で書いてるのか?

こんなこと一々説明しなくても当然分かるだろうと思って書かなかったが、
IsRequiredはゲッタのみかつ定数を返すようにしないとマズいだろう。

IsRequiredをインスタンスメンバとして実装しちまったら
外からMailAddressをセットできなくなるだろ。
言ってる意味分かる?

なんていうか、まともなコード書いたことない奴が本読んだだけで
物を言ってるのがバレバレだなw
347デフォルトの名無しさん:2009/02/17(火) 19:44:20
>>346
>>>264で指摘しているように、ただ判定処理が書かれるコードの場所が変わってるだけだろ。
それがobject指向の目的だよ。
データと判定処理をクラスが持っていたら、クラスの所有するデータが増えるたびに、
そのデータの判定処理をするプログラムを書かなければいけないよ。
データそのものが判定処理を持っていれば、データを持つ所有クラスは何も改変せず、
自動的に処理されるよ。

>IsRequiredはゲッタのみかつ定数を返すようにしないとマズいだろう。
別にまずくないよ。設定するのが嫌だったら、初期値でfalseにしといて使いまわせばいいだけだよ。

>IsRequiredをインスタンスメンバとして実装しちまったら
>外からMailAddressをセットできなくなるだろ。
MilAddressは、IsRequiredを所有するクラスなんだから、セットも糞もないよ。
何が困るのか実際のコードで示してくれよ。

348デフォルトの名無しさん:2009/02/17(火) 19:54:53
>>347

ではCustomer.MailAddress1のIsRequiredはtrueであって欲しいとして、
Customerの外のクラスから

MailAddress ma = new MailAddress();
ma.IsRequired = true;
Customer.MailAddress = ma;

とかされた場合、どうするの?
349デフォルトの名無しさん:2009/02/17(火) 19:55:40
ごめん
ma.IsRequired = false;
に訂正
350デフォルトの名無しさん:2009/02/17(火) 19:57:14
っていうか、ここまで言ってまだ分からんかなあ。。
351デフォルトの名無しさん:2009/02/17(火) 20:01:53
横に長いコード書くなよ。うちの専ブラの使い方で見づらい
352デフォルトの名無しさん:2009/02/17(火) 20:05:16
>>348
trueであって欲しいのに、
ma.IsRequired = true;
をし、さらに
Customer.MailAddress = ma;
をすることが間違い

じゃあ、
Form.TextBox1のVisibleはtrueであって欲しいとして、
Formの外のクラスから

TextBox tb = new TextBox();
tb.Visible = false;
Form.TextBox = tb;
とかされる可能性は問題ないの?
むしろ、そんな設定をするほうが悪いんじゃないの?
353デフォルトの名無しさん:2009/02/17(火) 20:07:53
>>348
IsRequiredをtrueなりfalseと設定したいから、そう記述するんだろ?
お前はいちいちプロパティが改変されることを予見してすべてプログラムするのか?
354デフォルトの名無しさん:2009/02/17(火) 20:09:51
>>352
おいおい何を言ってるんだよトチ狂ったかw

そもそも外(UI)から操作される値の話をしてるのに、
外から操作してはダメな値を操作するのがおかしい、ってどういう意味だよ。
もう一度>>230から読んで話の文脈をちゃんと理解して何かいってよ。
355デフォルトの名無しさん:2009/02/17(火) 20:12:13
>>353
それこそOOPを理解してる?
普通に考えれば、IsRequiredは外から操作されたくない値だろう。

>>230の意図はそうじゃないよ、って言いたいの?
じゃあまあ>>230の意図はおくとして、IsRequiredが外から操作されたくない
値だったら(普通にありふれたシナリオだと思うが)どうするの・
356デフォルトの名無しさん:2009/02/17(火) 20:15:42
>>354
おいおい、お前頭がおかしいんじゃないか?
なら、絶対に表示しなければならないGUI部品のTextBoxがあったとして、
そのTextBox.Visibleを絶対に変更されないような仕組みをわざわざ作る必要なんてないだろ?
使う本人が分かればいいんだから。IsRequiredも同じだろ。
357デフォルトの名無しさん:2009/02/17(火) 20:17:19
>>355
>普通に考えれば、IsRequiredは外から操作されたくない値だろう。
いや、汎用のクラスライブラリとしては、普通に操作できて当たり前だろ。
358デフォルトの名無しさん:2009/02/17(火) 20:18:12
っていうか、正直>>230のような目的で>>251式にデータ自身に
メソッドやプロパティを持たせるかどうかは意見が分かれるところだとは思うけど、
IsRequiredはクラスメンバの値を公開するようにすべき、ってのは
まともなプログラマが100人いたら100人が同意する話だと思うぜ。
359デフォルトの名無しさん:2009/02/17(火) 20:19:25
質問
bool値を返す関数ってよくIs〜って名前付けるよね?
でも『A君はB君の方を見ていますか?』みたいな文の場合、
英語にするとDoes〜で始まると思うんだけど、
こういうときの関数名はどうするべき?

360デフォルトの名無しさん:2009/02/17(火) 20:21:00
>>359
CanASeeB
361デフォルトの名無しさん:2009/02/17(火) 20:25:25
>>360
それ可能・不可能の意味合いに変わってるじゃないですか

362デフォルトの名無しさん:2009/02/17(火) 20:25:53
>>356
外から変更されたくない値は変更できないようにしておくのが当たり前。
君は「アクセス修飾なんてぜんぶpublicでいいじゃん」っていう初心者様?

>>357
汎用クラスライブラリの話なんかしてないの。
ベタベタに特定用途専用のクラスの話をしてるんでしょ。
だいじょうぶかよ。

CustomerクラスのMailAddress1プロパティが必須かどうか、なんて値を
外から操作できてどうするんだよw

もちろんそういう用途が皆無とはいえないはずだが、普通はないよ。
363デフォルトの名無しさん:2009/02/17(火) 20:31:54
>>362
変更されたくない値かどうかは、設計者次第
汎用クラスとして設定できるようにしておいて、その継承クラスで隠蔽しておけばいいだけでしょ。
>>230の使い方もわからないのに、勝手に変更されたくないと決めつけて意見するほうが間違い。
とはいえ、汎用的に利用するために、IsRequireのようなプロパティは公開しとくのが当たり前だろな。

>汎用クラスライブラリの話なんかしてないの。
>ベタベタに特定用途専用のクラスの話をしてるんでしょ。
ユーザが入力した文字列のバリデーションなら汎用だろ。
勝手に特定用途専用なんて決めつけるほうがおかしい。

>CustomerクラスのMailAddress1プロパティが必須かどうか、なんて値を
>外から操作できてどうするんだよw
CustomerクラスのMailAddressプロパティなんて>>230は話してないだろ?
何で勝手に自分の都合のいい解釈してんの?
それに>>317をみれば、それぞれのデータにIsRequiredプロパティがあるほうが
わかりやすいだろ?
364デフォルトの名無しさん:2009/02/17(火) 20:32:26
>>359
A.IsLook( B );
でいーんじゃないかなぁ。もしくは
A.IsLooking( B );
これで伝わると思うんだけど。。。
365デフォルトの名無しさん:2009/02/17(火) 20:44:00
>>362
業務ソフトは入力値のvalidationばかりだから
それにリソースを取られないようにクラスライブラリ化するのは当たり前でしょ
mailaddressの未入力を許可するみたいなのこそベタベタの汎用処理だと思うぞ
366デフォルトの名無しさん:2009/02/17(火) 21:02:15
ToN敗走
367デフォルトの名無しさん:2009/02/17(火) 21:10:43
>>363
んもー鳥頭さん?
>それに>>317をみれば、それぞれのデータにIsRequiredプロパティがあるほうが
>わかりやすいだろ?
まず最初に、そこは異論ないよ。
何度も言うように、意味論的にはオカシイんだけど。(正直これに違和感感じない人間にOOP論じる資格なし)

ただ、何度も言うようにデータにIsRequiredがあるのは意味論的には間違ってるから、
(それは本来Customerクラスが知っているべきことだ)その当然の帰結として、IsRequiredを
フールプルーフに出来なくなっちゃうよ、これって問題じゃないのかい、と言ってるの。

フールプルーフに出来なくなっちゃ、とは
Customer.MailAddress1に触るコードを書くときは、MailAddress.IsRequiredの値を間違って
破壊しないようにCustomerクラスを使う人が注意を払わなきゃならんということ。

どっかのトンマがIsRequiredを間違って破壊しちゃう可能性が機構的に排除できないってこと。

>>365
自分で自分の足を(撃とうと思えば)撃てるのはかまわないが、
安全装置を(組み込もうと思っても)組み込めないようなライブラリなんかに価値はないよ。
368デフォルトの名無しさん:2009/02/17(火) 21:12:58
つーか、だからそもそもライブラリの話してないしさ。
369デフォルトの名無しさん:2009/02/17(火) 21:18:57
>>367
>何度も言うように、意味論的にはオカシイんだけど。
おかしくないよ。これをおかしいと思うひとにオブジェクト指向を語る資格なし。

>どっかのトンマがIsRequiredを間違って破壊しちゃう可能性が機構的に排除できないってこと。
だからフールプルーフについては既に記述してるじゃん。
お前は絶対に表示しなければ成り立たないGUI部品があったとして、
そのVisibleをfalseにできないようわざわざ設定しているのか?

>安全装置を(組み込もうと思っても)組み込めないようなライブラリなんかに価値はないよ。
継承して隠蔽すればいいじゃん。
汎用的に使えないライブラリなんかに価値はないよ。
370デフォルトの名無しさん:2009/02/17(火) 21:23:10
はいはい、そうだねお前らが正しいよ
お前ら釣られまくりでバカじゃねーの?wwwwww

しねばいいよwwwwwwwwwwwwwwww
371デフォルトの名無しさん:2009/02/17(火) 21:25:56
>>370
ton氏ね
372デフォルトの名無しさん:2009/02/17(火) 21:40:06
230は
foreach(inputField in Fields){
 if(inputField.IsRequired && inputField.IsMissin){
  // なんかする。メッセージのappendとか。
 }
}
ってことだろうとふつーに思った。ふつーに思った。(IsRequiredは冗長かもしらんが。)

238を読んで、あーこういう脳みそがななめってるうざいやつってうちの現場にもいるなーって
オレも思ったし、お前も思っただろう。そいつは多分今も仕事中ww
373デフォルトの名無しさん:2009/02/17(火) 22:01:53
>>372
>>238

bool tmpBool = false;
tmpBool = MailAddressCheck(mailText);
tmpBool = MailAddressCheck(mailText1);
tmpBool = PostalCodeCheck(postalText);
tmpBool = PostalCodeCheck(postalText1);
tmpBool = TelCheck(telText);

とか、オブジェクト指向がわからず、いちいち関数で処理しちゃう奴だろ?
しかも、tmpBoolが最後のTelCheck()だけで決定されてしまってバグに気づかず大慌てするタイプ。
もっというと、tmpBoolとか死ねって感じのタイプ。
374デフォルトの名無しさん:2009/02/17(火) 22:04:43
いくらバカでもせいぜいflagとかにしちゃうぐらいだと思うがなぁ
375デフォルトの名無しさん:2009/02/17(火) 22:12:16
IsRequiredプロパティ設定可否だの、定数での設定だの、
方法論はいろいろあるけど、変更できる人には、変更できちゃうんだから、
定数値でも意味がないだろ。
変更したくなければプロパティを隠蔽すりゃいいんだから。
376デフォルトの名無しさん:2009/02/17(火) 22:14:58
なんかへそ茶だな。
2chで(馬鹿な)君に賛同してる奴なんて君と同じレベルの馬鹿なのに。

「オブジェクト指向が分からない」とは、>>230のいうIsRequiredのような値は
データの所有者に属する情報であってデータ自身に属する情報ではないことが
理解できない人間の事を言う。
377デフォルトの名無しさん:2009/02/17(火) 22:15:56
>>375
だから、どうやって?
378デフォルトの名無しさん:2009/02/17(火) 22:20:34
>>377
隠蔽する方法の言語仕様を知りたいの?
private new string MethodName();
で隠蔽できるじゃん


379デフォルトの名無しさん:2009/02/17(火) 22:27:59
言い争ってるやつらは経験不足なんじゃないかな。決め付け多いし。
いつの世も理想主義と現実主義の話は平行線。
極論ばかりだと現実社会では生きていけないように
プログラマーとしても成長できませんよ。

ここから上から目線のやつが現れてもっと解説
↓↓
380デフォルトの名無しさん:2009/02/17(火) 22:30:48
         ___
       /::::::::::::::::\
      /:::::─三三─\   
    /:::::::::(○)三(○).\
/⌒)⌒)⌒.:::::::::: (__人__) :::::: \   /⌒)⌒)⌒)
| / / /..    ` ⌒´    | (⌒)/ / / /,,-''ヽ、
| :::::::::::(⌒)          /  ゝ ::::::.,,-''"    \
|     ノ           \  /_,-'"        \
ヽ    /             ヽ /\           \
 |    |        __   //\\           \
             /|[]::::::|_ / \/\\         /
           ./| ̄ ̄ ̄ ̄ //\ \/  \      //    ___
         |  |:::「「「「「「 / \/\  /\\   /:::/   ./|    |__
       _..|  |:::LLLLL//\ \/  \/\\/::::::/  /  | ロ  .|lllllllllllll
      / llllll|  |:::「「「「 / \/\  /\ .\/ ./::::::::/  / ./ .|    |lllllllllllll
__     llllll|  |:::LLL.//\ \/  \/\  /::::::::/   | /  .| ロ  .|lllllllllllll
          |  |:::「./ .\/\  /\ \/ /::::::::/⌒ヽ、| ||/ ..|
          |  |:::l//\ \/  \/\_, -― 、  ''"⌒ヽ,_
                (⌒ヽ、_,ノ⌒Y"    Y     .....⌒)
            (⌒ヽー゙ ....::(   ..::.......  .__人.....::::::::::::::::::::
381デフォルトの名無しさん:2009/02/17(火) 22:31:31
>>376
データ所有者が欲しいから、データそのものと、IsRequiredプロパティを同時に所有しているんだろ
「オブジェクト指向が分からない」とは、データが様様な属性を所有していることを理解できない人のことを言う。
382デフォルトの名無しさん:2009/02/17(火) 22:33:12
>>379
ToNさんお疲れ
決めつけじゃなくて言語仕様そのものの理解が間違ってるんですよ。
それを他人のせいにしたら、一生、オブジェクト指向が理解できないっすよ?
383デフォルトの名無しさん:2009/02/17(火) 22:37:12
この手の話は結局、どっちのオブジェクト指向論が正しいのかニュートン法で収束
384デフォルトの名無しさん:2009/02/17(火) 22:39:00
>>379
極論ばかりだと生きていけない=ToNみたいな存在も許容しろ
言い争ってる=喧嘩両成敗=ToNみたいな無理難題な喧嘩を売られても認めろ
っていいたいのか?

お前こそ人間として最低だろう
385デフォルトの名無しさん:2009/02/17(火) 22:39:29
C#って日本語のプロパティ名使えたのな。結構いいかもしれんわ。
大体「中途受任日」って英語でなんていうねん。
386デフォルトの名無しさん:2009/02/17(火) 22:41:29
>>383
いやオブジェクト指向論にすらなってない

>>321
>例えば同じ型のデータが2つ以上必要で、それぞれ入力必須かどうかが
>違ってたらどうするの?
を読めばオブジェクト指向すら理解できていないことがわかる。
387デフォルトの名無しさん:2009/02/17(火) 22:48:33
>>386
あのさあw

なんか本当に鳥頭の人がいるな。
どうして「同じ型のデータが2つ以上必要で、それぞれ入力必須かどうかが違ってたら」
問題かさっき説明したでしょ。

それは、IsRequiredをデータ自身に持たせて、かつフールプルーフに実装しようと思ったら
クラスメンバの値を返すようにする必要があるから(すくなくともそれが一番簡単で
標準的なやり方だから)だよ。

こんな馬鹿にOOP云々言われたくないわまったく。
388デフォルトの名無しさん:2009/02/17(火) 22:54:00
>>387
>それは、IsRequiredをデータ自身に持たせて、かつフールプルーフに実装しようと思ったら
>クラスメンバの値を返すようにする必要があるから
隠蔽できるから返されないって言ってるじゃん。
389デフォルトの名無しさん:2009/02/17(火) 22:56:09
メアド交換して当事者同士でやってくれよ。たまらん。
390デフォルトの名無しさん:2009/02/17(火) 22:56:31
>>388
ごめんどういう意味?
真面目にわかりません。
具体的なコードで説明してくれると助かるかも。
391デフォルトの名無しさん:2009/02/17(火) 22:58:41
392デフォルトの名無しさん:2009/02/17(火) 22:59:49
>>384
そんなんだからお前はいつも底辺で働いているんだろ
まぁがんばれよ
393デフォルトの名無しさん:2009/02/17(火) 23:00:42
>>392
そんなんだからお前はいつも底辺で働いているんだろ
まぁがんばれよ
394デフォルトの名無しさん:2009/02/17(火) 23:02:34
>>393
言うことなくなったか。責めてごめんな。
みんな怒ってるから空気読んで、もうやめとこうな?
395デフォルトの名無しさん:2009/02/17(火) 23:04:44
>>393
相手のレスが無くなるまでレスしたほうが勝ちですか?w
396デフォルトの名無しさん:2009/02/17(火) 23:05:45
そうとう口惜しかったんだろ許してやれよ
397デフォルトの名無しさん:2009/02/17(火) 23:10:24
>>395
勘弁してやれよ
398デフォルトの名無しさん:2009/02/17(火) 23:12:08
>>359
if (aHash.containsKey(aKey)) { ... } みたいな例が一杯あるし、
a.looksAt(b) みたく、三単現の動詞を使えばいいと思うよ。

399デフォルトの名無しさん:2009/02/18(水) 00:03:11
さっきから意味論意味論恥ずかしい奴が居るなw
400デフォルトの名無しさん:2009/02/18(水) 00:04:18
意味論=自分が理解できる範囲の論
401デフォルトの名無しさん:2009/02/18(水) 00:07:35
汎化とか、意味論とか言うところをみると、
情報処理関連の専門、短大、大学を出たが実際に設計をしたこともない池沼という感じだな
402デフォルトの名無しさん:2009/02/18(水) 00:17:05
>>364
あと A.Looks(B); もあり
403デフォルトの名無しさん:2009/02/18(水) 00:21:08
>>398
すまんこのレスで既出な上に、Atまできっちり付いてたアル
404デフォルトの名無しさん:2009/02/18(水) 00:28:58
オブジェクトが主語にならないときに、O.SIsCとするかO.IsSCとするか悩む。
例えば「Oの髪が金色か否か?」みたいな。

あー、もちろん「髪が金色」に相当する1単語の形容詞があるのは知ってるぜ。
ただ「そもそもOが主語にならないようなプロパティはおかしい」とか言ってしっちゃかめっちゃかにされるのを避けてみた。
405デフォルトの名無しさん:2009/02/18(水) 00:35:57
「値」から「ユーザーの入力した値」が派生しているだけの話なのに、意味論的におかしいの?
406デフォルトの名無しさん:2009/02/18(水) 00:41:03
値←ユーザの入力した値←ユーザの入力した文字列値←ユーザの入力した文字列であるメアドの値

というクラス階層が大真面目に書いてあったら
絶対笑うか泣く。
407デフォルトの名無しさん:2009/02/18(水) 00:48:02
>>340-341
吹いたwwww
408デフォルトの名無しさん:2009/02/18(水) 00:49:52
局所的にバリデートの手間をすっ飛ばせればそれで良いリーマンと
意味論を重要視し、体系的に完璧でなければ許し難い無収入者の戦い
409デフォルトの名無しさん:2009/02/18(水) 01:13:38
>>405
まったくおかしくないよ
ユーザが入力できる値は基本的に文字列だからな
基本的に文字列から派生することになる

直接に数値として得られるのは配列の要素だけ。
410デフォルトの名無しさん:2009/02/18(水) 01:31:54
>>367
包丁も車も完璧な安全装置を組み込めないから価値は無いよね。
マグカップでも人が死ぬ事もあるから使えないよね。
どこかのトンマがPC投げつけてきたら危ないからPCも捨てようね。
411デフォルトの名無しさん:2009/02/18(水) 01:38:13
TONの定義するTONMAが空想上の動物で無いとすると
PI=3.14159って定数が勝手にPI=3に書き換えられてもおかしくないな

さて、これをフールプルーフするには一体どうすれば良いのだろうか
412デフォルトの名無しさん:2009/02/18(水) 01:40:39
>>359
A is looking at B
A.isLookingAt(B)
this.AisLookingAtB()
好きにしろ。
413デフォルトの名無しさん:2009/02/18(水) 02:04:44
>>411
TONからPCを取り上げる
414デフォルトの名無しさん:2009/02/18(水) 07:56:30
>>412
嫌だね
415デフォルトの名無しさん:2009/02/18(水) 11:11:40
>>404
凄くわかるw

お前って俺なの?
416デフォルトの名無しさん:2009/02/18(水) 11:23:01
Webアプリなんですが、
仮登録中のユーザー(users)を格納しておくテーブル名、
あるユーザーのプロフィールを見たユーザーの「足あと」を格納しておくテーブル名、
ある記事を見た人(ユーザーに限らない)の日時やIPを格納しておくテーブル名。

それぞれ、なんかいいのないですか?
417デフォルトの名無しさん:2009/02/18(水) 12:02:37
>>385
いちいち変換しないといけないからめんどくさい事この上ないよ。
418デフォルトの名無しさん:2009/02/18(水) 15:01:05
>>416
Pre Signup Users
Profile Footprints :: user_id -> footprint
Article Viewer Infomations :: article_id -> viewer_info

てきと。
419416:2009/02/18(水) 15:23:36
>>418

おおぉ、いい感じです!
ありがとうございます!
420デフォルトの名無しさん:2009/02/18(水) 18:44:24
お題を出した人が満足してからが本番!
421デフォルトの名無しさん:2009/02/18(水) 21:17:40
さあ、TONさんの出番です
422デフォルトの名無しさん:2009/02/19(木) 16:58:41
>>419
まちがえた。
infomationじゃねえ、
informationだ。
恥ずかしい。
423デフォルトの名無しさん:2009/02/19(木) 18:55:13
>>418
Web的?にはviewerよりvisitorのがよくね?

>>421
悪魔召還すな。
424デフォルトの名無しさん:2009/02/19(木) 20:08:28
>>423
あー。そういやWebはVisitだなー。
もう質問者いないだろうけどw
425デフォルトの名無しさん:2009/02/19(木) 20:38:29
そりゃ違うだろう。

visitor or not: (ウェブサイトの)中に入ったかどうかの違い
viewer or not: (記事を)見たかどうかの違い

>>416が求めているものがどちらか言うまでもない。
426デフォルトの名無しさん:2009/02/19(木) 21:36:34
visitor or not (笑)
viewer or not (笑)
427デフォルトの名無しさん:2009/02/19(木) 21:55:54
>>425
英語圏のソースを片っ端から見てきた方がいいよ
間違ってるから
428デフォルトの名無しさん:2009/02/19(木) 22:02:05
ToN改めVoNさんキタ━━━━(゚∀゚)━━━━!!
429デフォルトの名無しさん:2009/02/19(木) 22:02:57
失せろゴミ
430デフォルトの名無しさん:2009/02/19(木) 22:55:51
VoNw
w
ww
wwww
さすがにネタだろ
431デフォルトの名無しさん:2009/02/19(木) 22:57:09
>>425
具体的に例えばどのコード?

というか、もし仮に記事を見た人間のことをvisitorと呼ぶのなら(どう考えても変過ぎるが…)
ウェブサイトの訪問者はそれと区別してなんと呼ぶの?
432デフォルトの名無しさん:2009/02/19(木) 22:58:19
アンカミス?
433デフォルトの名無しさん:2009/02/19(木) 23:00:50
>>432
うん。
>>427のつもりだった。。
434デフォルトの名無しさん:2009/02/19(木) 23:09:01
ToNさん お疲れ また来たの?
435デフォルトの名無しさん:2009/02/19(木) 23:35:36
>>431
http://www.google.co.jp/codesearch

この辺りで[web visitor]とか[web viewer]とか検索して
それぞれどんなのが引っかかってくるか比べてみたら。
436デフォルトの名無しさん:2009/02/19(木) 23:54:13
みんなTONに優しいな
437デフォルトの名無しさん:2009/02/20(金) 00:16:18
TONさんのプロフィール

・40過ぎ
・英語は苦手
・リーダークラスSE
438デフォルトの名無しさん:2009/02/20(金) 00:19:23
>・リーダークラスSE
オブジェクト指向しらなくて、それはない
VB6しか触ったことないならあり得るが
439デフォルトの名無しさん:2009/02/20(金) 00:38:27
>>438
×Leader
○Reader

ソースは読んだ事しかありません
440デフォルトの名無しさん:2009/02/20(金) 06:41:45
連鎖あぼーんって便利だなwwwwwwwww
441234:2009/02/21(土) 00:34:22
参考にさせてもらおうと、またきてみたのですが、
なんか私のせいで荒れてしまったみたいですいません。

あれから、設計をいろいろ見直しまして、そこそこのものができたかなぁと思っています。
まだ足りない部分があるので、考えているのですが、また迷ったらよろしくお願いします。
442デフォルトの名無しさん:2009/02/21(土) 11:31:07
誰がどんなお題を出してもその後の流れは決まってるからまったく気にする必要なす
443デフォルトの名無しさん:2009/02/23(月) 20:36:08
送信したパケット群でACKが受信できていない最初のパケットを返す関数
の名前を募集中です
444デフォルトの名無しさん:2009/02/23(月) 20:57:20
FirstPacketAtCantRecvACKOfSendedPacket
445デフォルトの名無しさん:2009/02/23(月) 20:58:21
NACK、ではなくて「ACKではない」なのか。

Packet FindNotAcknoledged(Packet[] packetsSent)
とか。

二つ目以降を探すときは、
Packet FindNotAcknoledged(Packet[] packetsSent, int startIndex)
446デフォルトの名無しさん:2009/02/23(月) 21:05:18
NAKは今のところ存在しません。
判りやすいところでFindNotACKにします。
ありがとうございました。
447デフォルトの名無しさん:2009/02/23(月) 21:08:11
いちおう訂正

Acknoledged ⇒ Acknowledged
448416:2009/02/24(火) 10:29:03
たくさんレスが付いててびっくりしました!
みなさんありがとうございます。勉強になります。

またWebアプリで考えて欲しい名前があるのですが・・・

・ユーザーがメールアドレスを変更するときに、
アドレスの存在確認のために、一時的にそのアドレスとランダムな文字列、期限を保存しておくテーブルの名前。
(そのアドレスに確認メールを出して、記載されているURLをクリックすると変更完了というやつです。)
・プライベートメッセージ機能で、拒否したいユーザーを記録しておくテーブル名。
blacklistとかだと複数・単数の扱いがややこしいので・・・
(block_usersとかでいいのかな。reject_users?)

こういうの、さらっと考えられるようになりたいです;
よろしくお願いします!
449デフォルトの名無しさん:2009/02/24(火) 12:06:07
てきと。

interim registration information

メアドにこだわる必要ないかなと。
新規登録時にも使えそうだし。

private blacklist

とりあえずprivateを付けてみるメソッド。
450デフォルトの名無しさん:2009/02/24(火) 20:37:46
- tempUsers, provisionals, moratoriums, unapprovedProfiles
- ignoreList, denyList, uceList, ignorables, rejects
451416:2009/02/25(水) 11:48:52
>>449
>>450
ありがとうございます。
新規登録時にはプロフィールの入力などもあるので、
テーブルは分けようと思ってます。
なので、もう少しメールアドレス変更用というニュアンスが欲しいです。
個人的に、名詞の複数形がいいです。

拒否ユーザーの方は、
テーブルに入っているのは、あくまで個々のユーザーなので
〜listというのは避けたいです。
blacklist_itemsなどとすればよいのかもしれませんが、くどいですし・・・
ignorables、rejectsはいいかもしれませんね!

もう少しいろいろなネーミングが知りたいです。
よろしくお願いします。
452デフォルトの名無しさん:2009/02/25(水) 13:43:23
正規化できるときはしといたほうがいいけど、
1対1の時は一つのテーブルのほうが便利だけどね
453デフォルトの名無しさん:2009/02/25(水) 19:02:19
C++で座標を扱うクラス名についてです

基底は2軸、その派生で3軸の座標のみのクラス(構造体?)、
それらにアクセッサ等を加えたクラス、
さらにベクトル計算のメンバ関数を持つ派生クラス
を作るところです

基底クラスとその次のアクセッサを持つクラスで
上下関係が持てそうな名前はないでしょうか
coordinate,position,point,vertex、どれもis a なイメージなんですが・・・

ちなみに上記3種のクラスで、親子関係を持たせる場合
2軸なら2軸だけで、(基底除く)3軸は3軸だけで親子関係を結んだ方がいいのか
それとも3軸の上に、1軸アクセッサをprivateにした2軸派生、さらに3軸派生、と1本の線にしたほうがいいのか、
はたまた多重継承がいいのか、アドバイスもできればお願いします
454デフォルトの名無しさん:2009/02/25(水) 19:43:03
>>451
難しいなあ。じゃああとxxxMailInfosとか。
unverifiedMailInfos, unapprovedMailInfos

>>453
個人的には次元が違えば基本的に完全に別物だと思う。
そっち方面やったことないんで自信はないけど。

あと、単純な座標クラスをベースクラスにするのはいいとして、
「その次のアクセッサを持つ」の必要性がよくわからない。

いや、必要なのかもしれんけどどういう機能をもたせるつもりかわからないと
名前の付けようが・・・
455デフォルトの名無しさん:2009/02/25(水) 20:09:08
>>454
基底クラスの2軸と3軸を親子関係を結んで、
それ以降2軸は2軸、3軸は3軸と派生させたとして、
3軸の子・孫から2軸の子・孫へdynamic_cast、という手段を確保するつもりでこうなりました

その際、基底クラスには仮想関数も持たせず
単純なデータ群としてやり取りできるようにし、
普段扱う際は子クラスを、と思ったのですが…

今作ってるのは箱庭空間?の基本的な環境を目指しているところです
ですので、基底は座標として、ベクトルとして、等
とにかく2要素・3要素まとまった箱が欲しいな、と


>個人的には次元が違えば基本的に完全に別物だと思う。
確かにそんな気もしますが、こっち方面どころか全方面において経験がないので
設計で四苦八苦しています(ノ∀`)
456デフォルトの名無しさん:2009/02/25(水) 20:14:53
ねみい
457デフォルトの名無しさん:2009/02/26(木) 13:19:51
>>455
単純な値クラスはむやみに継承関係に
しないほうが一般に望ましい。

継承というものを知り、金槌を持って
何でも釘に見えてるような状態かも?
ちょっと考え直したほうがいい。

もちろん、スレの趣旨的には、一切
考え直さずに突っ張って、命名を
求め続けてもかまわないけど。w
458デフォルトの名無しさん:2009/02/26(木) 13:56:40
>>455
三次元から二次元に変換するときは、基本的に写像が必要になるから、
dynamic_castでなんとかしようとすると後で困るよ。
459デフォルトの名無しさん:2009/02/26(木) 13:57:50
写像、つまりは変換関数
460デフォルトの名無しさん:2009/02/26(木) 14:27:16
変数じゃなくてテーブル名なんですが。

予約テーブルがあって、そのうち、(実際の来店などで)受付した物を保持するテーブルで、
受付済みテーブルってのを作ろうとしたんですが、
ACCEPT
APPOINTMENT_ACCEPT
ACCEPTED_APPOINTMENT
どれが良いと思います?
もっとよいのがあれば教えてください。
461デフォルトの名無しさん:2009/02/26(木) 14:48:00
>>460
普通にorderじゃ駄目なの?
order_historyとか
462デフォルトの名無しさん:2009/02/26(木) 14:50:24
>>461
ありがとう。
だけど、Orderだと「注文」的な意味が強くないですかね?
463デフォルトの名無しさん:2009/02/26(木) 15:03:12
>>451
じゃあ名前を変えずに解釈を変えて、
新規のほうはSignupXXXInfoとかにすれば区別はつくんじゃない。

>>455
キャストはそんなことに使うべきではないと思うぞ。

>>460
受付したものってなんよ。人なの?物なの?
464デフォルトの名無しさん:2009/02/26(木) 15:05:49
>>463
それだいじですね。人です。
465デフォルトの名無しさん:2009/02/26(木) 15:19:31
人を受け付けるなら Reception
466デフォルトの名無しさん:2009/02/26(木) 16:05:49
>>460
reserved
ひょっとすると誤解されやすいかも。
467デフォルトの名無しさん:2009/02/26(木) 17:25:58
>>465,464
ありがとうございました。
Receptionにしようと思います。
468デフォルトの名無しさん:2009/02/27(金) 01:02:28
汎用的な質問でごめんなさい

例えば、関数 f を呼び出すための条件を関数 n に渡し、
その関数 n から True が返ってきたら f を呼び出したいんですが、
そういう、条件を判定させる関数の名称でいい感じのがないんです。

if (p (v1, v2, v3) == TRUE){
  f();
}

のような、この関数「p」の名前を模索しております。
469468:2009/02/27(金) 01:03:45
しまったーorz
>>468 の「p」、コード上の p (v1... の p は、文中の n の意味です。
すみません。
470デフォルトの名無しさん:2009/02/27(金) 02:23:06
>>468
predicate (述語) が一般的だと思う。
あとは condition (条件) とか criterion (基準) とか。

471デフォルトの名無しさん:2009/02/27(金) 06:47:08
〜かどうかを判定する関数に、「〜p」ってつけるのはLISPの常識。ってのはもう古いのか?
472デフォルトの名無しさん:2009/02/27(金) 07:06:32
その条件が何かによって変わると思う。
is条件()みたいなメソッド名ってjavaとかじゃよくあるけど。
473デフォルトの名無しさん:2009/02/27(金) 14:46:31
キューにたまったメールに名前をつけるとしたら、どんな感じになりますか?
行列(キュー)全体ではなく、行列に並んでる個々のメールに命名したいのですが・・・

queued_mails みたいな感じでしょうか?
474デフォルトの名無しさん:2009/02/27(金) 14:51:55
そのアホな名前を誰が読むのか知らないけど
通し番号でいいと思わないか
475デフォルトの名無しさん:2009/02/27(金) 19:50:52
>>468
批判されてるのに追い討ちかけるようだけど、
そんなあいまいな条件だけで命名しようとか命名できるはずだか考えてるのなら
そのセンスはヤバ過ぎると思う。
476デフォルトの名無しさん:2009/02/28(土) 01:31:31
>>468
おれなら〜trapとかにしそう
477デフォルトの名無しさん:2009/02/28(土) 01:51:11
>>473
perlのforeachで$_の代わりに使う変数かな?
ならフォーカスドメールとかでいいんじゃね
478476:2009/02/28(土) 02:18:52
あー通すのは引値か…
trap_whithout(条件)とかは?
479デフォルトの名無しさん:2009/02/28(土) 16:32:35
>>473
個々のメールに命名したいのになんで複数形なんだろう?

どうでもいいけどmailはuncountableな名詞なのでふつうはmailsって書かないらしいよ。
emailsはアリらしいけど。

480473:2009/02/28(土) 17:10:36
説明が足りずすみません。

キューからメールを取り出して、

foreach ($queued_mails as $queued_mail) {
みたいな処理をしたいのです。

そのときに、行列待ちのメールであることを分かりやすくしたかったのです。
mailsと書かないというのは知りませんでした;
481デフォルトの名無しさん:2009/02/28(土) 17:29:11
>>480
普通に考えれば特に「行列待ちの〜」なんて意味を名前にこめる必要はないと思う。
処理待ち用のキューの中から取り出したんだから処理待ちに決まってる。
処理の文脈をみればそんなの自明かと。

どうしてもって事情があるのならbacklogとか?
482デフォルトの名無しさん:2009/02/28(土) 17:31:20
$mailとか$iで十分じゃね。
わかんなくなるならブロックがメソッドが長すぎる。
483473:2009/03/02(月) 07:45:44
メールキューをデータベースのテーブルに格納しているので、
そこでの命名にも使いたくて・・・

backlogというのはいいですね。

mailをどうしても複数・単数で扱いたい場合は、
message(s)とかにするのが普通なのでしょうか?
484デフォルトの名無しさん:2009/03/02(月) 08:05:45
mqueueとくればmessageに一票。

ただ、そのメールで何を送るか、例えば注文を送るんだったらorderとかでもいいわけでしょ。
485473:2009/03/02(月) 08:25:39
なるほど。
たしかに、内容に即した名前の方がわかりやすくていいですね。

ただ今回は、オーダーやお知らせなどのあらゆるメールを一箇所に集約するので、
もっと普遍的なネーミングが欲しいのです。

となると、やっぱりmessageになるんでしょうかね・・・
英語うまくなりたい;
486デフォルトの名無しさん:2009/03/06(金) 07:30:53
C++で型FooをBarに変換する関数を

Bar ConvFooToBar(Foo foo);

のように書いています。

変換する型が複雑になると
Hoge ConvFooBarToHoge(FooBar foobar);
のようにToが見つけにくくなり、読みにくく感じます。
が、読めないこともないのでこれで妥協すべきでしょうか。
487デフォルトの名無しさん:2009/03/06(金) 07:40:20
hoge = ToHogeFrom(fooBar)
488デフォルトの名無しさん:2009/03/06(金) 07:54:06
Toを2にしてみるとか駄目?
489デフォルトの名無しさん:2009/03/06(金) 07:57:38
オーバーロード可なら
元の型を関数名に含める意味なくね?
490486:2009/03/06(金) 08:35:26
>>489
あ、たしかにそうですね。いわれてみれば冗長。

>>487みたいに、
引数を関数名の一部にするようなアイデアは考え付きませんでした。


残る問題は、自分が>>486のスタイルになれきっていることなので、
それから脱却できるようがんばります。

どうも朝早くありがとうございました。
491デフォルトの名無しさん:2009/03/06(金) 08:51:20
キャスト用の1引数コンストラクタじゃだめなん?
492デフォルトの名無しさん:2009/03/07(土) 14:58:03
>>491
Barクラスに手を入れるのは普通いやじゃない?
そもそもその権限がないかもしれないし。

便乗質問。
487の "Hoge ToHogeFrom(const FooBar &)"の.hファイルと.cppファイルの名前って
どうするのが一般的?

ToHogeFrom_FooBar.cpp あたりかと思うんだけど…
493デフォルトの名無しさん:2009/03/07(土) 15:51:32
一関数、一コンパイルにするのか。

別にダメだとは言わんが。
494デフォルトの名無しさん:2009/03/07(土) 16:00:17
そもそも、(どうしてこれまで誰も指摘しないのか不思議でならないんだけど)
なんでC++なのにそんなユーティリティ関数みたいな書き方するんだろう。

Foo ⇒ BarなのにどうしてFooのインスタンスメソッドとして書かないの?
意味わかんない。
495デフォルトの名無しさん:2009/03/07(土) 16:20:39
>>494
> どうしてこれまで誰も指摘しないのか不思議でならないんだけど

>>1
> 設計の善し悪しについて議論するのは基本的に禁止。
496デフォルトの名無しさん:2009/03/07(土) 16:24:19
>>494
クラスのメンバ関数は最小限のインターフェースにとどめ、
メンバ関数を使って可能なことは大域関数で実現するのがよろしい、という考え方がある

cf. C++ Coding Standards 44項 「非メンバーかつ非friendの関数を書くようにしよう」

Javaに慣れてると何でもかんでもインスタンスメソッドにしたくなるんだけどね
497デフォルトの名無しさん:2009/03/07(土) 16:32:16
>>496
なんらかの深い考察が背景にあるのかわからんけど、
ぱっと聞き同意しがたい考え方だな。
498デフォルトの名無しさん:2009/03/07(土) 16:45:11
>>494
委譲
499デフォルトの名無しさん:2009/03/07(土) 16:49:00
>>496
> Javaに慣れてると何でもかんでもインスタンスメソッドにしたくなるんだけどね

最近のJavaは知らないけど、Javaはグローバル関数が作れないから仕方ないのかな。
C#を最近勉強し始めたけど、C#も同じらしいのでちょっとがっかり。
500デフォルトの名無しさん:2009/03/07(土) 16:50:37
staticでいいじゃん
501デフォルトの名無しさん:2009/03/07(土) 19:11:57
C++なら foo_cast<Bar>(foo) だろ
変換先が一つだけならBarのコンストラクタでFooを受け取る
それが無理ならto_bar(foo)
barが一般的なクラスならbar(foo)でもいい
変換処理がFooの内部構造に依存したり仮想関数にする場合
Fooに変換メンバ関数bar()を作ってフリー関数bar(foo)から呼び出させることもよくある
502デフォルトの名無しさん:2009/03/07(土) 19:39:34
>なんでC++なのにそんなユーティリティ関数みたいな書き方するんだろう。
>Foo ⇒ BarなのにどうしてFooのインスタンスメソッドとして書かないの?
なわけで、やり方はいくらでもあるだろうが、委譲という考え方がある限り
そういうメソッドを作ることは何ら不思議じゃないが結論だろ
503デフォルトの名無しさん:2009/03/07(土) 19:45:59
はいはい
あれないうちにやめてくれよ。
504デフォルトの名無しさん:2009/03/09(月) 22:56:38
C++なら bar = foo;
505デフォルトの名無しさん:2009/03/09(月) 23:14:52
>>504
氏ね
506デフォルトの名無しさん:2009/03/14(土) 08:54:31
よし、こんどのプロジェクトの変数は、
Nobunaga Hideyosi Ieyasu Masamune 武将シリーズでいくぞ。
507デフォルトの名無しさん:2009/03/14(土) 09:08:37
>Masamune
惣無事令に反して蘆名領に攻め込んだり、葛西大崎一揆を扇動して天下人を困らせた
つまり、管理者の意図に反した入力を受け入れるわけですね、分かります
508デフォルトの名無しさん:2009/03/14(土) 13:31:57
平気で2chジャゴンを使える、使う気になる奴の神経が理解できん。
自分で自分が気持ち悪いと思わないんだろうか。
ひょっとしてこういう奴のアイデンティティって「2ちゃんねら」なのか?w
まともな精神構造してたら耐えられないよな。
509デフォルトの名無しさん:2009/03/14(土) 19:24:23
ジャゴンなんて初めて見る単語だな
510デフォルトの名無しさん:2009/03/14(土) 19:29:07
双頭怪獣 ジャゴン
511デフォルトの名無しさん:2009/03/14(土) 19:29:19
ほらあの人魚伝説の元になった海獣
512デフォルトの名無しさん:2009/03/14(土) 19:33:04
ダゴンか
513デフォルトの名無しさん:2009/03/14(土) 19:33:31
それジュゴン
514デフォルトの名無しさん:2009/03/14(土) 19:34:18
それ古代パレスチナにおいてペリシテ人が信奉していた神。
名前の由来はヘブライ語のダーグ(魚)ともダーガーン(穀物)ともいわれる。 父親はエル。
伝承によってはバアルの父とされる。魚の頭をもつ海神と考えられてきたが、近年の研究では農耕神であった可能性も強い。
ガザとアシトドに大きな神殿があった。
515デフォルトの名無しさん:2009/03/14(土) 19:34:34
jargon
516デフォルトの名無しさん:2009/03/14(土) 19:36:15
517デフォルトの名無しさん:2009/03/14(土) 19:45:00
Jargon - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Jargon
518デフォルトの名無しさん:2009/03/14(土) 19:45:33
RGM-89 ジェガン
519デフォルトの名無しさん:2009/03/14(土) 20:03:08
>>517
それterminology which has been especially defined in relationship to a specific activity

>>518
それモビルスーツ GMの後継
520デフォルトの名無しさん:2009/03/14(土) 20:16:53
SQLでカラム名を変更する際に前のカラム名と変更後のカラム名を変数に保持したいんですが、こういうと時って変数名どうすればいいでしょうか?

pre_column
modified_colomun


何かいいアドバイスあったらいただきたく。。
521デフォルトの名無しさん:2009/03/14(土) 20:28:08
suffixで_oldと_newを付けるとか。
522デフォルトの名無しさん:2009/03/14(土) 22:04:45
そーか、old&new良いですね。

ありがとうございましたm(__)m
523デフォルトの名無しさん:2009/03/16(月) 11:27:12
たとえばRPGなんかで敵味方のデータの基底になるクラスの名前って、なんか定番ある?
Character や CharaObject では、なんかしっくりこない。
524デフォルトの名無しさん:2009/03/16(月) 13:10:21
和英辞書との一致 (1〜1件目 / 1件) 検索辞書:プログレッシブ和英中辞典 提供:JapanKnowledge

じんぶつ【人物】
1〔人〕a person,((口)) a character; 〔重要な人〕a figure; 〔小説などに描かれた人間〕a character 危険人物 a dangerous person [char... [さらに]

525デフォルトの名無しさん:2009/03/16(月) 13:20:15
char
526523:2009/03/16(月) 13:59:01
>>525
いちおC++なんで、予約語は勘弁してください

>>524-525ありがとう。
とりあえずだけど、personで進めていくことにしまふ
527デフォルトの名無しさん:2009/03/16(月) 14:14:18
出演者は人物だけなのか?
はぐれメタルとか登場予定なし?
528デフォルトの名無しさん:2009/03/16(月) 14:22:33
じゃあ「生物」はどうかなと思ったけど、はぐれメタルは「無生物」に近いよね・・・「神霊」ってタイプのキャラもいるかもしれないし
「化身」ってどうだろう?avatar、ちょっと違和感ある?
529デフォルトの名無しさん:2009/03/16(月) 14:36:48
object
530デフォルトの名無しさん:2009/03/16(月) 15:21:37
actor
531デフォルトの名無しさん:2009/03/16(月) 15:29:33
じゃあunit
532デフォルトの名無しさん:2009/03/16(月) 15:44:39
actorいいね!次からそれ使う
533デフォルトの名無しさん:2009/03/16(月) 19:35:33
creature
534デフォルトの名無しさん:2009/03/16(月) 19:57:33






無理矢理英語にする
無理矢理日本語にする


どっちも嫌なので難しい。


Get_User_Inputs_4_Process_that_DA_First_Pass

User_no_Key_nyuuryoku_wo_Uketoru


見てるだけでムカつく。
特に4とか2とかDAとか

535デフォルトの名無しさん:2009/03/16(月) 20:02:08
なんでこう、英語をちょっとくさ知るとDAとか黒人スラング使いたがるのか。

おなじ「だ」でもTHEでいいじゃん。

THE・埼玉はTHE・埼玉だからいいのであって、
DA・埼玉だとヒネリも何もなく、したがって味わいも何もないではないか。

THEが付いてるから、「並ぶもののない」「他に2つとない」というポジティブな意味と
「ダサイ」というネガティブな意味両方あるからTHE・埼玉という表記がすぐれているのに
DAにしたら英語知らない奴からするとストレートな悪口にしか見えん。
536デフォルトの名無しさん:2009/03/16(月) 20:19:49
坊やだからさ
537デフォルトの名無しさん:2009/03/16(月) 20:26:25
// get user inputs for process that the first pass

// ユーザーのキー入力を受けとる

完璧にコメントの形式ですね
538デフォルトの名無しさん:2009/03/16(月) 22:45:08
意味が変わっとる
539デフォルトの名無しさん:2009/03/17(火) 13:31:39
意味もなく冠詞とか接続詞とか前置詞とかは付けないものだと思ってた
540デフォルトの名無しさん:2009/03/19(木) 09:44:43
Levensteinのアルゴリズムに手を加えて、
二つの配列間の挿入、置換、置換、移動による最短編集距離を求めて
それぞれ変更のあった位置と類似度も返す関数を作ったんだけど
なんて名前にすればいいだろう。
541デフォルトの名無しさん:2009/03/19(木) 10:50:52
changeset
542デフォルトの名無しさん:2009/03/19(木) 13:21:52
自分の名前つけとけば
543540:2009/03/20(金) 00:17:50
>>541
順序も考慮するからsetは違う気がする。
圧縮ファイルの中身を比較するのに作った関数だけど
一応他の用途でも使いまわせるような感じにしたいので
汎用性がある名前にしたいなぁとか。

>>542
機能に即した名前がいい。
544デフォルトの名無しさん:2009/03/20(金) 04:06:18
>>543
function_that_returns_position_and_degree_of_similarity_it_arranges_ones_verbs_and_objects_to_algorithm_of_Levenstein_and_with_each_change_for_the_shortest_edit_distance_by_the_insertion_between_two_arrays_substitution_substitution_and_movement()
545デフォルトの名無しさん:2009/03/20(金) 05:17:16
>>544
じゃあそれにするわ!
546デフォルトの名無しさん:2009/03/20(金) 05:34:50
MyLevensteinDistance()
547デフォルトの名無しさん:2009/03/20(金) 07:26:49
>>544
英語でおk
548デフォルトの名無しさん:2009/03/20(金) 13:16:56
マイクロソフトに倣ってLevensteinDistanceExでいいじゃん。
549デフォルトの名無しさん:2009/03/20(金) 17:26:10
non_power_of_2


「なんで2の力なんですかね?」
って聞いてきた奴もいたものである。
550デフォルトの名無しさん:2009/03/20(金) 21:18:29
>>540
まず、そのアルゴリズムを論文発表して、自分の名前を定着させるんだ。
551デフォルトの名無しさん:2009/03/21(土) 18:17:00
XMLで

<a>hoge</a>
<b length="10">

みたいなを読んで処理をしたいのですが

a...tag
hoge...value
length...attribute
10...parameter

でいいですか?
2つ目と4つ目が何か違う気がして・・・
552デフォルトの名無しさん:2009/03/21(土) 18:27:12
>>551
DOMやSAXパーサのソースコードを見て、使われている用語を参考に
すればいいんじゃないだろうか。

tag→a は要素(名)(element (name))
<a> は開始タグ(start tag)
</a> は終了タグ(end tag)
名前空間を考慮する場合、local name とか qualified nameという言い方も目にする。

value→(要素のネストを考慮して)content もしくは (inner) text
attribute→これはOK
parameter→(attributeの)value

あたりじゃないかな。

553デフォルトの名無しさん:2009/03/21(土) 18:41:55
>>552
ありがとうございます。
そんな感じでやってみます
554デフォルトの名無しさん:2009/03/22(日) 01:13:35
ブログツール作ってるんですけど
記事一つがEntryクラスで
それの集合がEntryListクラスなんですが

記事を追加したり削除したり
条件を指定してEntryクラスやEntryListクラスを返す
みたいなものを一括するクラスの名前はどうしたらいいでしょうか?
555デフォルトの名無しさん:2009/03/22(日) 01:35:33
EntryManager
556デフォルトの名無しさん:2009/03/22(日) 02:43:32
EntryRepository
557デフォルトの名無しさん:2009/03/22(日) 03:25:02
>>554
EntlyList.add
EntlyList.delete
EntlyList.find
EntlyList.filter

メソッドじゃね?
558デフォルトの名無しさん:2009/03/22(日) 18:12:32
スレ違い
559デフォルトの名無しさん:2009/03/22(日) 21:31:42
EntryStore
560デフォルトの名無しさん:2009/03/23(月) 11:20:29
ビットマップの透過色を指定して32ビットのビットマップにする関数
561デフォルトの名無しさん:2009/03/23(月) 21:12:19
create transparent image(source image, transparent color) とか。
新しいビットマップを返すのか、所与のビットマップを変換するのか
で多少変わるだろうけど。

alpha値を変更するという観点での命名もありえるかもね。
562デフォルトの名無しさん:2009/03/25(水) 12:32:57
新人にありがちな例


クラスなに?

1年のときはAでした。




563デフォルトの名無しさん:2009/03/25(水) 12:37:30
vipでやれ
564デフォルトの名無しさん:2009/03/25(水) 17:04:05
おお、こんなスレあったんだな
今度困ったときに相談するよ

余談だが俺の後輩は全部ローマ字読みで命名するんだよね・・・
でも意外だが一部では肯定派もいるらしいね
565デフォルトの名無しさん:2009/03/25(水) 17:47:43
後輩に和英辞書をプレゼントしてあげてください
566デフォルトの名無しさん:2009/03/25(水) 18:26:14
でも勘定科目の英訳とか、普通の辞書には載ってないよね……
567デフォルトの名無しさん:2009/03/25(水) 20:59:57
コボラは、英単語が多数予約語になってるので、ローマ字日本語で命名する
習慣が定着しているそうだ。英語が母語な人はどうしてるんだろう。
568デフォルトの名無しさん:2009/03/25(水) 22:31:11
プレフィクスにFUCKIN_つける。
569デフォルトの名無しさん:2009/03/26(木) 01:12:55
イギリス人はBLOODY_をつけるんですね。わかります。
570デフォルトの名無しさん:2009/03/26(木) 09:34:49
FUCKIN_MIHARAI
BLOODY_URIKAKE
571デフォルトの名無しさん:2009/03/26(木) 12:24:15
なんでそこでローマ字なんだよwww
572デフォルトの名無しさん:2009/03/26(木) 13:19:30
血塗られた売掛金
573デフォルトの名無しさん:2009/03/26(木) 23:21:14
洗えよ
574デフォルトの名無しさん:2009/03/28(土) 11:21:49
std::stringで
key1=value1\nkey2=value2\n...
みたいな文字列をとって
map<std::string,std::string>で返す関数の名前
575デフォルトの名無しさん:2009/03/28(土) 14:47:48
parse_key_value_pairs
576デフォルトの名無しさん:2009/03/31(火) 17:03:11
プログラマ的ネーミングセンスってどうやって身につけるんだろう
577デフォルトの名無しさん:2009/03/31(火) 17:08:06
他人のコードを読むとか、語彙を増やすとか
578デフォルトの名無しさん:2009/03/31(火) 23:39:43
あるキーワードを思いついたらgoogle codeで検索して他人がどういう変数名やクラス名をつけているか調べまくる。

579デフォルトの名無しさん:2009/04/01(水) 09:12:15
英語版googleでネイティブがどんな言い回しをしてるのか調べる。
580デフォルトの名無しさん:2009/04/01(水) 09:15:00
とにかくググる癖をつけないと、TimeOfNowとか付けちゃう酷いネーミングセンスになるから気を付けるんだぞ
581デフォルトの名無しさん:2009/04/01(水) 18:02:25
SIMDを使うようになってから、今までとは全然違う概念の変数を使うようになって、名前がつけにくいったら。
582デフォルトの名無しさん:2009/04/01(水) 21:16:05
google code...
そんなんもあるのか....
583デフォルトの名無しさん:2009/04/02(木) 09:43:08
goodle code searchな。
google codeは、google提供ツールのソース開示とOSSプロジェクトのホスティング。
584デフォルトの名無しさん:2009/04/02(木) 12:04:00
キャンバス上に配置されてるオブジェクトってなんて言えばいいかな
arrangedObjects?
585デフォルトの名無しさん:2009/04/02(木) 15:22:02
「配置されてる」とは?
「配置されていないオブジェクト」という概念もあるのか?
586デフォルトの名無しさん:2009/04/02(木) 18:43:27
>>585
偉そうに馬鹿な事言うなよ
恥ずかしいw
587デフォルトの名無しさん:2009/04/02(木) 20:03:25
positioned object
placed object

object on canvas
588デフォルトの名無しさん:2009/04/02(木) 22:00:33
言語によっては、canvas.objects() とか canvas->getObjects() とか。
componentsかもしれんが。

585でも訊かれているけど、管理してるけど配置していないオブジェクト
ってのもあるの?
589デフォルトの名無しさん:2009/04/03(金) 11:10:12
.NETのSystem.Drawing.Bitmapの全ピクセルを高速にループしてforeach的に各ピクセルに対して処理するメソッド
void Hoge(Bitmap bmp, PixelProc proc);

System.Drawing.Imageを上記のメソッドに渡せる形式のBitmapにして返すメソッド
(具体的にはPixelFormat=PixelFormat.Format32bppArgbなBitmap)
Bitmap Fuga(Image img);
上記2つのメソッドを持つクラス。
PixelProcの定義は
delegate Color PixelProc(Color color);

GetPixel、SetPixelを使った処理よりも高速であることを強調した名前にしたいです。
宜しくお願いします。

てゆーかぶっちゃけこれに名前が欲しい。
http://www.k4.dion.ne.jp/~anis7742/codevault/00180.html
590デフォルトの名無しさん:2009/04/03(金) 11:33:40
TurboRgbaPixelFilter
591デフォルトの名無しさん:2009/04/03(金) 11:35:03
FastFiltering
GetRegularizedBitmap
592589:2009/04/03(金) 11:47:58
超THX。使わせて頂きます。
593デフォルトの名無しさん:2009/04/03(金) 18:22:03
フィルタ処理用のLanczos3関数で、引数がゼロかどうかのチェックを省略したものの名称を
どうしようか迷っています。とりあえず Lanczos3_NonZero としているんですが、
チェックを省略している、というニュアンスが出てないので……
594デフォルトの名無しさん:2009/04/03(金) 18:50:40
普通に
checkNonZero
じゃぁいかんの?
595デフォルトの名無しさん:2009/04/03(金) 23:25:34
NoArgumentValidatedLanczos3
596デフォルトの名無しさん:2009/04/03(金) 23:45:36
Lanczos3WithoutArgumentCheck
597デフォルトの名無しさん:2009/04/10(金) 12:34:15
ふと昔の自分のソースを見てて思ったんだけど、
変数名などに、同じ単語の単数形と複数形を共存させることってある?

例えば、
 file  ← ファイル名を格納
 files ← 配列など、複数のファイル名を格納
みたいな感じで。
598デフォルトの名無しさん:2009/04/10(金) 12:57:33
foreachがある処理系なら
599デフォルトの名無しさん:2009/04/10(金) 16:41:36
前処理行程で出てきた
16進数の文字列データを10進数の文字列に変換するクラスの名前

このクラスから桁揃えや値の範囲の判定を追加した子クラスに派生させる予定です

宜しくお願いします
600デフォルトの名無しさん:2009/04/10(金) 17:56:03
Javaでメンバ変数(フィールド変数?)にアンダースコア付けるのって微妙なの?
マーチン・ファウラー先生のオススメ命名規則らしいんだが
601デフォルトの名無しさん:2009/04/10(金) 20:15:32
>>599
それだけ聞くと「単純な話をわざわざ複雑にするだけ」に聞こえる。
hex⇒intもint⇒decimalもintの機能であるんじゃないの?

2行の処理が一行にまとまる「嬉しさ」と、
何を抽象化したクラスか理解する「面倒臭さ」のどっちが勝るかよく考えるべきだと思うな。
602デフォルトの名無しさん:2009/04/10(金) 20:29:53
struct XMLtree_t
{
string name;
children_t* children;
attribute_t* attributes;
}

struct children_t
{
std::vector X;
}

struct attribute_t
{
std::map Y
}

みたいなのを書いてみました。XとYはどんな名前がいいでしょうか?
ちなみにXとYをわざわざ別の構造体にしてるのは「存在しないとき」の方が多そうだから
NULLポインタ1個で済ませられればという理由です
603デフォルトの名無しさん:2009/04/11(土) 05:14:25
>>599
BaseConvert
RadixConvert
とかかのう。

10進と16進には固定できないが。
604デフォルトの名無しさん:2009/04/11(土) 05:18:30
>>602
struct XMLtree_t
{
 string name;
 std::vector* children;
 std::map* attributes;
}
605デフォルトの名無しさん:2009/04/11(土) 05:44:50
>>601
TONさんちーっす
相変わらずですね^^;;;
606デフォルトの名無しさん:2009/04/11(土) 09:26:39
(605の内心)

>>601
ようTON
お前また設計に口出しするのか。
テンプレ読めないっぷりは相変わらずだな。
そんなんじゃ実生活でも相当使えないやつだろうなwwwwwww
607デフォルトの名無しさん:2009/04/11(土) 10:34:35
おちょくってるだけの君らも邪魔
どっか行ってくれ
608デフォルトの名無しさん:2009/04/11(土) 11:54:22
オマエモナ
609デフォルトの名無しさん:2009/04/11(土) 12:03:59
オマエモナ
610デフォルトの名無しさん:2009/04/11(土) 16:16:14
>>600
フィールド変数にアンダースコアを付けるのは
一見でフィールド変数とローカル変数を見分けられる利点がある。

その一方、リファクタリングによって
フィールド変数とローカル変数が入れ替わることは少なくない。
この命名規則を維持するのは多少なりとも労力を必要とするが、
中断すると読み手をミスリードすることになるので
そのコードを保守する限り未来永劫、その労力を必要とする。

さて、近年のIDEでは、フィールド変数とローカル変数を
自動的に視覚的に区別できるように表示してくれるものが多く、
このような開発環境を前提とした場合、先に挙げた利点が必要なくなるため
この命名規則は欠点を残すだけになるだろう。

以上自論
611デフォルトの名無しさん:2009/04/11(土) 19:46:38
メンバ変数へは絶対にthis経由でアクセスすべき
命名はどうでも良い
612デフォルトの名無しさん:2009/04/11(土) 19:56:27
>>611
なぜ?
613デフォルトの名無しさん:2009/04/11(土) 21:29:38
フィールドとメソッド内ローカルを入れ替えるようなリファクタリングなんて
一度もしたことないけどなあ。
どんな状況でそんな必要に駆られるのか煽り抜きで想像ができない。

ちなみに俺はフィールドにはそれと識別可能なプリフィクスを付ける派。
ただしアンダースコアは視覚的に見難いし醜いしタイプしにくい(少なくともJISキーボードだと)
から小文字のmでプリフィクスすることにしてる。
614デフォルトの名無しさん:2009/04/11(土) 21:32:51
>>610
ハンガリアンも似たような理由で嫌われるよな
615デフォルトの名無しさん:2009/04/11(土) 22:00:09
いまどきフィールド変数なんて色変えたりボールドにしたり
一見して判別可能にすることができるんだから全然気にする必要ない。
変なプレフィクス付けるとかマゾ以外の何者でもない。

異論は認める。
616デフォルトの名無しさん:2009/04/11(土) 22:22:53
>>615
むしろ色分けや書体による区別の乱用の方がマゾ的に感じるけどな。
シンタックスカラーまで否定しないけど、スコープの区別までそれでやるのは
関心しないね。

視覚的に「騒々しい」というのもあるけど、人間のパターン認識機能の特性に
あまり適合的じゃないよ。
617デフォルトの名無しさん:2009/04/11(土) 23:37:15
いみふめい
618デフォルトの名無しさん:2009/04/12(日) 00:22:27
まあ白黒テレビで頑張ってますってことだろ
619デフォルトの名無しさん:2009/04/12(日) 00:28:33
>>617-618
端的に言うとむしろ君らの頭の性能が悪い、ってことだと思うよ。
620デフォルトの名無しさん:2009/04/12(日) 00:43:12
へいへい
621デフォルトの名無しさん:2009/04/12(日) 01:08:39
ここはヌルー
622デフォルトの名無しさん:2009/04/12(日) 01:11:26
ポ
623デフォルトの名無しさん:2009/04/12(日) 01:25:49
ガッ
624デフォルトの名無しさん:2009/04/12(日) 04:29:42
(俺にとっては)視覚的に「騒々しい」から(お前が)それでやるのは関心しないね。

いみふ
625デフォルトの名無しさん:2009/04/12(日) 09:52:15
スレ違いだが色覚異常は男性に多いらしい。
そういう人は色だけで区別するのは嫌がるだろうな。
626デフォルトの名無しさん:2009/04/12(日) 12:07:59
音なんかどうだろうか
627デフォルトの名無しさん:2009/04/12(日) 15:37:26
世の中耳の悪い人もいるよな
触覚でどうだろうか
628デフォルトの名無しさん:2009/04/12(日) 15:52:28
視覚だけでいいよ
629デフォルトの名無しさん:2009/04/12(日) 17:00:39
マジレスすんな低脳w
630デフォルトの名無しさん:2009/04/12(日) 17:02:07
つまんねえよクズ
631デフォルトの名無しさん:2009/04/12(日) 17:03:57
キーワードは何色で表示してる?
俺は緑だが
VSのデフォはコメントが緑だから困る
632デフォルトの名無しさん:2009/04/12(日) 17:22:50
目に優しい色で他と区別ができるのなら何でもいいと思うな。

少なくと俺は色から、これはキーワードだとか、これはクラスメンバだとかいう
情報を積極的に読み取るってことはしない。

俺じゃなくても、シンタクックスカラー主目的はタイプミスとか''""{}[]/**/
のアンバランスを逐次的に見つける一手段ってことなんじゃないの?

まあ、慣れた配色と違うと確かに最初は違和感あるが・・・
633デフォルトの名無しさん:2009/04/12(日) 21:17:24
javaでeclipseだと普通に色で読み取れちゃうしそれを使わない手もないとおもうけど
スレ違い。
634デフォルトの名無しさん:2009/04/13(月) 00:53:06
Win32APIのLPCTSTRとかわけのわからんのに触れて以来、
システムハンガリアンを受け付けない体になってしまったんだが、
Visual Studio C++でもメンバ変数の色分けってできないだろうか?
635デフォルトの名無しさん:2009/04/14(火) 20:44:07
>>613
ローカル引数のスコープの狭さは、メソッドの分割などで支障をきたすことが少なくない。
無理に分割しようとうると、金太郎飴のように似た様な引数の並びのメソッドを
次々にコールすることになる。

この状態でこれらのメソッドを複数のクラスに分割すると
金太郎飴引数をクラス間でずりずり引き回すという
なんちゃってオブジェクト指向のスパゲティコードを読まされている俺負組み誰か助けてorz
636デフォルトの名無しさん:2009/04/14(火) 21:21:33
くそう最後で笑ってしまったw
637デフォルトの名無しさん:2009/04/14(火) 21:21:56
「リファクタリング」に出てくる「コードの不吉な臭い」のうち
「多すぎる引数」とか「データの群れ」というやつだな。
638デフォルトの名無しさん:2009/04/15(水) 01:19:07
引数は常にデータセット1個に決まってるだろjk・・・
639デフォルトの名無しさん:2009/04/15(水) 20:10:25
1箇所弄ると連鎖的に全部変えなきゃならない構造体地獄の現場を思い出した
640デフォルトの名無しさん:2009/04/16(木) 03:23:39
構造体なんて論外だろw
641デフォルトの名無しさん:2009/04/16(木) 08:59:24
なんでも格納できる辞書かデフォルト引数でもあればまだマシなんだけどなあ
642デフォルトの名無しさん:2009/04/16(木) 09:01:06
ごめん。
○キーワード引数(Pythonとかにあるやつ)
×デフォルト引数
643デフォルトの名無しさん:2009/04/16(木) 18:12:45
そんな引数が数十個ある関数をアセンブリ言語から呼ぶ羽目になったぜ。
しかもなぜかfastcall。かえってややこしいわw
644デフォルトの名無しさん:2009/04/19(日) 03:11:08
レコードの数を表す変数として、
recordsとnRecordsならどちらがよいのでしょうか。

recordsだと何かrecordの集合のような物を想像してしまうのですが、
かといって要素数を表す接頭辞をつけるのも不格好な気がします。

records.lengthのように参照できるようにできれば一番いいと思うのですが、
現に手元にrecordがあるわけでないのでそうはできません。

みなさんはどうされていますか。
キャピタライゼーションなどの見た目上の規則ではなく、
意味論的な観点からご意見ください。
645デフォルトの名無しさん:2009/04/19(日) 03:36:51
だから迷ったらまず素直に直訳してみようといつも・・・
自分で「レコードの数」って言ってるじゃん。

古い人ほど「直訳みたいな変数名はダメ」という間違った強迫観念に支配されてるけど、
時代錯誤だから考え直した方がいいと思うよ。
646デフォルトの名無しさん:2009/04/19(日) 03:39:29
recordCount
647デフォルトの名無しさん:2009/04/19(日) 03:40:49
なぜ比較するのにその二つを選んだのか
648デフォルトの名無しさん:2009/04/19(日) 08:38:33
何となくだが、records は配列とかそういう印象がある。

>645
そういうレベルの話じゃないっしょ。たぶん。

>647
nXXXsで個数っていうのは、よく見かけるけどな。
649デフォルトの名無しさん:2009/04/19(日) 09:02:02
システムハンガリアンと違って、
きちんと意味付けされた上で接頭辞をつけるのは悪くないと思うんだけどな。
もちろん周りが -Count とか numberOf- とか使ってるならそっちを使うべきだけど。
650デフォルトの名無しさん:2009/04/20(月) 02:37:11
あるある
651デフォルトの名無しさん:2009/04/20(月) 17:52:55
>>209
652デフォルトの名無しさん:2009/04/20(月) 18:20:18
MakeSureDirectoryPathExists的な関数名を付けては顰蹙を買うおいら。
でもオーバーロードの無いC言語だと仕方ないと思うんだ。
653デフォルトの名無しさん:2009/04/20(月) 19:18:02
オーバーロードっていうかインスタンスメソッドじゃない。

bool CPathString::Exists()
654デフォルトの名無しさん:2009/04/20(月) 19:20:01
make sureということは存在するか否かを返すのではなく、
「存在すれば何もしない。しなければ作る」という処理なのかな。
655デフォルトの名無しさん:2009/04/20(月) 20:36:38
>>654
「ディレクトリの存在を確認する」んだろ。
オレだったらconfirmにするが。
656デフォルトの名無しさん:2009/04/20(月) 20:38:05
ensure
657デフォルトの名無しさん:2009/04/21(火) 11:58:52
>>654
正解。すごいな、分かる奴には分かるもんなんだな。
http://msdn.microsoft.com/ja-jp/library/cc428990.aspx
658デフォルトの名無しさん:2009/04/21(火) 12:06:17
技術系の洋書に沢山出てくる言い回しじゃん。
659デフォルトの名無しさん:2009/04/21(火) 12:10:37
make sure directory path exists
establish directory path existence without doubt
処理の後に指定されたディレクトリが存在するという事後条件がある
と解釈するのか、make sureに対してそういう見方をしたことはなかった
これからはもっと英英辞典も使うとしよう
660デフォルトの名無しさん:2009/04/21(火) 12:37:42
Let's make sure he's dead. のジョーク思い出した
661デフォルトの名無しさん:2009/04/21(火) 12:40:21
こういう言い回しは、こんな感じの意味みたいな読み方しかしないから、
ちゃんとした解釈なんて考えた事もないわ。
だから技術系の本しか読めないんだなきっとw
662デフォルトの名無しさん:2009/04/21(火) 14:32:53
>>660
死んでるかどうか確認して! と 確実に死んだ状態にして!
の勘違いのアレか。
663デフォルトの名無しさん:2009/04/21(火) 18:53:18
処理内容と事後条件が混ざって嫌。
だいたい事後条件を満たせなかったら
どうすんの?死ぬの?

makeDirectoryIfNotExist
とかのがよくね?
664デフォルトの名無しさん:2009/04/21(火) 19:00:56
満たせなかったら例外とかエラーだろ。

665デフォルトの名無しさん:2009/04/21(火) 19:03:08
>>663
失敗したらどうすんの?死ぬの?w
666デフォルトの名無しさん:2009/04/21(火) 19:26:44
>>665
お前みたいな頭の悪いガキが生まれても、
親は別に死んだりしない。
667デフォルトの名無しさん:2009/04/21(火) 19:41:02
名前変えても何も変わらなくね?って言ってるだけなんだけど。
668デフォルトの名無しさん:2009/04/21(火) 23:58:38
この思い込み具合、またTONくさいな。。。。。
669デフォルトの名無しさん:2009/04/22(水) 00:07:53
MakeSureDirectoryPathExists
makeDirectoryIfNotExist

俺はどっちも同じ動作を思い浮かべるけどな
670デフォルトの名無しさん:2009/04/22(水) 03:40:06
>>669
それほど変わらんかもしれんが、
>MakeSureDirectoryPathExists
はsureに、
>makeDirectoryIfNotExist
はmakeに主旨がある気がしない?
感覚的にはけっこう違うような。
671デフォルトの名無しさん:2009/04/22(水) 04:50:04
TONさんがこんなボンクラセンスなわけねぇだろw
672デフォルトの名無しさん:2009/04/22(水) 17:42:44
2-3個くらいの文字列変数をルールに従って1つの文字列に合成・生成してOutputする関数を命名したいのですが
composeかそれともgenerateどちらがいいでしょうか?

〜OutputStr()と言うような感じで考えています
673デフォルトの名無しさん:2009/04/22(水) 18:48:31
手段が重要ならcomposeあるいはsynthesize
目的が重要ならgenerate
674デフォルトの名無しさん:2009/04/23(木) 09:07:58
〜にcomposeやgenerateが入るのが、outputする関数の名前としては既におかしい。

OutputComposedStringとかならまだ分かるが。
675デフォルトの名無しさん:2009/04/23(木) 09:47:23
IN: 引数
OUT: 戻り値
676デフォルトの名無しさん:2009/04/23(木) 11:14:06
ルールとかOutputとかが何を意味するのかわかんないけど
joinとかそういうのとは違うの?
677デフォルトの名無しさん:2009/04/23(木) 11:20:23
やはりTONさんのネーミングセンスは一味違うな
678デフォルトの名無しさん:2009/04/23(木) 16:31:55
やっぱTONさんパネェっす
679デフォルトの名無しさん:2009/04/23(木) 17:05:20
浮動小数点数が非数でも無限でもないことを判定する関数の
名前は何にしたらよいでしょう?

IsRealNumber にしようとおもったら、実数は無限を含むらしいので。
680デフォルトの名無しさん:2009/04/23(木) 17:12:17
IsFinite
681デフォルトの名無しさん:2009/04/23(木) 17:18:54
真偽を逆にしてIsNaNOrInfinite
682デフォルトの名無しさん:2009/04/23(木) 19:39:53
>>679
正負の零、非正規化数、正規化数をあわせて、finiteとよぶ。
683676:2009/04/23(木) 20:04:42
>>677
>>678
それもしかして俺に言ってるの?
joinはセパレータ使って文字列結合するときには普通に使う関数名だよ?
スクリプト言語とかboost.string_algoとか使ったことない?

ちなみにセパレータじゃなくて意味のある文字列ならformatXXXのほうがいいかな
composeとかのほうが意味がわからない
684デフォルトの名無しさん:2009/04/23(木) 20:25:35
>>679
つ float.h
685デフォルトの名無しさん:2009/04/23(木) 20:27:17
>>683
どうみても674あてだろがw
686デフォルトの名無しさん:2009/04/23(木) 20:45:46
疑心暗鬼に陥っているなw
687デフォルトの名無しさん:2009/04/24(金) 04:35:34
>>683
このスレの住人のTON検出力を甘く見んなw
688デフォルトの名無しさん:2009/04/24(金) 04:40:17
683:(674に言ってるように見える・・・俺がTONなんだが・・・)
689デフォルトの名無しさん:2009/04/24(金) 04:50:52
TONさんは頑なにTONが含まれるレスを無視するからアリエネ
690デフォルトの名無しさん:2009/04/24(金) 06:31:07
ワロタ
691デフォルトの名無しさん:2009/04/24(金) 07:25:31
質問者はトンさんに絡まれたくない時は冒頭にTONって入れときゃいいのか
692デフォルトの名無しさん:2009/04/24(金) 13:29:23
じゃあsageの代わりにTONって入れればいいんじゃね。
693デフォルトの名無しさん:2009/04/24(金) 18:26:36
まじぱねえっす
694デフォルトの名無しさん:2009/04/27(月) 20:49:56
マイコンに接続されてるセンサー(今は温度センサーをつけてる)からデータを受けてviewクラスに値を渡したいのですが

項目名(温度センサーなら温度)とその値を持つ構造体の名前、どうしたらいいでしょうか
単純そうに思えてしっくり来る名前が思いつかないです
695デフォルトの名無しさん:2009/04/27(月) 21:42:20
NameValuePair
696デフォルトの名無しさん:2009/04/27(月) 22:43:49
SensorData
697デフォルトの名無しさん:2009/04/27(月) 23:00:42
SensedData
SensedValue
698デフォルトの名無しさん:2009/04/28(火) 06:39:45
DetectedParameter
699デフォルトの名無しさん:2009/04/28(火) 21:20:06
SensorEntry
700デフォルトの名無しさん:2009/05/03(日) 14:17:29
項目名と構造体名がお互いに愛し合っているなら、最も単純なものを。
そうではないが、刺激を与え合う関係であれば、中程度に複雑なものを。
誰もが気流に乗れていない状況であれば、いっその事名前をつけない。
客に媚びたいならば、可能であればジェネリクスを使う(同時に、客にはキッシュでも食わせておく)。
701デフォルトの名無しさん:2009/05/05(火) 05:06:58
書き込む前にもう一度だけ読み返してさえいれば、こんな事にはならなかったのにな
702デフォルトの名無しさん:2009/05/06(水) 10:21:45
むちゃしやがって・・・
703ムモー:2009/05/10(日) 22:17:00
ClassName みたいな方法で名前を書くときって、
頭文字語を入れると読みにくくなるよね。
たとえば、「ABC法」という方法があって、
それをクラス化する場合、ABCMethod とすると読みにくくない?
AbcMethod にすべき?それだと頭文字であることが分かりにくいよね。
704デフォルトの名無しさん:2009/05/10(日) 22:25:02
キャメル法って言うんでしたっけか。
_使うっていう俺は素人
705デフォルトの名無しさん:2009/05/10(日) 22:33:16
InitializeAclとか。
706デフォルトの名無しさん:2009/05/10(日) 22:39:49
>>703
俺はマイクロソフトのガイドラインに則って2文字か3文字以上かで分けてる。

IOMode ioMode;
XmlDocument xmlDocument;
707ムモー:2009/05/10(日) 22:50:28
>>706
うーん。でも、「AB法」とそれを拡張した「ABC法」というのがあって、
一方は ABMethod でもう一方は AbcMethod っていうのは、よくないかなーって。
実際、今の仕事でそういうのがあるんだけど。
708706:2009/05/10(日) 22:54:43
>>707
それはさすがにきもいな。
どっちかにそろえるべきだと思う。
709デフォルトの名無しさん:2009/05/11(月) 00:52:32
可読性も重要だが、名前の衝突が深刻
710709:2009/05/11(月) 01:07:27
いみふなので付けたし

その言語の標準の命名規則に盲目的に従っておけば
その言語仕様における名前の解決の方法・順番に纏わる
トラブルに巻き込まれることが少なくなることを期待

なので、AbcMethodに一票
ABMethodは、作った人を殴りに行こう
711709:2009/05/11(月) 01:10:21
よく読んでなかった。マイクロソフトな言語だったら殴んなくていいのね
712デフォルトの名無しさん:2009/05/11(月) 02:01:23
Pythonならacronymのケースは全部大文字だな
713デフォルトの名無しさん:2009/05/11(月) 03:51:13
709が恥ずかしすぎる件について
714デフォルトの名無しさん:2009/05/11(月) 19:11:41
JavaScriptでボタンのonclickにセットする関数として、
押される度にあるdivの表示非表示を切り替える関数は
なんて命名したらいいですか?
switch~~とかchange~~とか付けてたけど、ふと気になった。
715デフォルトの名無しさん:2009/05/11(月) 19:20:21
Toggle***Visibilityとか
716デフォルトの名無しさん:2009/05/11(月) 21:15:30
>>710
命名規則に従わないとコンパイル通らないプログラミング言語でもない限り、
トラブルに巻き込まれるわけがないだろ……

つかコーディング規約ってものは「周囲に合わせる」のが常識だろ?
C++ Coding Standards の冒頭にも書いてるけど、
重要なのはルールに従うことじゃなく、一貫した書き方をしていること。
ABMethodがあるなら当然ABCMethodを期待するだろ。
名前の問題より、期待を裏切られるほうが深刻。
命名規則に盲目的に従うとかそれこそいみふだろ、常識的に考えて
717デフォルトの名無しさん:2009/05/11(月) 21:37:42
709はもんのっすっごい馬鹿なTONさんて感じだな
718デフォルトの名無しさん:2009/05/11(月) 22:21:19
>>716
一貫した書き方をするために、盲目的にルールに従う必要があるの。
大体「周囲」って何なんだよ。
命名規約に従うとABMethod、AbcMethodという状況で、
ABCMethodなんて規約に反した命名するのは俺からしたら思いっきり
「期待を裏切る」行為だけどね。
719デフォルトの名無しさん:2009/05/11(月) 23:02:40
途中から関わる場合は周囲に合わせる。
最初から関わる場合は途中で変えない。
720デフォルトの名無しさん:2009/05/11(月) 23:14:31
Java だと、名前が衝突したときに、obscure とか hiding とか shadow とか
(あと一つあったような)いろいろ面倒な概念が必要になるんだわ。
マイクロソフトは知らね
721デフォルトの名無しさん:2009/05/12(火) 13:37:29
命名規約に従うなら、そもそも ABC なんて略語を使うのが規則違反なワケで
AnyBasicChannel とかナントカ(意味フ)みたいに、略さなければいいこと。
そうすれば ABC なのか Abc なのかで悩む必要はない。

ところで便乗質問。
ラクダ法で名前を付けるとき、最初の1文字は小文字にすべし。たとえば
inputOutputMethod
みたいになるわけだが、頭にアンダースコアを付けると
_InputOutputMethod
でいいの?i は2文字目だから大文字でいいの?
722デフォルトの名無しさん:2009/05/12(火) 13:52:28
C/C++ の標準規格に従うなら、そもそも _Input なんて頭にアンダースコアをつけるのが規則違反なワケで
inputOutputMethod とかナントカ(意味フ)みたいに、つけなければいいこと。
そうすれば _input なのか _Input なのかで悩む必要は無い。
723デフォルトの名無しさん:2009/05/12(火) 16:34:54
知らないならレスしないでください
724デフォルトの名無しさん:2009/05/12(火) 21:18:25
>>721
所詮コーディング規約なんだから、
規約を知らない人間が理不尽だと思うようなルールには従わんでいいだろ。
「ハイフンの次は先頭じゃないから大文字でいいよ!」なんて
馬鹿げた規約が仮にあったとしたら、その規約を10部くらい印刷して全部破り捨てるね。

あとラクダ法 = CamelCaseは厳密には先頭大文字。
先頭小文字は mixedCase。あえて区別しない時もあるけど。

つかコーディング規約にやたら拘る人多いけど釣りなの?
725デフォルトの名無しさん:2009/05/12(火) 21:52:15
>>720
その概念は知らなかったが、
見る限り普通にコード書いてりゃわかりそうな概念だったぜ。
shadow: インスタンス変数とパラメータが被るときのルール
hiding: 継承関係でstaticメソッドが被ったときのルール (多態が起こらない)
obscure: パッケージ名、クラス名と変数名が被るときのルール

ABCMethodをAbcMethodにしないと面倒という意味がわからないし、
そもそもこれが面倒になるようなコード書くなよとしか言えない。this.x = x;はよくやるが。
ついでにC++とかのADLとかtypedef typename とかと比べるとだいぶ簡単な気がするぞ。
726デフォルトの名無しさん:2009/05/12(火) 21:55:36
>724
キャメルは先頭小文字で、先頭大文字はPascalだと思うが。
727デフォルトの名無しさん:2009/05/12(火) 22:07:08
途中の大文字をラクダのコブに見たててのcamel caseだから、先頭は小文字であれかし。
728726:2009/05/12(火) 23:09:45
wikipediaによれば総称camel caseで先頭大文字のものをupper camel caseまたはpascal case、
先頭小文字のものをlower camel caseまたは単にcamel caseと呼ぶ、だそうな。
729デフォルトの名無しさん:2009/05/12(火) 23:25:38
オレの亀は頭がデカい
730デフォルトの名無しさん:2009/05/13(水) 07:25:44
文中でも文頭でもcamelCase, PascalCaseとかけば誰も間違えないよ。
731デフォルトの名無しさん:2009/05/13(水) 11:27:17
パスカルは天才だから頭がデカイ
732デフォルトの名無しさん:2009/05/13(水) 12:13:15
頭を上げた状態のラクダがいてもいいんではないだろうか
733デフォルトの名無しさん:2009/05/13(水) 13:45:11
チェザーレにお世話になってるんですね、わかります。
734デフォルトの名無しさん:2009/05/14(木) 00:36:23
これから作るクラス名、"RewindableIterator" と "MementoIterator" のどっちにしようか悩んでるんだけど
分かりやすいのはどっちだと思いますか?
735デフォルトの名無しさん:2009/05/14(木) 00:50:19
何作るのか知らんが
名前だけ見て動作が多少想像できるのは前者
736デフォルトの名無しさん:2009/05/14(木) 01:02:36
MementoというとMementoパターンに関連したものをイメージするのだが、
IteratorがMementoパターンにどう関連するかわからない。
737デフォルトの名無しさん:2009/05/14(木) 01:08:41
Mesomesoパターン
738736:2009/05/14(木) 04:19:18
名前だけでだいたい通じるかなーと思って敢えて詳細は書かなかったんだけど、
普通のイテレーターの機能に加えて、
・saveState⇒現在のindexをスタックに追加(Push)する
・backState⇒スタックの先頭を取り出して(Pop)、現在のindexをそれに置き換える
ていう機能がついてる感じです。

個人的にはやっぱ前者かなーと。セーブ地点に「戻せる」ようにすることが目的であって、
状態のスナップショットを記録するっていうのはちょっと違うかなぁと。
739デフォルトの名無しさん:2009/05/14(木) 04:20:03
あ、734だったw
740デフォルトの名無しさん:2009/05/14(木) 04:22:03
restoreState
741デフォルトの名無しさん:2009/05/14(木) 04:31:08
rewindableって反復の途中で逆方向に巻き戻せるもののように聞こえる
iteration
 ex) 0->1->2->3->4->5
rewindable iteration
 ex) 0->1->2->3->2->1->0
742デフォルトの名無しさん:2009/05/14(木) 06:17:02
StickableIterator
RestorableIterator
743デフォルトの名無しさん:2009/05/14(木) 07:14:21
UnwindableIterator
744デフォルトの名無しさん:2009/05/14(木) 08:57:12
>>741
つ bidirectional iterator
745デフォルトの名無しさん:2009/05/14(木) 09:04:57
>>738
だったら、いっそ以下。

StackableIterator
pushState()
popState()
746デフォルトの名無しさん:2009/05/17(日) 14:12:52
ハンガリアンについての質問です。

int nIndex;

のポインタ変数を、

int* lpnIndex;

にしました。
この場合、int** のポインタ変数のプリフィックスは何にするのが一般的でしょうか。
747デフォルトの名無しさん:2009/05/17(日) 14:33:20
俺はハンガリアン使わないけど、なんでlp(= long pointer)なんだ
Win32APIとあわせてるの?
748デフォルトの名無しさん:2009/05/17(日) 14:57:36
lplpn
749746:2009/05/17(日) 15:29:51
>>747
16bit 時代からプログラミングしてると、どうしても p は 16bit、lp は 32bit って意識が強いから、
lp にしちゃうんだよね

>>748
lplpn しかないか〜。thx!
750デフォルトの名無しさん:2009/05/17(日) 15:45:01
システムハンガリアンなんか使うな
751デフォルトの名無しさん:2009/05/17(日) 18:26:39
ハンガリアンについての質問だからいいだろ。
752デフォルトの名無しさん:2009/05/17(日) 22:23:19
8bit時代からプログラミングしてるが別にそんなこだわりない
753デフォルトの名無しさん:2009/05/17(日) 22:58:08
           __
        , ‐' ´   ``‐、             / ̄:三}
.     /,. -─‐- 、.   ヽ        /   ,.=j
 _,.:_'______ヽ、 .!       ./   _,ノ
  `‐、{ へ  '゙⌒ `!~ヽ. !     /{.  /
    `! し゚  ( ゚j `v‐冫   , '::::::::ヽ、/
.    {.l   '⌒      ゙ 6',!   / :::::::::::::::/ __ そんなことよりTimeOfNowの話しようぜ!
.     〈  < ´ ̄,フ  .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
.      ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠.   ヽ_}  ゙ヽ
        ,.r` "´  /:::::::::::::::::::ィ´  `ゝ  !、  /
     /       / :::::::::::::::: ; '´   /´\ /   r'\
.     i      ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
     {      {:::::::::::;:イ /   ‖i:::::::/:::::::::::::/  \
.      ヽ       ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /    ヽ
      ヽ、 ,. ‐'"   .ノ ,〈    >   `'‐- '
          >   _,. ‐'´ / /    `)
       ,ゝ       _.⊥.-r┬:/
       ヽ_,. -‐i"!´「L.=!┘     ヽ
       <      / /       |
       /    、i / __     ./
754デフォルトの名無しさん:2009/05/18(月) 06:47:56
通知機能(Yahoo!とかのアラート機能のようなもの)の通知条件を入れておく変数なのですが、

・subscriptions
とかでもおかしくないでしょうか?
それとも
・notificationSettings
みたいな感じのほうがよいでしょうか?

アドバイスお願いします。
755デフォルトの名無しさん:2009/05/18(月) 06:49:07
condition
756デフォルトの名無しさん:2009/05/18(月) 21:59:27
notificationTrigger
757デフォルトの名無しさん:2009/05/23(土) 06:30:19
外部に接続してる計器からの値を受けて出力するPresentationに相当する基底クラスと
クライアント領域へ出力する派生クラスとファイルへ出力する派生クラス命名をお願いします。
758デフォルトの名無しさん:2009/05/23(土) 09:56:06
Presentation
ClientPresentation
FilePresentation
759デフォルトの名無しさん:2009/05/23(土) 12:32:57
なんという直球
だがそれがいい
760デフォルトの名無しさん:2009/05/23(土) 12:38:15
今何番目か?を表す変数と
何個あるか?を表す変数

が紛らわしくていつも困る。
なんたらnumとか言われてもどっちを指しているのかわからん。
761デフォルトの名無しさん:2009/05/23(土) 12:55:11
個数はcount、順序はnumber。
762デフォルトの名無しさん:2009/05/23(土) 14:19:18
あれ?そういうもんなの普通は。
countってなんかループカウントみたいで使ったことないな…
763デフォルトの名無しさん:2009/05/23(土) 14:30:32
困るねぇ
index と length に持ってければ length にしちゃう
764デフォルトの名無しさん:2009/05/23(土) 14:42:54
個数は先頭にnもしくはnumberOfをつける
順序はi, j, kもしくはindex,id
765デフォルトの名無しさん:2009/05/23(土) 15:19:19
>>760
Code Completeではnumberはさけて、indexとcountを使うとあったよ。

>>762
ループカウンタはi, j, kしか使わない、ってことにすればすっきりするよ。
766デフォルトの名無しさん:2009/05/23(土) 15:31:52
>>765
なるほど。thx
767デフォルトの名無しさん:2009/05/23(土) 21:33:48
今更なんだが、4方向をつけるとしたらrightとleftは迷わないんだが、
上と下ってup,above,under,lowのそれぞれどれがいいんだ?
辞書で調べたんだが、今一どれが一般的なのか分からん。
768デフォルトの名無しさん:2009/05/23(土) 21:37:34
一般的にはupとdownでは
769デフォルトの名無しさん:2009/05/23(土) 21:37:48
>>767
単純に(矢印で表されるような)方向のことならupとdownを使ってる。
上辺とか下辺という意味が強いならRECTにならってtopとbottomにしてる。
770デフォルトの名無しさん:2009/05/23(土) 21:47:47
やっぱupとdownか。
ありがとう。
771デフォルトの名無しさん:2009/05/23(土) 23:28:49
javaとCです、ユークリッド互助法で使う
除算の余りを表す変数名に相応しいものを、それぞれについてお願いします。
772デフォルトの名無しさん:2009/05/23(土) 23:42:49
773デフォルトの名無しさん:2009/05/23(土) 23:50:32
>>772thx
java、cともにgcdと命名します
774デフォルトの名無しさん:2009/05/24(日) 06:22:14
えっ…?
775デフォルトの名無しさん:2009/05/24(日) 07:52:12
えっ
776デフォルトの名無しさん:2009/05/24(日) 10:36:04
キーワードを列挙するテキストフィールドの名前はkeywordFieldか、keywordsFieldか…
777デフォルトの名無しさん:2009/05/24(日) 15:49:14
>>773
関数名ならgcdでいいが局所変数は(ry
778デフォルトの名無しさん:2009/05/24(日) 20:39:06
>>776
英語的には textfield (that) Enumerates Keywords とか?
textfiledEnumKeywords
とかなんとか。
変ですかすいません。
779デフォルトの名無しさん:2009/05/24(日) 21:17:00
それはネタで言ってるのか
780デフォルトの名無しさん:2009/05/24(日) 21:58:12
えっ
781デフォルトの名無しさん:2009/05/24(日) 22:18:15
>>776
キーワードってのが既に曖昧じゃない?改めた方がいい気がする
列挙する機能がそれに付いてるのなら〜sFieldでいいと思う
782デフォルトの名無しさん:2009/05/24(日) 22:30:57
keywordEnumerationField
783デフォルトの名無しさん:2009/05/25(月) 13:48:04
数値をKBとかGBとかの単位に変換する
処理(関数)の名前をお願いします。
784デフォルトの名無しさん:2009/05/25(月) 14:30:57
toSIPrefix
785デフォルトの名無しさん:2009/05/25(月) 19:24:02
C++を使ったゲームのプログラムで、
指定されたボタンが押されたかどうかをチェックする関数名をお願いします。


●監視対象はゲームパッド、キーボード、マウスを想定しています。
 デバイス名に依存しない名前が好ましいです。

●戻り値は、基本的に真/偽の2値として利用しますが、
 整数型で受け取った場合は、同じ状態が何フレーム連続で続いたかを返せるようにします。

●オーバーロードまたはデフォルト引数の機能を使って、第2引数に「より詳細な状態(トリガ)」を指定することが出来る。
 例:
 Func( MOUSE_R ) ; //マウスの右ボタンが押されていれば真
 Func( MOUSE_R , PUSH_DOWN ) ; //押した瞬間のみ真

786デフォルトの名無しさん:2009/05/25(月) 19:38:38
PollButton
787デフォルトの名無しさん:2009/05/25(月) 20:12:45
上の関数をIsPressed
下の関数をIsTriggeredと命名してる
俺の場合
788デフォルトの名無しさん:2009/05/25(月) 21:38:39
>>785
inputEventRecieved
789デフォルトの名無しさん:2009/05/25(月) 21:39:20
>786
ネットワーク用語のポーリングと同じ意味?

>787
現状だと僕も同じような名前で使っています。
ただ、関数名を共通にして、引数の違いだけで区別できないかな?と思いまして。
790デフォルトの名無しさん:2009/05/25(月) 21:42:36
引数で機能をスイッチする万能関数って俺は好きじゃないな
スレチだが
791デフォルトの名無しさん:2009/05/25(月) 22:03:57
ちょっとMS臭するけどQueryInputStateとか
機能が複雑なのでIs〜とかGet〜とかは付けたくない感じ
792783:2009/05/26(火) 02:11:38
>>784
ども。
toSIPrefixだと、なんかおちつかない気分になります。
SI接頭辞はK/M/Gとかいうことですよね?ちょっとあわないような。

4,668,327→4.45Mというような、SI接頭辞を含む変換を行う
処理(関数)を明確にあらわす名前はないでしょうか?
793デフォルトの名無しさん:2009/05/26(火) 02:32:41
有効数字3桁くらいになるように、適当に接頭辞を付けたものを
human readable と表現することがあるが、そういうこと?
794デフォルトの名無しさん:2009/05/26(火) 02:40:34
ls --human-readableか。
795デフォルトの名無しさん:2009/05/26(火) 03:58:39
>>783
toBinaryPrefixNotation

BinaryPrefixというのがIEEEで定められてるので、そっからとってみた。
796デフォルトの名無しさん:2009/05/26(火) 04:14:49
BinaryPrefixは違うだろ。
797デフォルトの名無しさん:2009/05/26(火) 07:25:56
あってるだろ。
SI prefixだと 10^3, 10^6 の意味だからむしろ間違い。
798デフォルトの名無しさん:2009/05/26(火) 13:02:49
KiBとかMiBに変換するならあってる
799デフォルトの名無しさん:2009/05/26(火) 18:28:46
Cのマクロについてお願いします。

(1)
通常のassertマクロはリリース時には削除されるが、リリース時でも削除されないassertマクロの名前。
ASSSERT_ナントカみたいな名前が良さそうかな?と思っています。

(2)
与えられた文字列をエラーメッセージとして、強制終了するマクロの名前。
EXIT? DIE? HALT?


別スレに誤爆したけどくじけないぞ。
800デフォルトの名無しさん:2009/05/26(火) 18:58:40
(1)
ASSERT_PRECAUTION
ASSERT_IN_PRODUCTION_RELEASE
ASSERT_BETA_TEST
ASSERT_BETA_FOREVER
ASSERT_PARANOIA

(2)
perlにならってDIE
801デフォルトの名無しさん:2009/05/26(火) 19:37:45
手元の本を見てみたら、ASSERT_STRONGとHALTだった
802デフォルトの名無しさん:2009/05/26(火) 22:37:52
HALTってCPUが止まりそうでイヤンだな
803デフォルトの名無しさん:2009/05/26(火) 22:48:35
(2)は FATAL ってのをよくつかう。
804デフォルトの名無しさん:2009/05/27(水) 01:53:03
>>799
(1) 強制assertっぽいので、FORCE_ASSERT。
(2) 「強制終了」のイメージがありそうなHALT。
805783:2009/05/27(水) 02:15:08
>>793,794
>有効数字3桁くらいになるように、適当に接頭辞を付けたものを
>human readable と表現することがあるが、そういうこと?
気持ちとしては、まさにそのとおりです。
処理の名前として納得できるものがないようでしたら、そういう
雰囲気重視の名前がいいかもしれないです。

>>795
>toBinaryPrefixNotation
Notationがつくとまた印象がかわりますね。
また、Binary Prefixというのも参考になります。

ただ、名前の結論を待たずに、とりあえず関数を実装したのですが、
ちょっと雰囲気が変わりましたので、あらためてうかがいます。

変換したい値と、1000とか1024とか12とか(基数?)を引数で指定して、
それに基づく変換を行う処理はどんな名前がいいでしょうか?

たとえば :
f(1500,1000) => 1.5 (K)
f(2560,1024) => 2.5 (Ki)
f( 504, 12) => 3.5 (グロス)
806デフォルトの名無しさん:2009/05/27(水) 08:34:55
1回割ったとか2回割ったとかいう情報は失っていいの?
807デフォルトの名無しさん:2009/05/27(水) 13:55:43
英語としての ASSERT の意味をわかってないやつがいるようだ。
808デフォルトの名無しさん:2009/05/27(水) 14:28:04
>>799
1. CHECK, VALIDATE
2. FATAL_ERROR
809デフォルトの名無しさん:2009/05/27(水) 20:10:44
>807
具体的にどれさ

>808
ASSERT関係なくね?
810デフォルトの名無しさん:2009/05/27(水) 20:30:18
関数名なのですが、

引数に名前($name)を受け取って、
その名前がDBのテーブル内に存在すればそのIDを、
存在しなければ、新規に保存して、挿入したIDを返す
というような関数は、どんな名前が考えられますでしょうか?

findIdByNameでは可笑しいでしょうか?
よろしくお願いします。
811デフォルトの名無しさん:2009/05/27(水) 20:58:40
intern
812デフォルトの名無しさん:2009/05/27(水) 21:19:57
関数を使う側から見れば
既にDBにあろうが無かろうが関係なく、指定した名前に対するIDを貰ってくるという見た目は変わらないんじゃない?
813810:2009/05/27(水) 21:23:13
>>811
これは私宛でしょうか?
もう少しnameを渡してidを得るというニュアンスが欲しいのですが。

>>812
そうなんです。
というか、それを意識しないでいいようにするための関数なので、
上にも書いたように「nameを渡してidを得る」という意味だけでいいのですが・・・

こういう場合はfindじゃなくてgetのようがいいのでしょうかね・・・

getIdByName??
814デフォルトの名無しさん:2009/05/27(水) 21:36:14
fetchIdByName
815デフォルトの名無しさん:2009/05/27(水) 21:45:27
>>813
lispとかのinternはまさにそんな感じの動きするから。
816デフォルトの名無しさん:2009/05/27(水) 22:40:51
コレクションのメソッド名についてお願いします。

1.
コレクションからランダムに要素を取得するが削除しないメソッド

2.
コレクションからランダムに要素を取得し削除するメソッド

3.
コレクションのランダムな要素と引数に指定した要素を置き換えるメソッド

817デフォルトの名無しさん:2009/05/27(水) 23:14:20
Cみたいに、仮引数に名前をつけられるなら、関数名にNameをつけないで
そのまま GetId ( name ) というパターンもありそう。

Perlなら GetId( 'name' => $name ) とか出来た気がするし。
818デフォルトの名無しさん:2009/05/27(水) 23:30:57
>>816
ランダムって、適当にどれでもいいから一つって意味?
それとも呼ぶ側が指定した任意のアイテムって意味?
819デフォルトの名無しさん:2009/05/27(水) 23:37:33
>>816
1. getRandomItem()
2. getRandomItem_remove()
3. getRandomItem_swap()

>>818
「ランダム」といえば乱数的だろ。jk
820783:2009/05/27(水) 23:45:55
>>806
>1回割ったとか2回割ったとかいう情報は失っていいの?
ダメです。w
>>805の例では省いちゃったんですが、より詳しくは次のような感じ。

f(変換したい値,基数) => (変換された値,基数の乗数)

f(1500,1000) => (1.5,1) # 1500=1.5K
f(2560,1024) => (2.5,1) # 2560=2.5Ki
f(2097152,1024) => (2,2) # 2097152=2Mi
f(504,12) => (3.5,2) # 504=3.5グロス

なんか処理が具体的でもあり抽象的でもあり、しっかりした名前を
与えるには中途半端な印象なんですよねー。
821デフォルトの名無しさん:2009/05/27(水) 23:59:16
>>816
random_sample
random_pop
random_swap

でもメソッド?
randomな自然数を決めて添字アクセスができればどんなコンテナでもいいし、
関数でいいような気がするけどなー
822デフォルトの名無しさん:2009/05/28(木) 00:01:34
>>819
> 「ランダム」といえば乱数的だろ。jk

random access memory って別に乱数的じゃないわけで。ま、どうでもいいけど。
823デフォルトの名無しさん:2009/05/28(木) 00:09:04
>>820
NormalizeByRadix
824デフォルトの名無しさん:2009/05/28(木) 01:07:22
>>822
ランダムとランダムアクセスをいっしょくたにするやつはいないだろ。
825デフォルトの名無しさん:2009/05/28(木) 01:10:11
>>821
>>816の2は「要素の削除」をするようなので、コンテナオブジェクトの
メソッドにするのは当然なんでは。
それとも、まさかstd::remove()みたいな仕様にするのか?
826デフォルトの名無しさん:2009/05/28(木) 01:21:17
それよりも、>>820の1つ目の例がケルビンなのが気になる
827799:2009/05/28(木) 02:12:43
ごめんなさい、お礼言い忘れてました。
ありがとうございます。

828デフォルトの名無しさん:2009/05/28(木) 02:23:07
そういうときは各回答への感想とかどれを採用したとか書くとなおもりあがるぞ
829デフォルトの名無しさん:2009/05/28(木) 02:39:56
「ASSERTはリリース時に全部削ることにしたから」
「製品版で強制終了させるなら、きちんと別処理にしたほうがいいんじゃね」

なんてやりとりがあったことは秘密ですよ?
830デフォルトの名無しさん:2009/05/28(木) 14:23:24
要素を参照するとその要素が削除されるハッシュを作っているのですが
どんな名前が適切でしょうか?
831830:2009/05/28(木) 14:26:47
自己レス
要素がすぐ消えてなくなるから VolatileHash とかどうでしょうかね
わかりにくいか……
832デフォルトの名無しさん:2009/05/28(木) 14:47:16
ハッシュとはハッシュテーブルの集合か?
DestructiveReadoutHashSetかな

まあpop(set, key)関数でも作って使わせた方が良いと思うけど
833デフォルトの名無しさん:2009/05/28(木) 22:12:47
すっごく特殊なプライオリティキューみたい。
834デフォルトの名無しさん:2009/05/28(木) 23:21:57
VerySpecialPriorityQueueLikeHash
835デフォルトの名無しさん:2009/05/29(金) 01:02:38
メソッドでSQL文の要素(カラム名とか検索キーとか)を指定してSQL文を構築するクラスのフィールドで
カラムが固定されたかどうか(それ以上カラムを設定できない)を判定するフラグ変数の名前で迷ってます。
fixedはどうもバグフィックスのイメージが強いので他のキーワードってないでしょうか
836デフォルトの名無しさん:2009/05/29(金) 01:21:10
>>835
freezeしてfrozenになる、という話かと思ったら違うね。

必要な要素をいくつか指定していき、指定し終えた、よってさらなる指定は
できない、という判定をするものなら fulfilled はどうだろうか。

837デフォルトの名無しさん:2009/05/29(金) 03:55:42
>>836
freezeもいいですね。凍結するって感じで
でもfulfilledの方が「追加できない」って意味で合ってる感じがするので
fulfilledの方を使わせてもらいます。(fullfilledって間違えそう・・・)
ありがとうございました。
838デフォルトの名無しさん:2009/05/30(土) 09:03:26
命名とはちょっと違うかもしれないのですが、
foreachで変数を回すときに
itemsとかなら foreach ($items as $item) としているのですが、
seriesとかequipmentのように、
複数形と単数形の区別がない名詞の場合、
みなさんならどうしてますか?

かっこいい方法が知りたいです。
839デフォルトの名無しさん:2009/05/30(土) 09:37:28
ごく狭いスコープ内だけの変数は1〜2文字程度の
短い名前にした方が、ぱっと見で区別できて読みやすい。
局所的なのは短く、大域的になるにつれて長く。

自分の場合はね。
840デフォルトの名無しさん:2009/05/30(土) 10:31:25
なるべく使わないか、複数を表すならuncountな名詞でもあえてs付けたりするな。
どうような理由でbooleanを返すメソッドでareで始まるのが文法上ただしくても
あえてisで始めたりする。
841デフォルトの名無しさん:2009/05/30(土) 12:49:09
馬鹿が辞書ひっくり返して見つけたアレな単語の変数名とか見るともうゲンナリ
842838:2009/05/30(土) 12:49:44
>>839
foreach ($series as $s)
foreach ($equipment as $e)

こんなかんじですかね?
でもループが入れ子になると衝突する可能性がありますね。
$s1、$s2、$e1、$e2なんてのも、あとで手直しするときにめんどくさそうですし・・・

>>局所的なのは短く、大域的になるにつれて長く。
というのは、それを考慮してのことでしょうか?

>>840
foreach ($series as $serie)
foreach ($equipments as $equipment)

みたいに、無理やり複数or単数にするかんじでしょうか?
ここらへん、ネイティブの人がどうしてるのか気になるところですね・・・

後者は
isAdmin()、isAllow()
みたいなのは、全部isで統一するということですね。
自分はareにすべき、というのに出くわしたことがないのですが・・・
(気づいてないだけかも;)
843デフォルトの名無しさん:2009/05/30(土) 13:17:29
>>842

>$s1、$s2、$e1、$e2なんてのも、あとで手直しするときにめんどくさそうですし・・・
長かったらもっとめんどくさいんじゃね?
そもそも、混乱するほど何重にもネストしてるのは
ループの中を別の関数にわけた方が良いことを示してるのでは。

>>>局所的なのは短く、大域的になるにつれて長く。
>というのは、それを考慮してのことでしょうか?
局所的なのは、使われてる場所自体が、説明的な長い名前の代わりになる。
大域的になるにつれてそういう情報が少なくなるから、説明的な長い名前にする。
844デフォルトの名無しさん:2009/05/30(土) 13:18:38
部屋にものが2個しかなければ、「あれ」と「それ」で事足りるみたいな感じね。
845デフォルトの名無しさん:2009/05/30(土) 13:21:23
一文字違いの変数名を使うのは、泣きそうな間違いをする可能性がある
846デフォルトの名無しさん:2009/05/30(土) 14:20:36
javaで今時のideだとそんなに大きな問題じゃないよ
847デフォルトの名無しさん:2009/05/30(土) 14:26:27
eclipse で リファクタリングすればいいしね
848デフォルトの名無しさん:2009/05/30(土) 20:12:44
>>838
オレならなんでも「it」。
849デフォルトの名無しさん:2009/05/30(土) 20:47:18
「it」と呼ばれた変数
850デフォルトの名無しさん:2009/05/30(土) 21:11:03
$_ でいいやん
851デフォルトの名無しさん:2009/05/30(土) 21:18:11
itとかアナフォリックなマクロみたいだな
852デフォルトの名無しさん:2009/05/30(土) 21:47:11
穴掘りっ苦
853デフォルトの名無しさん:2009/05/30(土) 22:17:23
オナホ立国
854デフォルトの名無しさん:2009/05/31(日) 08:20:38
ある変数にprefixを適用した後の名前って、どんなのがいいですかね?
855855:2009/05/31(日) 08:23:42
fixed〜とかかな?
856デフォルトの名無しさん:2009/05/31(日) 11:31:53
日付形式の画面入力項目(txtCloseDate)を受け取るstring型変数と、それを変換したDateTime型変数。
型のプレフィックスを付けない場合はどう名付ければいいでしょうか?
857デフォルトの名無しさん:2009/05/31(日) 11:53:34
in_str
date

型のプリフィックじゃなくて、入力を示すアプリケーションハンガリアン
858デフォルトの名無しさん:2009/05/31(日) 18:44:24
>>799
つverify()
859デフォルトの名無しさん:2009/06/02(火) 17:04:32
構造体のメンバ変数名なんだけど、hogeCountってhogeCntみたいに省略します?
860デフォルトの名無しさん:2009/06/02(火) 17:14:16
俺は省略しない派
861デフォルトの名無しさん:2009/06/02(火) 18:03:44
俺は省略する派
862デフォルトの名無しさん:2009/06/02(火) 18:15:09
どっちだよw
誰か論理的に語ってくれよ
863デフォルトの名無しさん:2009/06/02(火) 18:35:44
>>859
nHoge

ハンガリアンで何が悪い!
864デフォルトの名無しさん:2009/06/02(火) 19:02:07
省略する必要がなければ省略しなきゃいい
865デフォルトの名無しさん:2009/06/02(火) 20:20:57
>>863
ハンガリアンとか関係ないだろw
略すか略さないかの問題なんだよ
Count消えてるじゃねえか
866デフォルトの名無しさん:2009/06/02(火) 20:35:17
じゃ cHoge
867デフォルトの名無しさん:2009/06/02(火) 20:36:53
変数名では省略
メソッド名では省略しない。
868デフォルトの名無しさん:2009/06/02(火) 20:42:24
原則省略しない。
自分も含めてチームの全ての人が一見して即わかるなら省略して良い。
869デフォルトの名無しさん:2009/06/02(火) 21:31:21
msgとかresとかは?
どっかでこういうのの一覧みたことあるんだけど、どこだったかなぁ?
870デフォルトの名無しさん:2009/06/03(水) 00:09:59
>>868
引き継ぐ人カワイソス
871デフォルトの名無しさん:2009/06/03(水) 01:17:28
msg=マッサージ
872デフォルトの名無しさん:2009/06/03(水) 02:42:14
privateなシンボルならそれ程気にしないで略称使う。
忘れても最悪1ファイル分解読すれば済むし。
publicなら意味が曖昧にならないよう念入りに推敲する。
873デフォルトの名無しさん:2009/06/03(水) 03:09:29
状況によるってのが結論っすね。
874デフォルトの名無しさん:2009/06/03(水) 11:38:41
str,msg,cntくらいなら略しても意味が伝わらないことは無いんじゃないかなあ。
875デフォルトの名無しさん:2009/06/03(水) 12:47:27
initとか全部書きたくないっすよ。
876デフォルトの名無しさん:2009/06/03(水) 13:08:44
やっぱりここは国際化
Internationalizationのように美しく略さないと
877デフォルトの名無しさん:2009/06/03(水) 19:06:29
一つのモジュールの中にinitとinitialize(cntとcount、msgとmessage)の両方が定義してあるとか勘弁してくれ
878デフォルトの名無しさん:2009/06/03(水) 19:17:54
privateなinitなんちゃらがいくつかあって、それらの親玉のinitializeが1個publicになってるのとかよく書いてる。
879デフォルトの名無しさん:2009/06/03(水) 21:44:51
今時の補完って結構かしこいから単語は必要なだけ長くてもいい。
で、英語が多くなってくるとプロポーショナルフォントの方が読みやすかったりする。
880デフォルトの名無しさん:2009/06/03(水) 22:39:39
>>879
読みやすさだけに限ればなんとか理解できなくもないが、
プログラムにプロポーショナルフォントなんて虫唾が走る
881デフォルトの名無しさん:2009/06/03(水) 22:54:21
そう思ってたことが僕ry
882デフォルトの名無しさん:2009/06/03(水) 23:20:08
プロポーショナルで満足できるって
よっぽどひどいディスプレイとIDEとフォントと・・・全部だめなの使ってるんだろうな
883デフォルトの名無しさん:2009/06/03(水) 23:29:21
わざわざやらないけど、タブでちゃんとインデントさえ出来れば意外と我慢できるよ。
884デフォルトの名無しさん:2009/06/03(水) 23:47:52
我慢なんてやだね
885デフォルトの名無しさん:2009/06/04(木) 01:10:06
インデントが破綻しないなら
プロポーショナルもありかもなぁ
886デフォルトの名無しさん:2009/06/04(木) 01:23:04
行頭だけならタブの個数で制御できるけど、
行中のコメント位置を揃えたいとかなると、
フォントが変われば即破綻だな。

つか、スレチだぜ。
887デフォルトの名無しさん:2009/06/04(木) 18:43:46
このスレチェックするの忘れてた。
お気に入り登録し過ぎたか
888デフォルトの名無しさん:2009/06/04(木) 18:54:08
俺も最近はプロポーショナルだわ。
行頭以外でカラムはそろえないようにしたから、特に不自由はない。
889デフォルトの名無しさん:2009/06/04(木) 19:09:29
C++だけどメンバ変数にm_って付ける?

void setHoge(int hoge){
 m_hoge = hoge;
}

void setHoge(int hoge){
 this->hoge = hoge;
}

どっちが主流なんだろ?
メンバ変数、引数、ローカル変数名が紛らわしいときいつも困る
890デフォルトの名無しさん:2009/06/04(木) 19:11:46
俺は尻に_付ける。

引数やローカル変数と被ると言うよりはメンバメソッドとの重複を避けるためだが。
891デフォルトの名無しさん:2009/06/04(木) 19:22:34
メンバ変数の尻に_ってのは初耳だなぁ
結構一般的な方法なのかな

あと
メソッドって動詞にしかならないイメージだから
メンバ変数と被るケースってのがちょっと自分には想像できないな…
892デフォルトの名無しさん:2009/06/04(木) 20:08:57
そお? ケツに _ は、わりとメジャーだと思うけどなぁ
m_ はなんか重くて

this-> はどっかにやるなって書いてなかったっけ?
893デフォルトの名無しさん:2009/06/04(木) 20:20:49
>>891
うちではアクセサにget/setを付けないことになってるから。
void count(size_t value) { this->value_ = value; }
size_t count() const { return this->value_; }

末尾_はインテリセンスと相性がいいから、結構使われてると思うよ。
894デフォルトの名無しさん:2009/06/04(木) 20:52:51
俺も末尾_派
895デフォルトの名無しさん:2009/06/04(木) 21:08:15
結構一般的なのね。
ありがと。
自分もなるべく一般性の高いやり方にしたいから末尾_使うようにする。

>>893
>末尾_はインテリセンスと相性がいいから、

これちょっとわからないんだけど
インテリセンスの候補から視覚的に探しやすいってこと?

―って質問文を書いたら今気付いた。
先頭m_だと候補から選ぶとき最低3文字入力しないといけないからか。
896デフォルトの名無しさん:2009/06/04(木) 21:34:36
末尾にアンダースコアはunix系で良く見る。
897デフォルトの名無しさん:2009/06/04(木) 22:45:07
メンバ変数は

mHoge

視認性が末尾_より高く、インテリセンスもm_よりはshift不要で入力が楽な上に
メンバ変数だけを候補に絞れるから楽
これ最強

あんまし見ないけど
898デフォルトの名無しさん:2009/06/04(木) 22:58:54
視認性つっても色変えればいいだけじゃん。
色弱対応?
899デフォルトの名無しさん:2009/06/04(木) 23:00:17
エディターの機能が充実してくると要らなくなるよね
900デフォルトの名無しさん:2009/06/04(木) 23:19:22
そりゃVSでメンバだけ色替えできたら助かるけど
901デフォルトの名無しさん:2009/06/04(木) 23:27:47
m_はVC使いに多い(MFCとかで一般的だから)。_を前につけるのがC/C++標準で非推奨になったので
後ろにつけるのが最近の流行。
902デフォルトの名無しさん:2009/06/04(木) 23:31:47
MFCで作るときだけはm_の慣習に従うな。
クラスの頭にCとかも。
903デフォルトの名無しさん:2009/06/04(木) 23:47:20
m_ は古めなイメージ
904デフォルトの名無しさん:2009/06/05(金) 00:07:43
土下座AAみたいだ
905デフォルトの名無しさん:2009/06/05(金) 01:20:58
>>897
mHogeでも大文字にするためにシフト必要じゃね?
906デフォルトの名無しさん:2009/06/05(金) 01:24:47
MetrowerksのPowerPlantがそれを採用していた。
907デフォルトの名無しさん:2009/06/05(金) 01:40:01
>>905
VC2003で確かめてみたがshiftは不要。mhと入力するだけでmHが候補に挙がる。
万が一mhで始まるメンバが他にあるなら小文字のh側が優先されるが、まずないだろうし。
908デフォルトの名無しさん:2009/06/05(金) 19:25:12
まずないと言い切れる根拠が判らんが、お前がそう言うんならそうなんだろう。
909デフォルトの名無しさん:2009/06/05(金) 19:40:10
C#だと付ける場合は先頭に_が主流かな。
910デフォルトの名無しさん:2009/06/05(金) 21:01:49
javaも付けるなら前だな。付けないけど。
911デフォルトの名無しさん:2009/06/05(金) 22:13:06
m_H_m 前後に付けるのが流行る
912デフォルトの名無しさん:2009/06/05(金) 22:19:28
for (; ;) { m_OoO_m ; ; }
913デフォルトの名無しさん:2009/06/05(金) 23:25:44
>>907
mAppleというメンバがあって
maxというメソッドがあったり

mIciroというメンバがあって
mixというメソッドがあったり

mUntanというメンバがあって
muteというメソッドがあったり

mEnemyというメンバがあって
mesというメソッドがあったり

mOrangeというメンバがあって
moveというメソッドがあったり
914デフォルトの名無しさん:2009/06/06(土) 02:36:15
>>913
命名規約がなかったり無視されたりしがちな社内製作、社内利用の
アプリケーションなんかだと良くあるよね。

とりあえずRubyみたいにメンバ変数は"@"で始まるとか
文法で決めてしまってくれたほうがすっきりして良いと思うんだけど、
Java改良版(と個人的に思っている)のC#でも採用されないところをみると、
みんなあんまり好きじゃないのかな?
915デフォルトの名無しさん:2009/06/06(土) 02:41:16
いっそのことJSやらPythonやらみたいにthis強制でいいと思う
916デフォルトの名無しさん:2009/06/06(土) 04:45:29
DAOのメソッド名を考えています。
命名規約のようなものが見つからないので、
とりあえず自分では以下のように考えているのですが、
何か駄目出しがあったら教えて下さい。

find(一覧取得)とget(一行取得)の使い分けが
微妙かなーと思っているのですが...

count() - レコードの総件数を取得
countByFoo - 条件指定の件数取得
countByFooAndBar - 条件が複数ある場合の件数取得
countByCondition - 条件が多数ある場合の件数取得

findAll() - レコード全て取得
findByFoo - 条件指定の一覧取得
findByFooAndBar - 条件が複数ある場合の一覧取得
findByCondition - 条件が多数ある場合の一覧取得

getByFoo - 条件指定の一行取得
getByFooAndBar - 条件が複数ある場合の一行取得
getByCondition - 条件が多数ある場合の一行取得

insert - 追加

update - 全件更新
updateByFoo - 更新

delete - 全件削除
deleteByFoo - 条件指定の削除
917デフォルトの名無しさん:2009/06/06(土) 07:07:58
「最後にHogeを○○した時刻」を示す変数は、どういう名前にしたら良さげかな?
○○には、実行、更新、取得などの動詞が入る予定。ちなみに保持する時刻の単位はミリ秒。

 last_time_when_do_hoge?
 last_time_when_did_hoge?

なんか長いよ…。



>908
言われてみれば、プリフィクス以外で、mhで始まる単語はパッとは思いつかない…気もする。

>914
Perlは前に付ける記号で意味が変わってくるからなあ。
@$hogeみたいに複数くっつく場合とか、もうね……。

918デフォルトの名無しさん:2009/06/06(土) 07:48:14
一番要らないものを順に省いてってよさげなところでとめてみる
when
time
hoge



last_XXXed
last_YYYed
919デフォルトの名無しさん:2009/06/06(土) 08:03:43
XXXed_at
920デフォルトの名無しさん:2009/06/06(土) 08:18:01
latest_XXed_msec
921デフォルトの名無しさん:2009/06/06(土) 08:36:27
ありがとうございます。参考にしてやってみます。
>919さんの方法はちょっと目ウロコでした。
922デフォルトの名無しさん:2009/06/06(土) 12:12:37
必要な語を全部入れなければいけないなら長くはなるだろうな。
time whenのかわりに最後にatを付けるなどして、
last hoge update at (最後にhogeを更新した時刻)などとしては?
923デフォルトの名無しさん:2009/06/06(土) 12:14:37
りろー(ry
924デフォルトの名無しさん:2009/06/06(土) 12:14:55
MS的にはLastWriteTime, LastAccessTime
925デフォルトの名無しさん:2009/06/06(土) 12:59:24
どれくらいのスコープで使うの?
大きいスコープなら長めの変数名でいいと思うけど
926デフォルトの名無しさん:2009/06/06(土) 18:33:34
>925
10行くらいの関数の中。ごめんなさい。
927デフォルトの名無しさん:2009/06/06(土) 19:37:17
>>917
lastDoneTime
928デフォルトの名無しさん:2009/06/07(日) 01:30:50
.NETでフォームアプリケーションを作っているのですが、
コンボボックスに日付を入れるようなメソッドのプレフィックスは何がいいでしょうか。
今はsetXXXXToComboBox1のようにsetを付けています。
addやappendはなんとなく違うような気がして。

また、引数でbool値を渡して、それによって動作が変わるような変数は
どのような名前が良いでしょうか。
動作自体を切り変えるような場合はshouldXXXX、
戻り値を切り変えるような場合はrequiredXXXXにしています。
929デフォルトの名無しさん:2009/06/07(日) 01:46:19
shouldもrequiredも無くしてXXXXだけの方がいい
つか「戻り値を切り替える→required」てのが意味わからん
930デフォルトの名無しさん:2009/06/07(日) 02:20:39
booleanを与えて動作自体を切り替えるがshouldていうのもわけわからん。

931デフォルトの名無しさん:2009/06/07(日) 10:37:45
Addがいいよ。
bXxxxでええよ
932デフォルトの名無しさん:2009/06/07(日) 11:10:59
>bool値を渡して、それによって動作が変わるような変数

引数の形式でどうやって命名するんだ。
機能を言ってくれんとなんともいえん。
933デフォルトの名無しさん:2009/06/07(日) 11:13:33
cmd というプリフィクスも、ないことはない
934デフォルトの名無しさん:2009/06/07(日) 11:16:35
ここは定石通りにhogehogeflagという方向でですね
935デフォルトの名無しさん:2009/06/07(日) 13:36:06
>>929,930,932
混乱させてしまい、すみません。説明が不明瞭でした。
「○○が必要か否かを示すフラグ」の名前を悩んでいたのです。
shouldXXXXの方は例えば以下です
void addCurrentDateToComboBox1(bool 現在の内容を消すフラグ)

requiredXXXXの例は以下
string convertStringToDate(bool 不正時にNULLを返すフラグ)

定石であるisやcan, hasで置き換えられなく、
といってEnumを作るまでもないような…というような場合です。
個人的には>>929さんの案でいいような気がしてきました。
変に接頭辞つけない方が返って分かりやすそうです。

>>931
いったん初期化してしまうような場合は何がよいでしょうか。
例えばLabelに新しい文言をセットするような場合です。
936デフォルトの名無しさん:2009/06/07(日) 14:08:07

discardPreviousState


returnNullOnError

みたいにその変数がフラグであるとか意識せずに
単に振舞いの内容を使ってそのまま命名したらいいんじゃないのでしょうか?
937デフォルトの名無しさん:2009/06/07(日) 14:08:51
>void addCurrentDateToComboBox1(bool 現在の内容を消すフラグ)
→2つに分ける。
void ComboBox1::addCurrentDate()
void ComboBox1::replaceToCurrentDate() or ComboBox1::setCurrentDate()

>string convertStringToDate(bool 不正時にNULLを返すフラグ)
→falseを与えたとして不正時にどうするつもりだ?
938デフォルトの名無しさん:2009/06/07(日) 14:13:49
>falseを与えたとして
例外が飛んできます(例: emacsのre-search-xxx)
939デフォルトの名無しさん:2009/06/07(日) 14:17:53
isToBeDeleted
940デフォルトの名無しさん:2009/06/07(日) 14:19:57
>>935
なるほど。
想像できんかったのでてっきり
hoge.do(false); //海を泳ぐ
hoge.do(ture); //空を飛ぶ
↑こんなのかと思った。

自分なら
isCurrentDelete
isNullReturn
英語的にはおかしいが意味が明瞭なので
941デフォルトの名無しさん:2009/06/07(日) 14:51:07
>英語的にはおかしいが意味が明瞭なので
意味不明でしょ。
942デフォルトの名無しさん:2009/06/07(日) 14:55:06
>>941
もうちょいマシな代案よろ
943デフォルトの名無しさん:2009/06/07(日) 15:47:54
clearContent
exceptionDisabled

944デフォルトの名無しさん:2009/06/07(日) 16:23:22
動作が切り替わるのも、戻り値が切り替わるのも、
メソッドを使う側から見れば等価じゃないのかな?

あと、.NETはよく分からないんだけど、もし複数の戻り値を設定できるなら(Cのポインタ渡しみたいに)、
いっそのこと全パターン返して、呼び出し側に好きなように使ってもらうとかどうだろうか。

本物の戻り値は、常にエラーや例外があったかどうかを返すようにして。


>941
>英語的にはおかしい
複数形が単数形になってるとか、一部の単語が抜けてるとか、単語の順番が逆とかならよくある……あるよね?
945デフォルトの名無しさん:2009/06/07(日) 16:58:18
>>935
接頭辞つけなくていいよ
shouldの方はこういう例と一緒でしょ
http://msdn.microsoft.com/ja-jp/library/36b035cb(VS.80).aspx
public StreamWriter (
string path,
bool append
)
requiredの方はフラグがfalseのとき不正なら例外投げるの?
TryParseとParseとConvertあたりを参考にしてみては?
946デフォルトの名無しさん:2009/06/07(日) 17:26:00
ループで使う処理があり、その初期化を行う関数 Func1、Func2 の名前をお願いします。
Cを前提としています。

 Func1( ); //ループの前に一度だけ行われる初期化
 while ( 1 )
 {
   Func2 ();  //ループの先頭で行われる初期化

   /* メイン処理 */
 }
947デフォルトの名無しさん:2009/06/07(日) 17:33:31
具体的にナニを処理すんの?それによって変わる。
それともどんな処理にも適合する汎用的な名前がほしいってこと?
948デフォルトの名無しさん:2009/06/07(日) 17:41:42
汎用的な方で。
実際にはfooとかbarとか付くことになると思う。
949デフォルトの名無しさん:2009/06/07(日) 17:53:44
具体的な処理の内容次第
例えばファイルを列挙するなら

if(FindFirstFile())
 do{
  ...
 }while(FindNextFile())

無理やりつけるならinit, poll/main〜/executeとかか
950デフォルトの名無しさん:2009/06/07(日) 17:53:46
InitializeFoo
InitializeBar
951デフォルトの名無しさん:2009/06/07(日) 17:56:45
>949
First/Nextみたいなのは面白いなあ。

>950
それ、どっちがどっちだか分かんない。
952デフォルトの名無しさん:2009/06/07(日) 17:57:37
ループの前だとか先頭だとかいう情報は名前に要らない
953デフォルトの名無しさん:2009/06/07(日) 18:01:00
InitializeBeforeLoop
InitializeInsideLoop
954デフォルトの名無しさん:2009/06/07(日) 18:14:56
initialize_1
initialize_2
955デフォルトの名無しさん:2009/06/07(日) 19:37:04
>>944
.NET だと普通は、

Hoge メソッド ― 戻り値は処理の結果、エラー時は例外発生。
TryHoge メソッド ― 戻り値は処理の成否、出力パラメータ(参照渡しみたいなもの)で結果を返す。エラー時は型のデフォルト値。

という使い分けが定石。
どうしても引数で挙動を変えたい場合は throwOnError が鉄板。
956デフォルトの名無しさん:2009/06/07(日) 22:56:10
>>943
参った
俺よりは遥かにマシだな
957デフォルトの名無しさん:2009/06/07(日) 23:33:44
>>935
addCurrentDateToComboBox1(bReset)

convertStringToDate(bPermitNull;Ret)
958デフォルトの名無しさん:2009/06/07(日) 23:54:06
劣化したな
959デフォルトの名無しさん:2009/06/08(月) 03:48:29
おや余計なところに「;」入ってら
960デフォルトの名無しさん:2009/06/08(月) 05:20:02
begin〜/end〜みたいなのはよく見かける。
961デフォルトの名無しさん:2009/06/08(月) 16:32:40
coefficientって略すならどう略します?
ローカル変数なので短くしたいと思ってます。
962デフォルトの名無しさん:2009/06/08(月) 17:25:54
何かの「履歴」(たとえば、値段の推移履歴など)を格納するテーブル名の場合、
historyとhistories、どちらが妥当でしょうか?
それとも、old_pricesなどのほうが分かりやすいでしょうか?

よろしくお願いします。
963デフォルトの名無しさん:2009/06/08(月) 19:01:27
>>962
ジャーナルとは違くて?
964デフォルトの名無しさん:2009/06/08(月) 19:06:32
enumの値をswitchに入れてサブクラスをnewするという処理で、enumの名前に迷ってます
allocate(CInterface *&pInterface, enum EXxx eXxx);
みたいな感じにしたいんですが、何かいい名前はありますでしょうか?
サブクラスの名札という意味でEHogeTagとかEHogeIDを候補に考えてるんですがなんか違うような気がします
965デフォルトの名無しさん:2009/06/08(月) 20:43:45
>>961
c
966デフォルトの名無しさん:2009/06/08(月) 21:17:43
>>964
クラス内enumで被らないようにしてtypeとかでいいんじゃね?
967デフォルトの名無しさん:2009/06/08(月) 21:37:44
>>961
coeff.
968デフォルトの名無しさん:2009/06/08(月) 23:47:39
>>965
1文字にまでするとさすがに分かりにくそうで・・・。
>>967
これにします。
ありがとうございました。
969デフォルトの名無しさん:2009/06/09(火) 08:55:15
ショッピングカートで、
実際に購入できる、商品の最小単位(色、サイズなどの組み合わせなど)を表したいのですが、
なにかよいネーミングはないですか?

Skuじゃかっこわるいし・・・
Variation?
ProductInstanceじゃ変かな・・・
970デフォルトの名無しさん:2009/06/09(火) 10:06:22
skuってかっこわるいの?
971969:2009/06/09(火) 10:18:25
>>970
かっこわるいというか、
SKUって、名前というより、概念というかんじがするので・・・
もうちょっとcountableな(?)感じにしたいんです。

Variantとか、AttributeCombinationとかも考えたのですが、
そもそも色やサイズが存在しない商品もあるので、ちょっと違うかなと・・・うまく説明できませんが;
972デフォルトの名無しさん:2009/06/09(火) 10:25:19
skuってカウンタブルじゃないの?
973デフォルトの名無しさん:2009/06/09(火) 18:43:04
SellableUnit
974デフォルトの名無しさん:2009/06/09(火) 18:57:23
よしわかった。 StockKeepingUnit だ!
975デフォルトの名無しさん:2009/06/11(木) 20:26:24
なぁ、プログラミング始めた始めたばかりなんだが
ちゃんとしたURLかチェックするクラスを作っているんだが、どんな名前がいい?
無難にCheckUrlとかしてみたんだが、似たような事をするメソッドが多くて
976デフォルトの名無しさん:2009/06/11(木) 20:33:29
isGoodURL
977デフォルトの名無しさん:2009/06/11(木) 20:33:37
IsURLFormatValid
978デフォルトの名無しさん:2009/06/11(木) 20:37:36
ValidateURL
979975:2009/06/11(木) 20:41:10
>>976-977がisから始まっていたから、Java SE6 API リファレンスを見てみたけど、
戻り値がboolean&何かをチェックするメソッドなら、普通はisから始まるわけ?
質問ばっかりでスマソ
980デフォルトの名無しさん:2009/06/11(木) 20:52:41
メソッドは動詞で初める、という習慣はよくある
だから状態を調べるメソッドだとisになりやすいね
981975:2009/06/11(木) 20:55:57
>>980
なるほ、そうだったのか
ありがとうございます
982デフォルトの名無しさん:2009/06/11(木) 21:14:07
isValidURL
983デフォルトの名無しさん:2009/06/11(木) 21:21:03
今日見たサンプルソースにrioとmihiroが居た
公衆トイレの落書き並みにコメントが盛り上がっててわらた
984デフォルトの名無しさん:2009/06/11(木) 22:06:12
>>982が最も適切
985デフォルトの名無しさん:2009/06/11(木) 22:12:58
クラス名ならURLValidatorだな。
で、Validation関連のインタフェース(なければ作成)で定義された
isValidメソッドを実装する、と。
986デフォルトの名無しさん:2009/06/11(木) 22:26:07
>>984
お題がクラスっていってるのに何いってんの。
987975:2009/06/11(木) 22:30:02
なんか、ム板は他の板とは違ってみんな熱心に考えてくれるね
ありがとうよ〜
988デフォルトの名無しさん:2009/06/11(木) 22:35:43
性格悪そうなやつばっかりだけど答えはくれるんだよな。マ板はツンデレのすくつだよ
989デフォルトの名無しさん:2009/06/11(木) 22:35:54
どういたしまして
990デフォルトの名無しさん:2009/06/11(木) 22:40:04
>>987
聞きたかったのはメソッド名?クラス名?
991975:2009/06/11(木) 22:41:05
>>990
メソッドです
紛らわしいレスして、すいません
992デフォルトの名無しさん:2009/06/11(木) 22:48:25
ワロタ
993デフォルトの名無しさん:2009/06/12(金) 01:25:26
ウィンドウのクライアント領域への出力やコンソール出力、ファイルへの書き出し
この手の出力クラスの基本クラスの名称はどうしたらよいでしょうか?
994デフォルトの名無しさん:2009/06/12(金) 01:30:03
OutputStream
995デフォルトの名無しさん:2009/06/12(金) 08:09:35
.NET的にはサフィックスにBaseを付けるのもありか。
しかし、そんなクラスが必要なのだろうか。
ちょっと用途が見えない感がある。
996デフォルトの名無しさん:2009/06/12(金) 08:57:46
Screen
Canvas
ReportArea
TextBaseCanvas
997デフォルトの名無しさん:2009/06/12(金) 10:53:25
StreamWriter/TextWriter
998デフォルトの名無しさん:2009/06/12(金) 12:25:28
クラスの定義:未定義、有効:無効を調べるメソッドを持ったインターフェースとそのメソッドの名前は何がいい?
例えば行列の行がゼロや負だと未定義
配列の確保に失敗してたら無効
みたいな感じで
999デフォルトの名無しさん:2009/06/12(金) 13:11:52
Maybe, isJust
1000デフォルトの名無しさん:2009/06/12(金) 16:11:49
質問の意味が分からない
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。