クラス名・変数名に迷ったら書き込むスレ。Part14at TECH
クラス名・変数名に迷ったら書き込むスレ。Part14 - 暇つぶし2ch331:デフォルトの名無しさん
09/02/17 02:16:45
>>324
ToN入ってたのかw

332:デフォルトの名無しさん
09/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 = "hoge1@hogemail.hoge"; //mailAddress1.IsMissing ⇒ false & mailAddress1.IsCheck ⇒ true
mailAddress2 = "hoge2@hogemail.hoge"; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ true

ほんと、書いててむなしくなるな・・・

333:デフォルトの名無しさん
09/02/17 02:31:49
>>330
>>318はどこかの誰かのアンカミスで、ToNに宛てて言ってるんだろ?
そうとしか思えない。いや、それ以外ありえない。

334:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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 = "hoge1@hogemail.hoge"; //mailAddress1.IsMissing ⇒ false & mailAddress1.IsCheck ⇒ true & mailAddress.IsValidate ⇒ true
mailAddress2 = "hoge2@hogemail.hoge"; //mailAddress2.IsMissing ⇒ false & mailAddress2.IsCheck ⇒ true & mailAddress.IsValidate ⇒ true

つか、そう考えると入力判定にIsRequire属性必須だよな
空文字はメアドチェックにははじかれるけど、入力必須でなければバリデート結果はtrueだからな。
まさに書いててむなしくなるな・・・


336:デフォルトの名無しさん
09/02/17 03:49:58
>>335
IsCheck==IsValidate
俺ならIsValidプロパティかValidateメソッドで実装するな

337:デフォルトの名無しさん
09/02/17 06:16:46
TONさん議論の入り口にも立ててなくてワロス
ワザとやってるんだろうか

338:デフォルトの名無しさん
09/02/17 06:23:06
IsValidate はまず品詞がおかしい

339:デフォルトの名無しさん
09/02/17 09:43:08
IsCheked
IsValid


340:デフォルトの名無しさん
09/02/17 09:58:20
論旨に影響しない瑣末な違いだ

341:デフォルトの名無しさん
09/02/17 10:11:52
このスレにとっての本題だがな

342:デフォルトの名無しさん
09/02/17 10:17:46
いつの間にか設計の話するスレになってたんだな

343:デフォルトの名無しさん
09/02/17 10:21:41
設計の話と言うか
おぶじぇくとしこういちねんせいのToNに虚しさを感じながらも無駄な説明を繰り返すスレ

344:デフォルトの名無しさん
09/02/17 10:29:51
トンはもう秋田

345:デフォルトの名無しさん
09/02/17 17:28:10
さぁTONさんタイムがやってまいりますた!!

346:デフォルトの名無しさん
09/02/17 19:33:32
>>327
さすがに頭おかしくないか?
>>317とかそれのどこが「自動」なんだ。
>>264で指摘しているように、ただ判定処理が書かれるコードの場所が変わってるだけだろ。

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

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

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

なんていうか、まともなコード書いたことない奴が本読んだだけで
物を言ってるのがバレバレだなw

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

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

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



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

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

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

とかされた場合、どうするの?

349:デフォルトの名無しさん
09/02/17 19:55:40
ごめん
ma.IsRequired = false;
に訂正

350:デフォルトの名無しさん
09/02/17 19:57:14
っていうか、ここまで言ってまだ分からんかなあ。。

351:デフォルトの名無しさん
09/02/17 20:01:53
横に長いコード書くなよ。うちの専ブラの使い方で見づらい

352:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/02/17 20:07:53
>>348
IsRequiredをtrueなりfalseと設定したいから、そう記述するんだろ?
お前はいちいちプロパティが改変されることを予見してすべてプログラムするのか?


354:デフォルトの名無しさん
09/02/17 20:09:51
>>352
おいおい何を言ってるんだよトチ狂ったかw

そもそも外(UI)から操作される値の話をしてるのに、
外から操作してはダメな値を操作するのがおかしい、ってどういう意味だよ。
もう一度>>230から読んで話の文脈をちゃんと理解して何かいってよ。

355:デフォルトの名無しさん
09/02/17 20:12:13
>>353
それこそOOPを理解してる?
普通に考えれば、IsRequiredは外から操作されたくない値だろう。

>>230の意図はそうじゃないよ、って言いたいの?
じゃあまあ>>230の意図はおくとして、IsRequiredが外から操作されたくない
値だったら(普通にありふれたシナリオだと思うが)どうするの・

356:デフォルトの名無しさん
09/02/17 20:15:42
>>354
おいおい、お前頭がおかしいんじゃないか?
なら、絶対に表示しなければならないGUI部品のTextBoxがあったとして、
そのTextBox.Visibleを絶対に変更されないような仕組みをわざわざ作る必要なんてないだろ?
使う本人が分かればいいんだから。IsRequiredも同じだろ。


357:デフォルトの名無しさん
09/02/17 20:17:19
>>355
>普通に考えれば、IsRequiredは外から操作されたくない値だろう。
いや、汎用のクラスライブラリとしては、普通に操作できて当たり前だろ。


358:デフォルトの名無しさん
09/02/17 20:18:12
っていうか、正直>>230のような目的で>>251式にデータ自身に
メソッドやプロパティを持たせるかどうかは意見が分かれるところだとは思うけど、
IsRequiredはクラスメンバの値を公開するようにすべき、ってのは
まともなプログラマが100人いたら100人が同意する話だと思うぜ。

359:デフォルトの名無しさん
09/02/17 20:19:25
質問
bool値を返す関数ってよくIs~って名前付けるよね?
でも『A君はB君の方を見ていますか?』みたいな文の場合、
英語にするとDoes~で始まると思うんだけど、
こういうときの関数名はどうするべき?



360:デフォルトの名無しさん
09/02/17 20:21:00
>>359
CanASeeB

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



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

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

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

もちろんそういう用途が皆無とはいえないはずだが、普通はないよ。

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

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

>CustomerクラスのMailAddress1プロパティが必須かどうか、なんて値を
>外から操作できてどうするんだよw
CustomerクラスのMailAddressプロパティなんて>>230は話してないだろ?
何で勝手に自分の都合のいい解釈してんの?
それに>>317をみれば、それぞれのデータにIsRequiredプロパティがあるほうが
わかりやすいだろ?


364:デフォルトの名無しさん
09/02/17 20:32:26
>>359
A.IsLook( B );
でいーんじゃないかなぁ。もしくは
A.IsLooking( B );
これで伝わると思うんだけど。。。

365:デフォルトの名無しさん
09/02/17 20:44:00
>>362
業務ソフトは入力値のvalidationばかりだから
それにリソースを取られないようにクラスライブラリ化するのは当たり前でしょ
mailaddressの未入力を許可するみたいなのこそベタベタの汎用処理だと思うぞ

366:デフォルトの名無しさん
09/02/17 21:02:15
ToN敗走

367:デフォルトの名無しさん
09/02/17 21:10:43
>>363
んもー鳥頭さん?
>それに>>317をみれば、それぞれのデータにIsRequiredプロパティがあるほうが
>わかりやすいだろ?
まず最初に、そこは異論ないよ。
何度も言うように、意味論的にはオカシイんだけど。(正直これに違和感感じない人間にOOP論じる資格なし)

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

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

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

>>365
自分で自分の足を(撃とうと思えば)撃てるのはかまわないが、
安全装置を(組み込もうと思っても)組み込めないようなライブラリなんかに価値はないよ。

368:デフォルトの名無しさん
09/02/17 21:12:58
つーか、だからそもそもライブラリの話してないしさ。

369:デフォルトの名無しさん
09/02/17 21:18:57
>>367
>何度も言うように、意味論的にはオカシイんだけど。
おかしくないよ。これをおかしいと思うひとにオブジェクト指向を語る資格なし。

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

>安全装置を(組み込もうと思っても)組み込めないようなライブラリなんかに価値はないよ。
継承して隠蔽すればいいじゃん。
汎用的に使えないライブラリなんかに価値はないよ。

370:デフォルトの名無しさん
09/02/17 21:23:10
はいはい、そうだねお前らが正しいよ
お前ら釣られまくりでバカじゃねーの?wwwwww

しねばいいよwwwwwwwwwwwwwwww

371:デフォルトの名無しさん
09/02/17 21:25:56
>>370
ton氏ね

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

238を読んで、あーこういう脳みそがななめってるうざいやつってうちの現場にもいるなーって
オレも思ったし、お前も思っただろう。そいつは多分今も仕事中ww

373:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/02/17 22:04:43
いくらバカでもせいぜいflagとかにしちゃうぐらいだと思うがなぁ

375:デフォルトの名無しさん
09/02/17 22:12:16
IsRequiredプロパティ設定可否だの、定数での設定だの、
方法論はいろいろあるけど、変更できる人には、変更できちゃうんだから、
定数値でも意味がないだろ。
変更したくなければプロパティを隠蔽すりゃいいんだから。

376:デフォルトの名無しさん
09/02/17 22:14:58
なんかへそ茶だな。
2chで(馬鹿な)君に賛同してる奴なんて君と同じレベルの馬鹿なのに。

「オブジェクト指向が分からない」とは、>>230のいうIsRequiredのような値は
データの所有者に属する情報であってデータ自身に属する情報ではないことが
理解できない人間の事を言う。

377:デフォルトの名無しさん
09/02/17 22:15:56
>>375
だから、どうやって?

378:デフォルトの名無しさん
09/02/17 22:20:34
>>377
隠蔽する方法の言語仕様を知りたいの?
private new string MethodName();
で隠蔽できるじゃん




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

ここから上から目線のやつが現れてもっと解説
↓↓


380:デフォルトの名無しさん
09/02/17 22:30:48
         ___
       /::::::::::::::::\
      /:::::─三三─\   
    /:::::::::(○)三(○).\
/⌒)⌒)⌒.:::::::::: (__人__) :::::: \   /⌒)⌒)⌒)
| / / /..    ` ⌒´    | (⌒)/ / / /,,-''ヽ、
| :::::::::::(⌒)          /  ゝ ::::::.,,-''"    \
|     ノ           \  /_,-'"        \
ヽ    /             ヽ /\           \
 |    |        __   //\\           \
             /|[]::::::|_ / \/\\         /
           ./| ̄ ̄ ̄ ̄ //\ \/  \      //    ___
         |  |:::「「「「「「 / \/\  /\\   /:::/   ./|    |__
       _..|  |:::LLLLL//\ \/  \/\\/::::::/  /  | ロ  .|lllllllllllll
      / llllll|  |:::「「「「 / \/\  /\ .\/ ./::::::::/  / ./ .|    |lllllllllllll
__     llllll|  |:::LLL.//\ \/  \/\  /::::::::/   | /  .| ロ  .|lllllllllllll
          |  |:::「./ .\/\  /\ \/ /::::::::/⌒ヽ、| ||/ ..|
          |  |:::l//\ \/  \/\_, -― 、  ''"⌒ヽ,_
                (⌒ヽ、_,ノ⌒Y"    Y     .....⌒)
            (⌒ヽー゙ ....::(   ..::.......  .__人.....::::::::::::::::::::

381:デフォルトの名無しさん
09/02/17 22:31:31
>>376
データ所有者が欲しいから、データそのものと、IsRequiredプロパティを同時に所有しているんだろ
「オブジェクト指向が分からない」とは、データが様様な属性を所有していることを理解できない人のことを言う。

382:デフォルトの名無しさん
09/02/17 22:33:12
>>379
ToNさんお疲れ
決めつけじゃなくて言語仕様そのものの理解が間違ってるんですよ。
それを他人のせいにしたら、一生、オブジェクト指向が理解できないっすよ?

383:デフォルトの名無しさん
09/02/17 22:37:12
この手の話は結局、どっちのオブジェクト指向論が正しいのかニュートン法で収束


384:デフォルトの名無しさん
09/02/17 22:39:00
>>379
極論ばかりだと生きていけない=ToNみたいな存在も許容しろ
言い争ってる=喧嘩両成敗=ToNみたいな無理難題な喧嘩を売られても認めろ
っていいたいのか?

お前こそ人間として最低だろう


385:デフォルトの名無しさん
09/02/17 22:39:29
C#って日本語のプロパティ名使えたのな。結構いいかもしれんわ。
大体「中途受任日」って英語でなんていうねん。

386:デフォルトの名無しさん
09/02/17 22:41:29
>>383
いやオブジェクト指向論にすらなってない

>>321
>例えば同じ型のデータが2つ以上必要で、それぞれ入力必須かどうかが
>違ってたらどうするの?
を読めばオブジェクト指向すら理解できていないことがわかる。

387:デフォルトの名無しさん
09/02/17 22:48:33
>>386
あのさあw

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

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

こんな馬鹿にOOP云々言われたくないわまったく。

388:デフォルトの名無しさん
09/02/17 22:54:00
>>387
>それは、IsRequiredをデータ自身に持たせて、かつフールプルーフに実装しようと思ったら
>クラスメンバの値を返すようにする必要があるから
隠蔽できるから返されないって言ってるじゃん。

389:デフォルトの名無しさん
09/02/17 22:56:09
メアド交換して当事者同士でやってくれよ。たまらん。

390:デフォルトの名無しさん
09/02/17 22:56:31
>>388
ごめんどういう意味?
真面目にわかりません。
具体的なコードで説明してくれると助かるかも。

391:デフォルトの名無しさん
09/02/17 22:58:41
>>390
>>378

392:デフォルトの名無しさん
09/02/17 22:59:49
>>384
そんなんだからお前はいつも底辺で働いているんだろ
まぁがんばれよ


393:デフォルトの名無しさん
09/02/17 23:00:42
>>392
そんなんだからお前はいつも底辺で働いているんだろ
まぁがんばれよ


394:デフォルトの名無しさん
09/02/17 23:02:34
>>393
言うことなくなったか。責めてごめんな。
みんな怒ってるから空気読んで、もうやめとこうな?


395:デフォルトの名無しさん
09/02/17 23:04:44
>>393
相手のレスが無くなるまでレスしたほうが勝ちですか?w

396:デフォルトの名無しさん
09/02/17 23:05:45
そうとう口惜しかったんだろ許してやれよ

397:デフォルトの名無しさん
09/02/17 23:10:24
>>395
勘弁してやれよ

398:デフォルトの名無しさん
09/02/17 23:12:08
>>359
if (aHash.containsKey(aKey)) { ... } みたいな例が一杯あるし、
a.looksAt(b) みたく、三単現の動詞を使えばいいと思うよ。



399:デフォルトの名無しさん
09/02/18 00:03:11
さっきから意味論意味論恥ずかしい奴が居るなw

400:デフォルトの名無しさん
09/02/18 00:04:18
意味論=自分が理解できる範囲の論

401:デフォルトの名無しさん
09/02/18 00:07:35
汎化とか、意味論とか言うところをみると、
情報処理関連の専門、短大、大学を出たが実際に設計をしたこともない池沼という感じだな

402:デフォルトの名無しさん
09/02/18 00:17:05
>>364
あと A.Looks(B); もあり

403:デフォルトの名無しさん
09/02/18 00:21:08
>>398
すまんこのレスで既出な上に、Atまできっちり付いてたアル

404:デフォルトの名無しさん
09/02/18 00:28:58
オブジェクトが主語にならないときに、O.SIsCとするかO.IsSCとするか悩む。
例えば「Oの髪が金色か否か?」みたいな。

あー、もちろん「髪が金色」に相当する1単語の形容詞があるのは知ってるぜ。
ただ「そもそもOが主語にならないようなプロパティはおかしい」とか言ってしっちゃかめっちゃかにされるのを避けてみた。

405:デフォルトの名無しさん
09/02/18 00:35:57
「値」から「ユーザーの入力した値」が派生しているだけの話なのに、意味論的におかしいの?

406:デフォルトの名無しさん
09/02/18 00:41:03
値←ユーザの入力した値←ユーザの入力した文字列値←ユーザの入力した文字列であるメアドの値

というクラス階層が大真面目に書いてあったら
絶対笑うか泣く。

407:デフォルトの名無しさん
09/02/18 00:48:02
>>340-341
吹いたwwww


408:デフォルトの名無しさん
09/02/18 00:49:52
局所的にバリデートの手間をすっ飛ばせればそれで良いリーマンと
意味論を重要視し、体系的に完璧でなければ許し難い無収入者の戦い

409:デフォルトの名無しさん
09/02/18 01:13:38
>>405
まったくおかしくないよ
ユーザが入力できる値は基本的に文字列だからな
基本的に文字列から派生することになる

直接に数値として得られるのは配列の要素だけ。

410:デフォルトの名無しさん
09/02/18 01:31:54
>>367
包丁も車も完璧な安全装置を組み込めないから価値は無いよね。
マグカップでも人が死ぬ事もあるから使えないよね。
どこかのトンマがPC投げつけてきたら危ないからPCも捨てようね。

411:デフォルトの名無しさん
09/02/18 01:38:13
TONの定義するTONMAが空想上の動物で無いとすると
PI=3.14159って定数が勝手にPI=3に書き換えられてもおかしくないな

さて、これをフールプルーフするには一体どうすれば良いのだろうか

412:デフォルトの名無しさん
09/02/18 01:40:39
>>359
A is looking at B
A.isLookingAt(B)
this.AisLookingAtB()
好きにしろ。

413:デフォルトの名無しさん
09/02/18 02:04:44
>>411
TONからPCを取り上げる

414:デフォルトの名無しさん
09/02/18 07:56:30
>>412
嫌だね

415:デフォルトの名無しさん
09/02/18 11:11:40
>>404
凄くわかるw

お前って俺なの?


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

それぞれ、なんかいいのないですか?

417:デフォルトの名無しさん
09/02/18 12:02:37
>>385
いちいち変換しないといけないからめんどくさい事この上ないよ。

418:デフォルトの名無しさん
09/02/18 15:01:05
>>416
Pre Signup Users
Profile Footprints :: user_id -> footprint
Article Viewer Infomations :: article_id -> viewer_info

てきと。

419:416
09/02/18 15:23:36
>>418

おおぉ、いい感じです!
ありがとうございます!

420:デフォルトの名無しさん
09/02/18 18:44:24
お題を出した人が満足してからが本番!

421:デフォルトの名無しさん
09/02/18 21:17:40
さあ、TONさんの出番です

422:デフォルトの名無しさん
09/02/19 16:58:41
>>419
まちがえた。
infomationじゃねえ、
informationだ。
恥ずかしい。

423:デフォルトの名無しさん
09/02/19 18:55:13
>>418
Web的?にはviewerよりvisitorのがよくね?

>>421
悪魔召還すな。

424:デフォルトの名無しさん
09/02/19 20:08:28
>>423
あー。そういやWebはVisitだなー。
もう質問者いないだろうけどw

425:デフォルトの名無しさん
09/02/19 20:38:29
そりゃ違うだろう。

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

>>416が求めているものがどちらか言うまでもない。

426:デフォルトの名無しさん
09/02/19 21:36:34
visitor or not (笑)
viewer or not (笑)

427:デフォルトの名無しさん
09/02/19 21:55:54
>>425
英語圏のソースを片っ端から見てきた方がいいよ
間違ってるから

428:デフォルトの名無しさん
09/02/19 22:02:05
ToN改めVoNさんキタ━━(゚∀゚)━━!!

429:デフォルトの名無しさん
09/02/19 22:02:57
失せろゴミ

430:デフォルトの名無しさん
09/02/19 22:55:51
VoNw
w
ww
wwww
さすがにネタだろ

431:デフォルトの名無しさん
09/02/19 22:57:09
>>425
具体的に例えばどのコード?

というか、もし仮に記事を見た人間のことをvisitorと呼ぶのなら(どう考えても変過ぎるが…)
ウェブサイトの訪問者はそれと区別してなんと呼ぶの?

432:デフォルトの名無しさん
09/02/19 22:58:19
アンカミス?

433:デフォルトの名無しさん
09/02/19 23:00:50
>>432
うん。
>>427のつもりだった。。

434:デフォルトの名無しさん
09/02/19 23:09:01
ToNさん お疲れ また来たの?

435:デフォルトの名無しさん
09/02/19 23:35:36
>>431
URLリンク(www.google.co.jp)

この辺りで[web visitor]とか[web viewer]とか検索して
それぞれどんなのが引っかかってくるか比べてみたら。

436:デフォルトの名無しさん
09/02/19 23:54:13
みんなTONに優しいな

437:デフォルトの名無しさん
09/02/20 00:16:18
TONさんのプロフィール

・40過ぎ
・英語は苦手
・リーダークラスSE


438:デフォルトの名無しさん
09/02/20 00:19:23
>・リーダークラスSE
オブジェクト指向しらなくて、それはない
VB6しか触ったことないならあり得るが


439:デフォルトの名無しさん
09/02/20 00:38:27
>>438
×Leader
○Reader

ソースは読んだ事しかありません

440:デフォルトの名無しさん
09/02/20 06:41:45
連鎖あぼーんって便利だなwwwwwwwww

441:234
09/02/21 00:34:22
参考にさせてもらおうと、またきてみたのですが、
なんか私のせいで荒れてしまったみたいですいません。

あれから、設計をいろいろ見直しまして、そこそこのものができたかなぁと思っています。
まだ足りない部分があるので、考えているのですが、また迷ったらよろしくお願いします。

442:デフォルトの名無しさん
09/02/21 11:31:07
誰がどんなお題を出してもその後の流れは決まってるからまったく気にする必要なす

443:デフォルトの名無しさん
09/02/23 20:36:08
送信したパケット群でACKが受信できていない最初のパケットを返す関数
の名前を募集中です

444:デフォルトの名無しさん
09/02/23 20:57:20
FirstPacketAtCantRecvACKOfSendedPacket

445:デフォルトの名無しさん
09/02/23 20:58:21
NACK、ではなくて「ACKではない」なのか。

Packet FindNotAcknoledged(Packet[] packetsSent)
とか。

二つ目以降を探すときは、
Packet FindNotAcknoledged(Packet[] packetsSent, int startIndex)

446:デフォルトの名無しさん
09/02/23 21:05:18
NAKは今のところ存在しません。
判りやすいところでFindNotACKにします。
ありがとうございました。

447:デフォルトの名無しさん
09/02/23 21:08:11
いちおう訂正

Acknoledged ⇒ Acknowledged

448:416
09/02/24 10:29:03
たくさんレスが付いててびっくりしました!
みなさんありがとうございます。勉強になります。

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

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

こういうの、さらっと考えられるようになりたいです;
よろしくお願いします!

449:デフォルトの名無しさん
09/02/24 12:06:07
てきと。

interim registration information

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

private blacklist

とりあえずprivateを付けてみるメソッド。

450:デフォルトの名無しさん
09/02/24 20:37:46
- tempUsers, provisionals, moratoriums, unapprovedProfiles
- ignoreList, denyList, uceList, ignorables, rejects

451:416
09/02/25 11:48:52
>>449
>>450
ありがとうございます。
新規登録時にはプロフィールの入力などもあるので、
テーブルは分けようと思ってます。
なので、もう少しメールアドレス変更用というニュアンスが欲しいです。
個人的に、名詞の複数形がいいです。

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

もう少しいろいろなネーミングが知りたいです。
よろしくお願いします。

452:デフォルトの名無しさん
09/02/25 13:43:23
正規化できるときはしといたほうがいいけど、
1対1の時は一つのテーブルのほうが便利だけどね

453:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/02/25 19:43:03
>>451
難しいなあ。じゃああとxxxMailInfosとか。
unverifiedMailInfos, unapprovedMailInfos

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

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

いや、必要なのかもしれんけどどういう機能をもたせるつもりかわからないと
名前の付けようが・・・

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

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

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


>個人的には次元が違えば基本的に完全に別物だと思う。
確かにそんな気もしますが、こっち方面どころか全方面において経験がないので
設計で四苦八苦しています(ノ∀`)

456:デフォルトの名無しさん
09/02/25 20:14:53
ねみい

457:デフォルトの名無しさん
09/02/26 13:19:51
>>455
単純な値クラスはむやみに継承関係に
しないほうが一般に望ましい。

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

もちろん、スレの趣旨的には、一切
考え直さずに突っ張って、命名を
求め続けてもかまわないけど。w

458:デフォルトの名無しさん
09/02/26 13:56:40
>>455
三次元から二次元に変換するときは、基本的に写像が必要になるから、
dynamic_castでなんとかしようとすると後で困るよ。

459:デフォルトの名無しさん
09/02/26 13:57:50
写像、つまりは変換関数

460:デフォルトの名無しさん
09/02/26 14:27:16
変数じゃなくてテーブル名なんですが。

予約テーブルがあって、そのうち、(実際の来店などで)受付した物を保持するテーブルで、
受付済みテーブルってのを作ろうとしたんですが、
ACCEPT
APPOINTMENT_ACCEPT
ACCEPTED_APPOINTMENT
どれが良いと思います?
もっとよいのがあれば教えてください。

461:デフォルトの名無しさん
09/02/26 14:48:00
>>460
普通にorderじゃ駄目なの?
order_historyとか

462:デフォルトの名無しさん
09/02/26 14:50:24
>>461
ありがとう。
だけど、Orderだと「注文」的な意味が強くないですかね?

463:デフォルトの名無しさん
09/02/26 15:03:12
>>451
じゃあ名前を変えずに解釈を変えて、
新規のほうはSignupXXXInfoとかにすれば区別はつくんじゃない。

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

>>460
受付したものってなんよ。人なの?物なの?

464:デフォルトの名無しさん
09/02/26 15:05:49
>>463
それだいじですね。人です。

465:デフォルトの名無しさん
09/02/26 15:19:31
人を受け付けるなら Reception

466:デフォルトの名無しさん
09/02/26 16:05:49
>>460
reserved
ひょっとすると誤解されやすいかも。


467:デフォルトの名無しさん
09/02/26 17:25:58
>>465,464
ありがとうございました。
Receptionにしようと思います。

468:デフォルトの名無しさん
09/02/27 01:02:28
汎用的な質問でごめんなさい

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

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

のような、この関数「p」の名前を模索しております。


469:468
09/02/27 01:03:45
しまったーorz
>>468 の「p」、コード上の p (v1... の p は、文中の n の意味です。
すみません。

470:デフォルトの名無しさん
09/02/27 02:23:06
>>468
predicate (述語) が一般的だと思う。
あとは condition (条件) とか criterion (基準) とか。



471:デフォルトの名無しさん
09/02/27 06:47:08
~かどうかを判定する関数に、「~p」ってつけるのはLISPの常識。ってのはもう古いのか?

472:デフォルトの名無しさん
09/02/27 07:06:32
その条件が何かによって変わると思う。
is条件()みたいなメソッド名ってjavaとかじゃよくあるけど。


473:デフォルトの名無しさん
09/02/27 14:46:31
キューにたまったメールに名前をつけるとしたら、どんな感じになりますか?
行列(キュー)全体ではなく、行列に並んでる個々のメールに命名したいのですが・・・

queued_mails みたいな感じでしょうか?

474:デフォルトの名無しさん
09/02/27 14:51:55
そのアホな名前を誰が読むのか知らないけど
通し番号でいいと思わないか


475:デフォルトの名無しさん
09/02/27 19:50:52
>>468
批判されてるのに追い討ちかけるようだけど、
そんなあいまいな条件だけで命名しようとか命名できるはずだか考えてるのなら
そのセンスはヤバ過ぎると思う。

476:デフォルトの名無しさん
09/02/28 01:31:31
>>468
おれなら~trapとかにしそう

477:デフォルトの名無しさん
09/02/28 01:51:11
>>473
perlのforeachで$_の代わりに使う変数かな?
ならフォーカスドメールとかでいいんじゃね

478:476
09/02/28 02:18:52
あー通すのは引値か…
trap_whithout(条件)とかは?

479:デフォルトの名無しさん
09/02/28 16:32:35
>>473
個々のメールに命名したいのになんで複数形なんだろう?

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



480:473
09/02/28 17:10:36
説明が足りずすみません。

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

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

そのときに、行列待ちのメールであることを分かりやすくしたかったのです。
mailsと書かないというのは知りませんでした;

481:デフォルトの名無しさん
09/02/28 17:29:11
>>480
普通に考えれば特に「行列待ちの~」なんて意味を名前にこめる必要はないと思う。
処理待ち用のキューの中から取り出したんだから処理待ちに決まってる。
処理の文脈をみればそんなの自明かと。

どうしてもって事情があるのならbacklogとか?

482:デフォルトの名無しさん
09/02/28 17:31:20
$mailとか$iで十分じゃね。
わかんなくなるならブロックがメソッドが長すぎる。


483:473
09/03/02 07:45:44
メールキューをデータベースのテーブルに格納しているので、
そこでの命名にも使いたくて・・・

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

mailをどうしても複数・単数で扱いたい場合は、
message(s)とかにするのが普通なのでしょうか?


484:デフォルトの名無しさん
09/03/02 08:05:45
mqueueとくればmessageに一票。

ただ、そのメールで何を送るか、例えば注文を送るんだったらorderとかでもいいわけでしょ。


485:473
09/03/02 08:25:39
なるほど。
たしかに、内容に即した名前の方がわかりやすくていいですね。

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

となると、やっぱりmessageになるんでしょうかね・・・
英語うまくなりたい;

486:デフォルトの名無しさん
09/03/06 07:30:53
C++で型FooをBarに変換する関数を

Bar ConvFooToBar(Foo foo);

のように書いています。

変換する型が複雑になると
Hoge ConvFooBarToHoge(FooBar foobar);
のようにToが見つけにくくなり、読みにくく感じます。
が、読めないこともないのでこれで妥協すべきでしょうか。


487:デフォルトの名無しさん
09/03/06 07:40:20
hoge = ToHogeFrom(fooBar)

488:デフォルトの名無しさん
09/03/06 07:54:06
Toを2にしてみるとか駄目?

489:デフォルトの名無しさん
09/03/06 07:57:38
オーバーロード可なら
元の型を関数名に含める意味なくね?

490:486
09/03/06 08:35:26
>>489
あ、たしかにそうですね。いわれてみれば冗長。

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


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

どうも朝早くありがとうございました。

491:デフォルトの名無しさん
09/03/06 08:51:20
キャスト用の1引数コンストラクタじゃだめなん?


492:デフォルトの名無しさん
09/03/07 14:58:03
>>491
Barクラスに手を入れるのは普通いやじゃない?
そもそもその権限がないかもしれないし。

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

ToHogeFrom_FooBar.cpp あたりかと思うんだけど…


493:デフォルトの名無しさん
09/03/07 15:51:32
一関数、一コンパイルにするのか。

別にダメだとは言わんが。

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

Foo ⇒ BarなのにどうしてFooのインスタンスメソッドとして書かないの?
意味わかんない。

495:デフォルトの名無しさん
09/03/07 16:20:39
>>494
> どうしてこれまで誰も指摘しないのか不思議でならないんだけど

>>1
> 設計の善し悪しについて議論するのは基本的に禁止。

496:デフォルトの名無しさん
09/03/07 16:24:19
>>494
クラスのメンバ関数は最小限のインターフェースにとどめ、
メンバ関数を使って可能なことは大域関数で実現するのがよろしい、という考え方がある

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

Javaに慣れてると何でもかんでもインスタンスメソッドにしたくなるんだけどね

497:デフォルトの名無しさん
09/03/07 16:32:16
>>496
なんらかの深い考察が背景にあるのかわからんけど、
ぱっと聞き同意しがたい考え方だな。

498:デフォルトの名無しさん
09/03/07 16:45:11
>>494
委譲

499:デフォルトの名無しさん
09/03/07 16:49:00
>>496
> Javaに慣れてると何でもかんでもインスタンスメソッドにしたくなるんだけどね

最近のJavaは知らないけど、Javaはグローバル関数が作れないから仕方ないのかな。
C#を最近勉強し始めたけど、C#も同じらしいのでちょっとがっかり。


500:デフォルトの名無しさん
09/03/07 16:50:37
staticでいいじゃん

501:デフォルトの名無しさん
09/03/07 19:11:57
C++なら foo_cast<Bar>(foo) だろ
変換先が一つだけならBarのコンストラクタでFooを受け取る
それが無理ならto_bar(foo)
barが一般的なクラスならbar(foo)でもいい
変換処理がFooの内部構造に依存したり仮想関数にする場合
Fooに変換メンバ関数bar()を作ってフリー関数bar(foo)から呼び出させることもよくある

502:デフォルトの名無しさん
09/03/07 19:39:34
>なんでC++なのにそんなユーティリティ関数みたいな書き方するんだろう。
>Foo ⇒ BarなのにどうしてFooのインスタンスメソッドとして書かないの?
なわけで、やり方はいくらでもあるだろうが、委譲という考え方がある限り
そういうメソッドを作ることは何ら不思議じゃないが結論だろ

503:デフォルトの名無しさん
09/03/07 19:45:59
はいはい
あれないうちにやめてくれよ。


504:デフォルトの名無しさん
09/03/09 22:56:38
C++なら bar = foo;

505:デフォルトの名無しさん
09/03/09 23:14:52
>>504
氏ね

506:デフォルトの名無しさん
09/03/14 08:54:31
よし、こんどのプロジェクトの変数は、
Nobunaga Hideyosi Ieyasu Masamune 武将シリーズでいくぞ。

507:デフォルトの名無しさん
09/03/14 09:08:37
>Masamune
惣無事令に反して蘆名領に攻め込んだり、葛西大崎一揆を扇動して天下人を困らせた
つまり、管理者の意図に反した入力を受け入れるわけですね、分かります

508:デフォルトの名無しさん
09/03/14 13:31:57
平気で2chジャゴンを使える、使う気になる奴の神経が理解できん。
自分で自分が気持ち悪いと思わないんだろうか。
ひょっとしてこういう奴のアイデンティティって「2ちゃんねら」なのか?w
まともな精神構造してたら耐えられないよな。

509:デフォルトの名無しさん
09/03/14 19:24:23
ジャゴンなんて初めて見る単語だな

510:デフォルトの名無しさん
09/03/14 19:29:07
双頭怪獣 ジャゴン

511:デフォルトの名無しさん
09/03/14 19:29:19
ほらあの人魚伝説の元になった海獣

512:デフォルトの名無しさん
09/03/14 19:33:04
ダゴンか


513:デフォルトの名無しさん
09/03/14 19:33:31
それジュゴン


514:デフォルトの名無しさん
09/03/14 19:34:18
それ古代パレスチナにおいてペリシテ人が信奉していた神。
名前の由来はヘブライ語のダーグ(魚)ともダーガーン(穀物)ともいわれる。 父親はエル。
伝承によってはバアルの父とされる。魚の頭をもつ海神と考えられてきたが、近年の研究では農耕神であった可能性も強い。
ガザとアシトドに大きな神殿があった。

515:デフォルトの名無しさん
09/03/14 19:34:34
jargon

516:デフォルトの名無しさん
09/03/14 19:36:15
>>515
それURLリンク(mora.jp)

517:デフォルトの名無しさん
09/03/14 19:45:00
Jargon - Wikipedia, the free encyclopedia
URLリンク(en.wikipedia.org)

518:デフォルトの名無しさん
09/03/14 19:45:33
RGM-89 ジェガン

519:デフォルトの名無しさん
09/03/14 20:03:08
>>517
それterminology which has been especially defined in relationship to a specific activity

>>518
それモビルスーツ GMの後継

520:デフォルトの名無しさん
09/03/14 20:16:53
SQLでカラム名を変更する際に前のカラム名と変更後のカラム名を変数に保持したいんですが、こういうと時って変数名どうすればいいでしょうか?

pre_column
modified_colomun


何かいいアドバイスあったらいただきたく。。

521:デフォルトの名無しさん
09/03/14 20:28:08
suffixで_oldと_newを付けるとか。


522:デフォルトの名無しさん
09/03/14 22:04:45
そーか、old&new良いですね。

ありがとうございましたm(__)m

523:デフォルトの名無しさん
09/03/16 11:27:12
たとえばRPGなんかで敵味方のデータの基底になるクラスの名前って、なんか定番ある?
Character や CharaObject では、なんかしっくりこない。

524:デフォルトの名無しさん
09/03/16 13:10:21
和英辞書との一致 (1~1件目 / 1件) 検索辞書:プログレッシブ和英中辞典 提供:JapanKnowledge

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



525:デフォルトの名無しさん
09/03/16 13:20:15
char

526:523
09/03/16 13:59:01
>>525
いちおC++なんで、予約語は勘弁してください

>>524-525ありがとう。
とりあえずだけど、personで進めていくことにしまふ

527:デフォルトの名無しさん
09/03/16 14:14:18
出演者は人物だけなのか?
はぐれメタルとか登場予定なし?

528:デフォルトの名無しさん
09/03/16 14:22:33
じゃあ「生物」はどうかなと思ったけど、はぐれメタルは「無生物」に近いよね・・・「神霊」ってタイプのキャラもいるかもしれないし
「化身」ってどうだろう?avatar、ちょっと違和感ある?


529:デフォルトの名無しさん
09/03/16 14:36:48
object

530:デフォルトの名無しさん
09/03/16 15:21:37
actor

531:デフォルトの名無しさん
09/03/16 15:29:33
じゃあunit

532:デフォルトの名無しさん
09/03/16 15:44:39
actorいいね!次からそれ使う

533:デフォルトの名無しさん
09/03/16 19:35:33
creature

534:デフォルトの名無しさん
09/03/16 19:57:33






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


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


Get_User_Inputs_4_Process_that_DA_First_Pass

User_no_Key_nyuuryoku_wo_Uketoru


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



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

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

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

THEが付いてるから、「並ぶもののない」「他に2つとない」というポジティブな意味と
「ダサイ」というネガティブな意味両方あるからTHE・埼玉という表記がすぐれているのに
DAにしたら英語知らない奴からするとストレートな悪口にしか見えん。

536:デフォルトの名無しさん
09/03/16 20:19:49
坊やだからさ

537:デフォルトの名無しさん
09/03/16 20:26:25
// get user inputs for process that the first pass

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

完璧にコメントの形式ですね

538:デフォルトの名無しさん
09/03/16 22:45:08
意味が変わっとる

539:デフォルトの名無しさん
09/03/17 13:31:39
意味もなく冠詞とか接続詞とか前置詞とかは付けないものだと思ってた

540:デフォルトの名無しさん
09/03/19 09:44:43
Levensteinのアルゴリズムに手を加えて、
二つの配列間の挿入、置換、置換、移動による最短編集距離を求めて
それぞれ変更のあった位置と類似度も返す関数を作ったんだけど
なんて名前にすればいいだろう。

541:デフォルトの名無しさん
09/03/19 10:50:52
changeset

542:デフォルトの名無しさん
09/03/19 13:21:52
自分の名前つけとけば

543:540
09/03/20 00:17:50
>>541
順序も考慮するからsetは違う気がする。
圧縮ファイルの中身を比較するのに作った関数だけど
一応他の用途でも使いまわせるような感じにしたいので
汎用性がある名前にしたいなぁとか。

>>542
機能に即した名前がいい。

544:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/03/20 05:17:16
>>544
じゃあそれにするわ!

546:デフォルトの名無しさん
09/03/20 05:34:50
MyLevensteinDistance()

547:デフォルトの名無しさん
09/03/20 07:26:49
>>544
英語でおk

548:デフォルトの名無しさん
09/03/20 13:16:56
マイクロソフトに倣ってLevensteinDistanceExでいいじゃん。

549:デフォルトの名無しさん
09/03/20 17:26:10
non_power_of_2


「なんで2の力なんですかね?」
って聞いてきた奴もいたものである。

550:デフォルトの名無しさん
09/03/20 21:18:29
>>540
まず、そのアルゴリズムを論文発表して、自分の名前を定着させるんだ。

551:デフォルトの名無しさん
09/03/21 18:17:00
XMLで

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

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

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

でいいですか?
2つ目と4つ目が何か違う気がして・・・

552:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/03/21 18:41:55
>>552
ありがとうございます。
そんな感じでやってみます

554:デフォルトの名無しさん
09/03/22 01:13:35
ブログツール作ってるんですけど
記事一つがEntryクラスで
それの集合がEntryListクラスなんですが

記事を追加したり削除したり
条件を指定してEntryクラスやEntryListクラスを返す
みたいなものを一括するクラスの名前はどうしたらいいでしょうか?

555:デフォルトの名無しさん
09/03/22 01:35:33
EntryManager

556:デフォルトの名無しさん
09/03/22 02:43:32
EntryRepository

557:デフォルトの名無しさん
09/03/22 03:25:02
>>554
EntlyList.add
EntlyList.delete
EntlyList.find
EntlyList.filter

メソッドじゃね?


558:デフォルトの名無しさん
09/03/22 18:12:32
スレ違い

559:デフォルトの名無しさん
09/03/22 21:31:42
EntryStore

560:デフォルトの名無しさん
09/03/23 11:20:29
ビットマップの透過色を指定して32ビットのビットマップにする関数

561:デフォルトの名無しさん
09/03/23 21:12:19
create transparent image(source image, transparent color) とか。
新しいビットマップを返すのか、所与のビットマップを変換するのか
で多少変わるだろうけど。

alpha値を変更するという観点での命名もありえるかもね。


562:デフォルトの名無しさん
09/03/25 12:32:57
新人にありがちな例


クラスなに?

1年のときはAでした。






563:デフォルトの名無しさん
09/03/25 12:37:30
vipでやれ

564:デフォルトの名無しさん
09/03/25 17:04:05
おお、こんなスレあったんだな
今度困ったときに相談するよ

余談だが俺の後輩は全部ローマ字読みで命名するんだよね・・・
でも意外だが一部では肯定派もいるらしいね

565:デフォルトの名無しさん
09/03/25 17:47:43
後輩に和英辞書をプレゼントしてあげてください

566:デフォルトの名無しさん
09/03/25 18:26:14
でも勘定科目の英訳とか、普通の辞書には載ってないよね……

567:デフォルトの名無しさん
09/03/25 20:59:57
コボラは、英単語が多数予約語になってるので、ローマ字日本語で命名する
習慣が定着しているそうだ。英語が母語な人はどうしてるんだろう。


568:デフォルトの名無しさん
09/03/25 22:31:11
プレフィクスにFUCKIN_つける。

569:デフォルトの名無しさん
09/03/26 01:12:55
イギリス人はBLOODY_をつけるんですね。わかります。

570:デフォルトの名無しさん
09/03/26 09:34:49
FUCKIN_MIHARAI
BLOODY_URIKAKE

571:デフォルトの名無しさん
09/03/26 12:24:15
なんでそこでローマ字なんだよwww

572:デフォルトの名無しさん
09/03/26 13:19:30
血塗られた売掛金

573:デフォルトの名無しさん
09/03/26 23:21:14
洗えよ

574:デフォルトの名無しさん
09/03/28 11:21:49
std::stringで
key1=value1\nkey2=value2\n...
みたいな文字列をとって
map<std::string,std::string>で返す関数の名前

575:デフォルトの名無しさん
09/03/28 14:47:48
parse_key_value_pairs

576:デフォルトの名無しさん
09/03/31 17:03:11
プログラマ的ネーミングセンスってどうやって身につけるんだろう

577:デフォルトの名無しさん
09/03/31 17:08:06
他人のコードを読むとか、語彙を増やすとか

578:デフォルトの名無しさん
09/03/31 23:39:43
あるキーワードを思いついたらgoogle codeで検索して他人がどういう変数名やクラス名をつけているか調べまくる。



579:デフォルトの名無しさん
09/04/01 09:12:15
英語版googleでネイティブがどんな言い回しをしてるのか調べる。

580:デフォルトの名無しさん
09/04/01 09:15:00
とにかくググる癖をつけないと、TimeOfNowとか付けちゃう酷いネーミングセンスになるから気を付けるんだぞ

581:デフォルトの名無しさん
09/04/01 18:02:25
SIMDを使うようになってから、今までとは全然違う概念の変数を使うようになって、名前がつけにくいったら。

582:デフォルトの名無しさん
09/04/01 21:16:05
google code...
そんなんもあるのか....

583:デフォルトの名無しさん
09/04/02 09:43:08
goodle code searchな。
google codeは、google提供ツールのソース開示とOSSプロジェクトのホスティング。


584:デフォルトの名無しさん
09/04/02 12:04:00
キャンバス上に配置されてるオブジェクトってなんて言えばいいかな
arrangedObjects?

585:デフォルトの名無しさん
09/04/02 15:22:02
「配置されてる」とは?
「配置されていないオブジェクト」という概念もあるのか?

586:デフォルトの名無しさん
09/04/02 18:43:27
>>585
偉そうに馬鹿な事言うなよ
恥ずかしいw

587:デフォルトの名無しさん
09/04/02 20:03:25
positioned object
placed object

object on canvas

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

585でも訊かれているけど、管理してるけど配置していないオブジェクト
ってのもあるの?


589:デフォルトの名無しさん
09/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を使った処理よりも高速であることを強調した名前にしたいです。
宜しくお願いします。

てゆーかぶっちゃけこれに名前が欲しい。
URLリンク(www.k4.dion.ne.jp)

590:デフォルトの名無しさん
09/04/03 11:33:40
TurboRgbaPixelFilter

591:デフォルトの名無しさん
09/04/03 11:35:03
FastFiltering
GetRegularizedBitmap

592:589
09/04/03 11:47:58
超THX。使わせて頂きます。

593:デフォルトの名無しさん
09/04/03 18:22:03
フィルタ処理用のLanczos3関数で、引数がゼロかどうかのチェックを省略したものの名称を
どうしようか迷っています。とりあえず Lanczos3_NonZero としているんですが、
チェックを省略している、というニュアンスが出てないので……

594:デフォルトの名無しさん
09/04/03 18:50:40
普通に
checkNonZero
じゃぁいかんの?

595:デフォルトの名無しさん
09/04/03 23:25:34
NoArgumentValidatedLanczos3


596:デフォルトの名無しさん
09/04/03 23:45:36
Lanczos3WithoutArgumentCheck


597:デフォルトの名無しさん
09/04/10 12:34:15
ふと昔の自分のソースを見てて思ったんだけど、
変数名などに、同じ単語の単数形と複数形を共存させることってある?

例えば、
 file  ← ファイル名を格納
 files ← 配列など、複数のファイル名を格納
みたいな感じで。

598:デフォルトの名無しさん
09/04/10 12:57:33
foreachがある処理系なら

599:デフォルトの名無しさん
09/04/10 16:41:36
前処理行程で出てきた
16進数の文字列データを10進数の文字列に変換するクラスの名前

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

宜しくお願いします

600:デフォルトの名無しさん
09/04/10 17:56:03
Javaでメンバ変数(フィールド変数?)にアンダースコア付けるのって微妙なの?
マーチン・ファウラー先生のオススメ命名規則らしいんだが

601:デフォルトの名無しさん
09/04/10 20:15:32
>>599
それだけ聞くと「単純な話をわざわざ複雑にするだけ」に聞こえる。
hex⇒intもint⇒decimalもintの機能であるんじゃないの?

2行の処理が一行にまとまる「嬉しさ」と、
何を抽象化したクラスか理解する「面倒臭さ」のどっちが勝るかよく考えるべきだと思うな。

602:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/04/11 05:14:25
>>599
BaseConvert
RadixConvert
とかかのう。

10進と16進には固定できないが。

604:デフォルトの名無しさん
09/04/11 05:18:30
>>602
struct XMLtree_t
{
 string name;
 std::vector* children;
 std::map* attributes;
}


605:デフォルトの名無しさん
09/04/11 05:44:50
>>601
TONさんちーっす
相変わらずですね^^;;;

606:デフォルトの名無しさん
09/04/11 09:26:39
(605の内心)

>>601
ようTON
お前また設計に口出しするのか。
テンプレ読めないっぷりは相変わらずだな。
そんなんじゃ実生活でも相当使えないやつだろうなwwwwwww


607:デフォルトの名無しさん
09/04/11 10:34:35
おちょくってるだけの君らも邪魔
どっか行ってくれ

608:デフォルトの名無しさん
09/04/11 11:54:22
オマエモナ

609:デフォルトの名無しさん
09/04/11 12:03:59
オマエモナ

610:デフォルトの名無しさん
09/04/11 16:16:14
>>600
フィールド変数にアンダースコアを付けるのは
一見でフィールド変数とローカル変数を見分けられる利点がある。

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

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

以上自論

611:デフォルトの名無しさん
09/04/11 19:46:38
メンバ変数へは絶対にthis経由でアクセスすべき
命名はどうでも良い

612:デフォルトの名無しさん
09/04/11 19:56:27
>>611
なぜ?

613:デフォルトの名無しさん
09/04/11 21:29:38
フィールドとメソッド内ローカルを入れ替えるようなリファクタリングなんて
一度もしたことないけどなあ。
どんな状況でそんな必要に駆られるのか煽り抜きで想像ができない。

ちなみに俺はフィールドにはそれと識別可能なプリフィクスを付ける派。
ただしアンダースコアは視覚的に見難いし醜いしタイプしにくい(少なくともJISキーボードだと)
から小文字のmでプリフィクスすることにしてる。

614:デフォルトの名無しさん
09/04/11 21:32:51
>>610
ハンガリアンも似たような理由で嫌われるよな

615:デフォルトの名無しさん
09/04/11 22:00:09
いまどきフィールド変数なんて色変えたりボールドにしたり
一見して判別可能にすることができるんだから全然気にする必要ない。
変なプレフィクス付けるとかマゾ以外の何者でもない。

異論は認める。


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

視覚的に「騒々しい」というのもあるけど、人間のパターン認識機能の特性に
あまり適合的じゃないよ。

617:デフォルトの名無しさん
09/04/11 23:37:15
いみふめい

618:デフォルトの名無しさん
09/04/12 00:22:27
まあ白黒テレビで頑張ってますってことだろ

619:デフォルトの名無しさん
09/04/12 00:28:33
>>617-618
端的に言うとむしろ君らの頭の性能が悪い、ってことだと思うよ。

620:デフォルトの名無しさん
09/04/12 00:43:12
へいへい

621:デフォルトの名無しさん
09/04/12 01:08:39
ここはヌルー

622:デフォルトの名無しさん
09/04/12 01:11:26
ポ

623:デフォルトの名無しさん
09/04/12 01:25:49
ガッ

624:デフォルトの名無しさん
09/04/12 04:29:42
(俺にとっては)視覚的に「騒々しい」から(お前が)それでやるのは関心しないね。

いみふ

625:デフォルトの名無しさん
09/04/12 09:52:15
スレ違いだが色覚異常は男性に多いらしい。
そういう人は色だけで区別するのは嫌がるだろうな。


626:デフォルトの名無しさん
09/04/12 12:07:59
音なんかどうだろうか

627:デフォルトの名無しさん
09/04/12 15:37:26
世の中耳の悪い人もいるよな
触覚でどうだろうか

628:デフォルトの名無しさん
09/04/12 15:52:28
視覚だけでいいよ


629:デフォルトの名無しさん
09/04/12 17:00:39
マジレスすんな低脳w

630:デフォルトの名無しさん
09/04/12 17:02:07
つまんねえよクズ

631:デフォルトの名無しさん
09/04/12 17:03:57
キーワードは何色で表示してる?
俺は緑だが
VSのデフォはコメントが緑だから困る

632:デフォルトの名無しさん
09/04/12 17:22:50
目に優しい色で他と区別ができるのなら何でもいいと思うな。

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

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

まあ、慣れた配色と違うと確かに最初は違和感あるが・・・

633:デフォルトの名無しさん
09/04/12 21:17:24
javaでeclipseだと普通に色で読み取れちゃうしそれを使わない手もないとおもうけど
スレ違い。


634:デフォルトの名無しさん
09/04/13 00:53:06
Win32APIのLPCTSTRとかわけのわからんのに触れて以来、
システムハンガリアンを受け付けない体になってしまったんだが、
Visual Studio C++でもメンバ変数の色分けってできないだろうか?

635:デフォルトの名無しさん
09/04/14 20:44:07
>>613
ローカル引数のスコープの狭さは、メソッドの分割などで支障をきたすことが少なくない。
無理に分割しようとうると、金太郎飴のように似た様な引数の並びのメソッドを
次々にコールすることになる。

この状態でこれらのメソッドを複数のクラスに分割すると
金太郎飴引数をクラス間でずりずり引き回すという
なんちゃってオブジェクト指向のスパゲティコードを読まされている俺負組み誰か助けてorz

636:デフォルトの名無しさん
09/04/14 21:21:33
くそう最後で笑ってしまったw

637:デフォルトの名無しさん
09/04/14 21:21:56
「リファクタリング」に出てくる「コードの不吉な臭い」のうち
「多すぎる引数」とか「データの群れ」というやつだな。


638:デフォルトの名無しさん
09/04/15 01:19:07
引数は常にデータセット1個に決まってるだろjk・・・

639:デフォルトの名無しさん
09/04/15 20:10:25
1箇所弄ると連鎖的に全部変えなきゃならない構造体地獄の現場を思い出した

640:デフォルトの名無しさん
09/04/16 03:23:39
構造体なんて論外だろw

641:デフォルトの名無しさん
09/04/16 08:59:24
なんでも格納できる辞書かデフォルト引数でもあればまだマシなんだけどなあ

642:デフォルトの名無しさん
09/04/16 09:01:06
ごめん。
○キーワード引数(Pythonとかにあるやつ)
×デフォルト引数

643:デフォルトの名無しさん
09/04/16 18:12:45
そんな引数が数十個ある関数をアセンブリ言語から呼ぶ羽目になったぜ。
しかもなぜかfastcall。かえってややこしいわw

644:デフォルトの名無しさん
09/04/19 03:11:08
レコードの数を表す変数として、
recordsとnRecordsならどちらがよいのでしょうか。

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

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

みなさんはどうされていますか。
キャピタライゼーションなどの見た目上の規則ではなく、
意味論的な観点からご意見ください。

645:デフォルトの名無しさん
09/04/19 03:36:51
だから迷ったらまず素直に直訳してみようといつも・・・
自分で「レコードの数」って言ってるじゃん。

古い人ほど「直訳みたいな変数名はダメ」という間違った強迫観念に支配されてるけど、
時代錯誤だから考え直した方がいいと思うよ。

646:デフォルトの名無しさん
09/04/19 03:39:29
recordCount

647:デフォルトの名無しさん
09/04/19 03:40:49
なぜ比較するのにその二つを選んだのか

648:デフォルトの名無しさん
09/04/19 08:38:33
何となくだが、records は配列とかそういう印象がある。

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

>647
nXXXsで個数っていうのは、よく見かけるけどな。


649:デフォルトの名無しさん
09/04/19 09:02:02
システムハンガリアンと違って、
きちんと意味付けされた上で接頭辞をつけるのは悪くないと思うんだけどな。
もちろん周りが -Count とか numberOf- とか使ってるならそっちを使うべきだけど。

650:デフォルトの名無しさん
09/04/20 02:37:11
あるある

651:デフォルトの名無しさん
09/04/20 17:52:55
>>209

652:デフォルトの名無しさん
09/04/20 18:20:18
MakeSureDirectoryPathExists的な関数名を付けては顰蹙を買うおいら。
でもオーバーロードの無いC言語だと仕方ないと思うんだ。

653:デフォルトの名無しさん
09/04/20 19:18:02
オーバーロードっていうかインスタンスメソッドじゃない。

bool CPathString::Exists()

654:デフォルトの名無しさん
09/04/20 19:20:01
make sureということは存在するか否かを返すのではなく、
「存在すれば何もしない。しなければ作る」という処理なのかな。

655:デフォルトの名無しさん
09/04/20 20:36:38
>>654
「ディレクトリの存在を確認する」んだろ。
オレだったらconfirmにするが。


656:デフォルトの名無しさん
09/04/20 20:38:05
ensure


657:デフォルトの名無しさん
09/04/21 11:58:52
>>654
正解。すごいな、分かる奴には分かるもんなんだな。
URLリンク(msdn.microsoft.com)

658:デフォルトの名無しさん
09/04/21 12:06:17
技術系の洋書に沢山出てくる言い回しじゃん。

659:デフォルトの名無しさん
09/04/21 12:10:37
make sure directory path exists
establish directory path existence without doubt
処理の後に指定されたディレクトリが存在するという事後条件がある
と解釈するのか、make sureに対してそういう見方をしたことはなかった
これからはもっと英英辞典も使うとしよう

660:デフォルトの名無しさん
09/04/21 12:37:42
Let's make sure he's dead. のジョーク思い出した

661:デフォルトの名無しさん
09/04/21 12:40:21
こういう言い回しは、こんな感じの意味みたいな読み方しかしないから、
ちゃんとした解釈なんて考えた事もないわ。
だから技術系の本しか読めないんだなきっとw

662:デフォルトの名無しさん
09/04/21 14:32:53
>>660
死んでるかどうか確認して! と 確実に死んだ状態にして!
の勘違いのアレか。


663:デフォルトの名無しさん
09/04/21 18:53:18
処理内容と事後条件が混ざって嫌。
だいたい事後条件を満たせなかったら
どうすんの?死ぬの?

makeDirectoryIfNotExist
とかのがよくね?


664:デフォルトの名無しさん
09/04/21 19:00:56
満たせなかったら例外とかエラーだろ。



665:デフォルトの名無しさん
09/04/21 19:03:08
>>663
失敗したらどうすんの?死ぬの?w

666:デフォルトの名無しさん
09/04/21 19:26:44
>>665
お前みたいな頭の悪いガキが生まれても、
親は別に死んだりしない。

667:デフォルトの名無しさん
09/04/21 19:41:02
名前変えても何も変わらなくね?って言ってるだけなんだけど。

668:デフォルトの名無しさん
09/04/21 23:58:38
この思い込み具合、またTONくさいな。。。。。


669:デフォルトの名無しさん
09/04/22 00:07:53
MakeSureDirectoryPathExists
makeDirectoryIfNotExist

俺はどっちも同じ動作を思い浮かべるけどな


670:デフォルトの名無しさん
09/04/22 03:40:06
>>669
それほど変わらんかもしれんが、
>MakeSureDirectoryPathExists
はsureに、
>makeDirectoryIfNotExist
はmakeに主旨がある気がしない?
感覚的にはけっこう違うような。

671:デフォルトの名無しさん
09/04/22 04:50:04
TONさんがこんなボンクラセンスなわけねぇだろw

672:デフォルトの名無しさん
09/04/22 17:42:44
2-3個くらいの文字列変数をルールに従って1つの文字列に合成・生成してOutputする関数を命名したいのですが
composeかそれともgenerateどちらがいいでしょうか?

~OutputStr()と言うような感じで考えています

673:デフォルトの名無しさん
09/04/22 18:48:31
手段が重要ならcomposeあるいはsynthesize
目的が重要ならgenerate


674:デフォルトの名無しさん
09/04/23 09:07:58
~にcomposeやgenerateが入るのが、outputする関数の名前としては既におかしい。

OutputComposedStringとかならまだ分かるが。

675:デフォルトの名無しさん
09/04/23 09:47:23
IN: 引数
OUT: 戻り値

676:デフォルトの名無しさん
09/04/23 11:14:06
ルールとかOutputとかが何を意味するのかわかんないけど
joinとかそういうのとは違うの?

677:デフォルトの名無しさん
09/04/23 11:20:23
やはりTONさんのネーミングセンスは一味違うな

678:デフォルトの名無しさん
09/04/23 16:31:55
やっぱTONさんパネェっす

679:デフォルトの名無しさん
09/04/23 17:05:20
浮動小数点数が非数でも無限でもないことを判定する関数の
名前は何にしたらよいでしょう?

IsRealNumber にしようとおもったら、実数は無限を含むらしいので。


680:デフォルトの名無しさん
09/04/23 17:12:17
IsFinite

681:デフォルトの名無しさん
09/04/23 17:18:54
真偽を逆にしてIsNaNOrInfinite

682:デフォルトの名無しさん
09/04/23 19:39:53
>>679
正負の零、非正規化数、正規化数をあわせて、finiteとよぶ。

683:676
09/04/23 20:04:42
>>677
>>678
それもしかして俺に言ってるの?
joinはセパレータ使って文字列結合するときには普通に使う関数名だよ?
スクリプト言語とかboost.string_algoとか使ったことない?

ちなみにセパレータじゃなくて意味のある文字列ならformatXXXのほうがいいかな
composeとかのほうが意味がわからない

684:デフォルトの名無しさん
09/04/23 20:25:35
>>679
つ float.h


685:デフォルトの名無しさん
09/04/23 20:27:17
>>683
どうみても674あてだろがw

686:デフォルトの名無しさん
09/04/23 20:45:46
疑心暗鬼に陥っているなw

687:デフォルトの名無しさん
09/04/24 04:35:34
>>683
このスレの住人のTON検出力を甘く見んなw

688:デフォルトの名無しさん
09/04/24 04:40:17
683:(674に言ってるように見える・・・俺がTONなんだが・・・)

689:デフォルトの名無しさん
09/04/24 04:50:52
TONさんは頑なにTONが含まれるレスを無視するからアリエネ

690:デフォルトの名無しさん
09/04/24 06:31:07
ワロタ

691:デフォルトの名無しさん
09/04/24 07:25:31
質問者はトンさんに絡まれたくない時は冒頭にTONって入れときゃいいのか

692:デフォルトの名無しさん
09/04/24 13:29:23
じゃあsageの代わりにTONって入れればいいんじゃね。

693:デフォルトの名無しさん
09/04/24 18:26:36
まじぱねえっす

694:デフォルトの名無しさん
09/04/27 20:49:56
マイコンに接続されてるセンサー(今は温度センサーをつけてる)からデータを受けてviewクラスに値を渡したいのですが

項目名(温度センサーなら温度)とその値を持つ構造体の名前、どうしたらいいでしょうか
単純そうに思えてしっくり来る名前が思いつかないです

695:デフォルトの名無しさん
09/04/27 21:42:20
NameValuePair

696:デフォルトの名無しさん
09/04/27 22:43:49
SensorData

697:デフォルトの名無しさん
09/04/27 23:00:42
SensedData
SensedValue

698:デフォルトの名無しさん
09/04/28 06:39:45
DetectedParameter

699:デフォルトの名無しさん
09/04/28 21:20:06
SensorEntry

700:デフォルトの名無しさん
09/05/03 14:17:29
項目名と構造体名がお互いに愛し合っているなら、最も単純なものを。
そうではないが、刺激を与え合う関係であれば、中程度に複雑なものを。
誰もが気流に乗れていない状況であれば、いっその事名前をつけない。
客に媚びたいならば、可能であればジェネリクスを使う(同時に、客にはキッシュでも食わせておく)。

701:デフォルトの名無しさん
09/05/05 05:06:58
書き込む前にもう一度だけ読み返してさえいれば、こんな事にはならなかったのにな

702:デフォルトの名無しさん
09/05/06 10:21:45
むちゃしやがって・・・


703:ムモー
09/05/10 22:17:00
ClassName みたいな方法で名前を書くときって、
頭文字語を入れると読みにくくなるよね。
たとえば、「ABC法」という方法があって、
それをクラス化する場合、ABCMethod とすると読みにくくない?
AbcMethod にすべき?それだと頭文字であることが分かりにくいよね。


704:デフォルトの名無しさん
09/05/10 22:25:02
キャメル法って言うんでしたっけか。
_使うっていう俺は素人

705:デフォルトの名無しさん
09/05/10 22:33:16
InitializeAclとか。

706:デフォルトの名無しさん
09/05/10 22:39:49
>>703
俺はマイクロソフトのガイドラインに則って2文字か3文字以上かで分けてる。

IOMode ioMode;
XmlDocument xmlDocument;


707:ムモー
09/05/10 22:50:28
>>706
うーん。でも、「AB法」とそれを拡張した「ABC法」というのがあって、
一方は ABMethod でもう一方は AbcMethod っていうのは、よくないかなーって。
実際、今の仕事でそういうのがあるんだけど。

708:706
09/05/10 22:54:43
>>707
それはさすがにきもいな。
どっちかにそろえるべきだと思う。

709:デフォルトの名無しさん
09/05/11 00:52:32
可読性も重要だが、名前の衝突が深刻

710:709
09/05/11 01:07:27
いみふなので付けたし

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

なので、AbcMethodに一票
ABMethodは、作った人を殴りに行こう

711:709
09/05/11 01:10:21
よく読んでなかった。マイクロソフトな言語だったら殴んなくていいのね

712:デフォルトの名無しさん
09/05/11 02:01:23
Pythonならacronymのケースは全部大文字だな

713:デフォルトの名無しさん
09/05/11 03:51:13
709が恥ずかしすぎる件について

714:デフォルトの名無しさん
09/05/11 19:11:41
JavaScriptでボタンのonclickにセットする関数として、
押される度にあるdivの表示非表示を切り替える関数は
なんて命名したらいいですか?
switch~~とかchange~~とか付けてたけど、ふと気になった。

715:デフォルトの名無しさん
09/05/11 19:20:21
Toggle***Visibilityとか

716:デフォルトの名無しさん
09/05/11 21:15:30
>>710
命名規則に従わないとコンパイル通らないプログラミング言語でもない限り、
トラブルに巻き込まれるわけがないだろ……

つかコーディング規約ってものは「周囲に合わせる」のが常識だろ?
C++ Coding Standards の冒頭にも書いてるけど、
重要なのはルールに従うことじゃなく、一貫した書き方をしていること。
ABMethodがあるなら当然ABCMethodを期待するだろ。
名前の問題より、期待を裏切られるほうが深刻。
命名規則に盲目的に従うとかそれこそいみふだろ、常識的に考えて

717:デフォルトの名無しさん
09/05/11 21:37:42
709はもんのっすっごい馬鹿なTONさんて感じだな

718:デフォルトの名無しさん
09/05/11 22:21:19
>>716
一貫した書き方をするために、盲目的にルールに従う必要があるの。
大体「周囲」って何なんだよ。
命名規約に従うとABMethod、AbcMethodという状況で、
ABCMethodなんて規約に反した命名するのは俺からしたら思いっきり
「期待を裏切る」行為だけどね。


719:デフォルトの名無しさん
09/05/11 23:02:40
途中から関わる場合は周囲に合わせる。
最初から関わる場合は途中で変えない。

720:デフォルトの名無しさん
09/05/11 23:14:31
Java だと、名前が衝突したときに、obscure とか hiding とか shadow とか
(あと一つあったような)いろいろ面倒な概念が必要になるんだわ。
マイクロソフトは知らね

721:デフォルトの名無しさん
09/05/12 13:37:29
命名規約に従うなら、そもそも ABC なんて略語を使うのが規則違反なワケで
AnyBasicChannel とかナントカ(意味フ)みたいに、略さなければいいこと。
そうすれば ABC なのか Abc なのかで悩む必要はない。

ところで便乗質問。
ラクダ法で名前を付けるとき、最初の1文字は小文字にすべし。たとえば
inputOutputMethod
みたいになるわけだが、頭にアンダースコアを付けると
_InputOutputMethod
でいいの?i は2文字目だから大文字でいいの?

722:デフォルトの名無しさん
09/05/12 13:52:28
C/C++ の標準規格に従うなら、そもそも _Input なんて頭にアンダースコアをつけるのが規則違反なワケで
inputOutputMethod とかナントカ(意味フ)みたいに、つけなければいいこと。
そうすれば _input なのか _Input なのかで悩む必要は無い。

723:デフォルトの名無しさん
09/05/12 16:34:54
知らないならレスしないでください

724:デフォルトの名無しさん
09/05/12 21:18:25
>>721
所詮コーディング規約なんだから、
規約を知らない人間が理不尽だと思うようなルールには従わんでいいだろ。
「ハイフンの次は先頭じゃないから大文字でいいよ!」なんて
馬鹿げた規約が仮にあったとしたら、その規約を10部くらい印刷して全部破り捨てるね。

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

つかコーディング規約にやたら拘る人多いけど釣りなの?

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

ABCMethodをAbcMethodにしないと面倒という意味がわからないし、
そもそもこれが面倒になるようなコード書くなよとしか言えない。this.x = x;はよくやるが。
ついでにC++とかのADLとかtypedef typename とかと比べるとだいぶ簡単な気がするぞ。

726:デフォルトの名無しさん
09/05/12 21:55:36
>724
キャメルは先頭小文字で、先頭大文字はPascalだと思うが。

727:デフォルトの名無しさん
09/05/12 22:07:08
途中の大文字をラクダのコブに見たててのcamel caseだから、先頭は小文字であれかし。

728:726
09/05/12 23:09:45
wikipediaによれば総称camel caseで先頭大文字のものをupper camel caseまたはpascal case、
先頭小文字のものをlower camel caseまたは単にcamel caseと呼ぶ、だそうな。

729:デフォルトの名無しさん
09/05/12 23:25:38
オレの亀は頭がデカい

730:デフォルトの名無しさん
09/05/13 07:25:44
文中でも文頭でもcamelCase, PascalCaseとかけば誰も間違えないよ。

731:デフォルトの名無しさん
09/05/13 11:27:17
パスカルは天才だから頭がデカイ

732:デフォルトの名無しさん
09/05/13 12:13:15
頭を上げた状態のラクダがいてもいいんではないだろうか

733:デフォルトの名無しさん
09/05/13 13:45:11
チェザーレにお世話になってるんですね、わかります。

734:デフォルトの名無しさん
09/05/14 00:36:23
これから作るクラス名、"RewindableIterator" と "MementoIterator" のどっちにしようか悩んでるんだけど
分かりやすいのはどっちだと思いますか?

735:デフォルトの名無しさん
09/05/14 00:50:19
何作るのか知らんが
名前だけ見て動作が多少想像できるのは前者

736:デフォルトの名無しさん
09/05/14 01:02:36
MementoというとMementoパターンに関連したものをイメージするのだが、
IteratorがMementoパターンにどう関連するかわからない。


737:デフォルトの名無しさん
09/05/14 01:08:41
Mesomesoパターン

738:736
09/05/14 04:19:18
名前だけでだいたい通じるかなーと思って敢えて詳細は書かなかったんだけど、
普通のイテレーターの機能に加えて、
・saveState⇒現在のindexをスタックに追加(Push)する
・backState⇒スタックの先頭を取り出して(Pop)、現在のindexをそれに置き換える
ていう機能がついてる感じです。

個人的にはやっぱ前者かなーと。セーブ地点に「戻せる」ようにすることが目的であって、
状態のスナップショットを記録するっていうのはちょっと違うかなぁと。

739:デフォルトの名無しさん
09/05/14 04:20:03
あ、734だったw

740:デフォルトの名無しさん
09/05/14 04:22:03
restoreState

741:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/05/14 06:17:02
StickableIterator
RestorableIterator


743:デフォルトの名無しさん
09/05/14 07:14:21
UnwindableIterator

744:デフォルトの名無しさん
09/05/14 08:57:12
>>741
つ bidirectional iterator


745:デフォルトの名無しさん
09/05/14 09:04:57
>>738
だったら、いっそ以下。

StackableIterator
pushState()
popState()


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

int nIndex;

のポインタ変数を、

int* lpnIndex;

にしました。
この場合、int** のポインタ変数のプリフィックスは何にするのが一般的でしょうか。

747:デフォルトの名無しさん
09/05/17 14:33:20
俺はハンガリアン使わないけど、なんでlp(= long pointer)なんだ
Win32APIとあわせてるの?

748:デフォルトの名無しさん
09/05/17 14:57:36
lplpn

749:746
09/05/17 15:29:51
>>747
16bit 時代からプログラミングしてると、どうしても p は 16bit、lp は 32bit って意識が強いから、
lp にしちゃうんだよね

>>748
lplpn しかないか~。thx!

750:デフォルトの名無しさん
09/05/17 15:45:01
システムハンガリアンなんか使うな

751:デフォルトの名無しさん
09/05/17 18:26:39
ハンガリアンについての質問だからいいだろ。

752:デフォルトの名無しさん
09/05/17 22:23:19
8bit時代からプログラミングしてるが別にそんなこだわりない


753:デフォルトの名無しさん
09/05/17 22:58:08
           __
        , ‐' ´   ``‐、             / ̄:三}
.     /,. -─‐- 、.   ヽ        /   ,.=j
 _,.:_'______ヽ、 .!       ./   _,ノ
  `‐、{ へ  '゙⌒ `!~ヽ. !     /{.  /
    `! し゚  ( ゚j `v‐冫   , '::::::::ヽ、/
.    {.l   '⌒      ゙ 6',!   / :::::::::::::::/ __ そんなことよりTimeOfNowの話しようぜ!
.     〈  < ´ ̄,フ  .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
.      ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠.   ヽ_}  ゙ヽ
        ,.r` "´  /:::::::::::::::::::ィ´  `ゝ  !、  /
     /       / :::::::::::::::: ; '´   /´\ /   r'\
.     i      ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
     {      {:::::::::::;:イ /   ∥i:::::::/:::::::::::::/  \
.      ヽ       ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /    ヽ
      ヽ、 ,. ‐'"   .ノ ,〈    >   `'‐- '
          >   _,. ‐'´ / /    `)
       ,ゝ       _.⊥.-r┬:/
       ヽ_,. -‐i"!´「L.=!┘     ヽ
       <      / /       |
       /    、i / __     ./

754:デフォルトの名無しさん
09/05/18 06:47:56
通知機能(Yahoo!とかのアラート機能のようなもの)の通知条件を入れておく変数なのですが、

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

アドバイスお願いします。

755:デフォルトの名無しさん
09/05/18 06:49:07
condition

756:デフォルトの名無しさん
09/05/18 21:59:27
notificationTrigger

757:デフォルトの名無しさん
09/05/23 06:30:19
外部に接続してる計器からの値を受けて出力するPresentationに相当する基底クラスと
クライアント領域へ出力する派生クラスとファイルへ出力する派生クラス命名をお願いします。

758:デフォルトの名無しさん
09/05/23 09:56:06
Presentation
ClientPresentation
FilePresentation

759:デフォルトの名無しさん
09/05/23 12:32:57
なんという直球
だがそれがいい

760:デフォルトの名無しさん
09/05/23 12:38:15
今何番目か?を表す変数と
何個あるか?を表す変数

が紛らわしくていつも困る。
なんたらnumとか言われてもどっちを指しているのかわからん。

761:デフォルトの名無しさん
09/05/23 12:55:11
個数はcount、順序はnumber。

762:デフォルトの名無しさん
09/05/23 14:19:18
あれ?そういうもんなの普通は。
countってなんかループカウントみたいで使ったことないな…

763:デフォルトの名無しさん
09/05/23 14:30:32
困るねぇ
index と length に持ってければ length にしちゃう


764:デフォルトの名無しさん
09/05/23 14:42:54
個数は先頭にnもしくはnumberOfをつける
順序はi, j, kもしくはindex,id

765:デフォルトの名無しさん
09/05/23 15:19:19
>>760
Code Completeではnumberはさけて、indexとcountを使うとあったよ。

>>762
ループカウンタはi, j, kしか使わない、ってことにすればすっきりするよ。

766:デフォルトの名無しさん
09/05/23 15:31:52
>>765
なるほど。thx

767:デフォルトの名無しさん
09/05/23 21:33:48
今更なんだが、4方向をつけるとしたらrightとleftは迷わないんだが、
上と下ってup,above,under,lowのそれぞれどれがいいんだ?
辞書で調べたんだが、今一どれが一般的なのか分からん。

768:デフォルトの名無しさん
09/05/23 21:37:34
一般的にはupとdownでは

769:デフォルトの名無しさん
09/05/23 21:37:48
>>767
単純に(矢印で表されるような)方向のことならupとdownを使ってる。
上辺とか下辺という意味が強いならRECTにならってtopとbottomにしてる。

770:デフォルトの名無しさん
09/05/23 21:47:47
やっぱupとdownか。
ありがとう。

771:デフォルトの名無しさん
09/05/23 23:28:49
javaとCです、ユークリッド互助法で使う
除算の余りを表す変数名に相応しいものを、それぞれについてお願いします。

772:デフォルトの名無しさん
09/05/23 23:42:49
>>771
URLリンク(en.wikipedia.org)

773:デフォルトの名無しさん
09/05/23 23:50:32
>>772thx
java、cともにgcdと命名します

774:デフォルトの名無しさん
09/05/24 06:22:14
えっ…?

775:デフォルトの名無しさん
09/05/24 07:52:12
えっ

776:デフォルトの名無しさん
09/05/24 10:36:04
キーワードを列挙するテキストフィールドの名前はkeywordFieldか、keywordsFieldか…

777:デフォルトの名無しさん
09/05/24 15:49:14
>>773
関数名ならgcdでいいが局所変数は(ry

778:デフォルトの名無しさん
09/05/24 20:39:06
>>776
英語的には textfield (that) Enumerates Keywords とか?
textfiledEnumKeywords
とかなんとか。
変ですかすいません。

779:デフォルトの名無しさん
09/05/24 21:17:00
それはネタで言ってるのか

780:デフォルトの名無しさん
09/05/24 21:58:12
えっ

781:デフォルトの名無しさん
09/05/24 22:18:15
>>776
キーワードってのが既に曖昧じゃない?改めた方がいい気がする
列挙する機能がそれに付いてるのなら~sFieldでいいと思う

782:デフォルトの名無しさん
09/05/24 22:30:57
keywordEnumerationField

783:デフォルトの名無しさん
09/05/25 13:48:04
数値をKBとかGBとかの単位に変換する
処理(関数)の名前をお願いします。


784:デフォルトの名無しさん
09/05/25 14:30:57
toSIPrefix

785:デフォルトの名無しさん
09/05/25 19:24:02
C++を使ったゲームのプログラムで、
指定されたボタンが押されたかどうかをチェックする関数名をお願いします。


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

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

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




次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch