- 1 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 23:36:31.74 ID:uXFKqVsm.net]
- クラス名、変数名のつけ方に悩んだら書き込むスレです。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。 前スレ クラス名・変数名に迷ったら書き込むスレ。Part25 peace.2ch.net/test/read.cgi/tech/1416550677/
- 552 名前:デフォルトの名無しさん mailto:sage [2016/09/08(木) 12:21:45.95 ID:/jas+dzW.net]
- >>546
テキストの場合こんな感じだわ save(filename) // このファイルにセーブしてね { // メンバからデータ作成 ループ { write(data1, data2) // ファイルに1行書き込んでね } } write(data1, data2){ // 整形して書き込むよ }
- 553 名前:デフォルトの名無しさん [2016/09/08(木) 12:26:24.25 ID:Np5jfle7.net]
- そんなに重箱の隅に拘ってばかりいても仕事が遅れるだけで何も得する事なんかないぞ
強いて言えば自己満足が得られる事位だな
- 554 名前:デフォルトの名無しさん mailto:sage [2016/09/08(木) 19:03:27.40 ID:Z3Cmr8YU.net]
- ファイルI/OのAPIを再発明する意味は無い。
もっと高度で複雑な機能を提供するAPIであれば、命名に迷うことはない。 命名に迷うようなAPIは作る必要がないと言える。
- 555 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 01:03:15.51 ID:2/nVp6Pi.net]
- sageとかloadとか普通に考えて高機能APIの冠詞の話だろ。
なぜ低レベル基本ライブラリ程度のI/O命名話と読み取れるのか不思議だわ。 それすら読み取れない奴を相手にするから命名に慎重になる訳だな。
- 556 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 08:27:45.93 ID:QJ2gNjYD.net]
- >>546
そんなに迷うかな load … ファイル全体を読み込む read … ファイルの一部を読み取る(readLineとか) get …トークン単位で読み取る(CSVを二次元配列化して各要素を読みとるとか)
- 557 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 08:40:14.18 ID:QJ2gNjYD.net]
- >>544
>>529が「storeをどういう意味で使っているか」「storeを冠する機能/変数に期待する動作」に依るんじゃないかな 場合によっては Issue, receipt とか、代替案が出てくるかもしれない
- 558 名前:551 mailto:sage [2016/09/09(金) 08:43:18.72 ID:QJ2gNjYD.net]
- > get …トークン単位で読み取る(CSVを二次元配列化して各要素を読みとるとか)
GETは「HTTPリクエストメソッド」の意味で使われる事もあるけど、ファイルI/Oでは出番がなさそう
- 559 名前:デフォルトの名無しさん mailto:sage [2016/09/09(金) 09:34:53.05 ID:D/rbZjJQ.net]
- >>553
fgets「」
- 560 名前:551 mailto:sage [2016/09/09(金) 13:51:45.75 ID:1v09h6kq.net]
- >>554
そういえば、そんな関数もあったねfile_get_contents もあるか このスレ的にはなしもしれないけど、個人的には言語の流儀に合わせて命名規則は変えてる >>551はイメージなので参考程度で
- 561 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 01:13:35.84 ID:emqVsnSG.net]
- 処理が一時停止中、キューにタスクが貯まっていきます。これらのタスクは後で実行するんだけど、このキューの名前に迷っています。
「後回しにしたタスク」的なニュアンスがいいのかなと思うんだけど、postPoneTaskとかになるんだろうか? Post Poneという単語を今まで使ったことがないというのもあり、個人的には何だか違和感があるんですが、おかしくはないでしょうか?
- 562 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 01:17:31.08 ID:AsFdIIx/.net]
- >>556
キューなんだからキューでいいでしょw TaskQueueって名前みたら、それはタスクのキュー、つまり順番に実行するタスクが入ってるキューなんだたって 普通わかるよw
- 563 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 01:18:55.50 ID:AsFdIIx/.net]
- 今時のIDEならTasksだけでもいいよね。
- 564 名前:デフォルトの名無しさん [2016/09/10(土) 05:45:16.09 ID:daVWdqqd.net]
- 東京電力のデータ通知遅延は一進一退、使用量の不明が5000件以上に
www.itmedia.co.jp/smartjapan/articles/1609/09/news038.html まだ2/3が未確定だそうです
- 565 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 05:57:30.56 ID:vzxsIqCG.net]
- waitingTasks
- 566 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 07:09:58.23 ID:gtm18GlU.net]
- pendingTasks
- 567 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 11:42:41.69 ID:jtrUVOIC.net]
- 言語はC++とWin32API
HWND Parent これが基底クラスと派生クラスで被らないようにしたい メニューのParent TimerやThreadやDialogのParent コントロールのParent etc 皆それぞれ名前分けてんの?
- 568 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 15:27:24.01 ID:JzcpUnlP.net]
- ハンガリアンやで
- 569 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 16:22:21.03 ID:jtrUVOIC.net]
- hwndMenuParent
hwndTimerParent hwndThreadParent hwndDialogParent hwndControlParent (hwndEditBoxParent) てこと?
- 570 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 16:44:16.76 ID:qbdJrNQP.net]
- 何で別の名前をいちいちつけたいと思うのか理解できません
- 571 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 16:54:38.06 ID:jtrUVOIC.net]
- >>565
そうですか
- 572 名前:デフォルトの名無しさん mailto:sage [2016/09/10(土) 23:54:58.42 ID:7MaNMesA.net]
- 俺はここ数年名前の付け肩の方針がかなり変わって、
1:書くとき間違えにくい名前 (略しかたの違いや類義語がないかなど) 2:似てるけど違う意味の単語を付けやすい名前。(処理の段階によって違う変数が必要だったり、似た概念の変数が複数あったり) 3:右長にならないような名前。(特に構造とか階層とかもち始めると右長になって大変)。 を一生懸命考えるようになった。 以前は、正しい名前とか、誰が見ても分かる名前とかそんなのだった。 しかし、そこまで正しい名前であることのメリットはなかった。
- 573 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 08:18:25.11 ID:vN9TAtb9.net]
- >>564
親が同じなら名前が同じでもいいんじゃね 曖昧と怒られるならスコープ解決演算子で解決 >>565 理解できないなら無理してレスしなくていいぞ
- 574 名前:デフォルトの名無しさん [2016/09/11(日) 10:51:27.32 ID:EVh79L2H.net]
- アスペの為に解説するとこの文脈での「理解出来ない」は「馬鹿じゃね?」と同等の意味を持ちます
- 575 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 12:31:53.77 ID:6V9l7/sG.net]
- >>567
右長とは? 左は長くなくて右は長いのか…
- 576 名前:デフォルトの名無しさん mailto:sage [2016/09/11(日) 12:38:07.21 ID:6V9l7/sG.net]
- >>567は連結した単語の長さを表しているのかな
pLength … 右長(みぎなが) blockBoxMarginR … 左長(ひだりなが) classNameLength … 全長(ぜんなが) しかし、「全長(ぜんなが)」が「全長(ぜんちょう)」に見えて仕方ない
- 577 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 06:56:03.48 ID:qgvsKaXQ.net]
- 日 本 語 名 最 強
- 578 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 18:02:34.68 ID:1eCNbR7A.net]
- 何かを数える場合の変数として、
count と number という英単語は どう使い分けたら良いでしょうか?
- 579 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 18:06:26.21 ID:dC9AlG3D.net]
- numberは重い
あだ名やコードネームと同じくらい重い場合がある
- 580 名前:デフォルトの名無しさん [2016/09/12(月) 18:27:48.74 ID:jVd9Q+Yf.net]
- iでええやろ
- 581 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 18:47:19.19 ID:0pjXoVUQ.net]
- >>573
英辞朗でも見れば済む問題じゃないの?w 普通に考えてnumberの方が意味が広いよね。 countは物の数にしか使えないから、例えばID numberって表現はありえてもID countはありえないと思う。
- 582 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 19:08:52.14 ID:y21Asc3i.net]
- count は1つずつ数える個数
number はもっと幅広いし、数値以外の文字型なんかと区別する場合に使う
- 583 名前:デフォルトの名無しさん mailto:sage [2016/09/12(月) 19:18:25.72 ID:WjBwz+Qy.net]
- >>573
何かを数えるの「何か」による
- 584 名前:デフォルトの名無しさん [2016/09/12(月) 19:20:31.49 ID:jVd9Q+Yf.net]
- 仮に美少女のうんこを数える事にすればいいだろ
- 585 名前:デフォルトの名無しさん mailto:sage [2016/09/13(火) 00:33:10.56 ID:i+B2+ZxE.net]
- valueも候補に入れて悩みなよぉw
- 586 名前:デフォルトの名無しさん mailto:sage [2016/09/14(水) 22:38:46.58 ID:mVQoCvvP.net]
- 基数と序数で使い分ければ良い
- 587 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 13:59:17.14 ID:5TgdInEL.net]
- なんかstoreの話題に乗り遅れたけど
MFCだと CArchive::IsStoring() なんてのがあったよ、とだけメモ。 その反対は CArchive::IsLoading()
- 588 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 21:27:08.25 ID:X7cHXqnF.net]
- 処理の長いhoge関数が実行中かどうか分かるように
変数でフラグ立てようと思ってるのですが 定番の名前とかあったりします?
- 589 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 22:03:54.99 ID:jitSjVRZ.net]
- is_executing
- 590 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 22:15:37.93 ID:X7cHXqnF.net]
- >>584
関数名を入れるとexecutingは長いので isHogeで行こうと思います ありがとうございました
- 591 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 22:38:42.90 ID:FSvwZ9Ge.net]
- 待って、色々と待ってw
- 592 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 23:09:45.76 ID:xGaWkelz.net]
- hogeが動詞なら、isHogeing とか
- 593 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 23:12:22.65 ID:X7cHXqnF.net]
- (?w?)
- 594 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 00:12:07.05 ID:XJ4euwgU.net]
- なんでそこでハテナマークなんだw
- 595 名前:583 mailto:sage [2016/09/18(日) 00:21:44.28 ID:Knp+gLDN.net]
- >>586
(?w?)
- 596 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 07:12:56.82 ID:Wkbj4nCn.net]
- >>585
isHogeは「引数がHogeか否かを真偽値で返す関数」と認識される
- 597 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 08:46:39.89 ID:epT5qit0.net]
- Hoge + ingは
Hogingになるのでは
- 598 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 09:20:22.19 ID:XJ4euwgU.net]
- >>592
Fooesとかもそうだけど、変化させるかどうか迷うんだよな
- 599 名前:583 mailto:sage [2016/09/18(日) 10:03:56.68 ID:Knp+gLDN.net]
- >>591
ありがとうございます そんな意味になってしまうのですね 何か他にいいのがあればぜひともお願いします is_executing_hogehage
- 600 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 10:14:01.89 ID:KgBDTYcp.net]
- たいてい関数名は動詞だから、play()ならisPlayingだね。
- 601 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 11:48:28.70 ID:UHIpCJou.net]
- in_running とか in_connect って良く使うんだが英語としては変だったかな
- 602 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 12:39:46.36 ID:QKIaWHLH.net]
- >>594
そもそも、当然スレッドなりタスクなり使ってるんだろうから そっちの状態を見ればそんな変数なんか必要ないと思うんだけど まあ、本当に必要なら論理は逆になるけどこっちの方が分かりやすいと思うよ IsHogeFinished IsHogeDone IsHogeComplete
- 603 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 12:46:50.47 ID:Wkbj4nCn.net]
- >>594
この手の変数はインスタンスプロパティで作りたくなるな Hoge#busy Hoge#readyState
- 604 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 13:33:46.81 ID:5laE9Kgu.net]
- 規約で決められてないのにis名詞+分詞とか動詞にしてるやつはバカにしか見えない
- 605 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 13:45:26.76 ID:+k6IbFWd.net]
- バカに思われようが、そんなことはどうでもいい。
プログラムコードの主な読み手が自分だったなら、 自分が一番分かりやすい名前を付けるべきだと思う。 変数や関数の役割が分かるように、処理の流れが自然に追えるように。 後で読み返してみて意味がくみ取れなくなるなんて本末転倒もいいところ。 それこそバカにしか見えない。
- 606 名前:デフォルトの名無しさん [2016/09/18(日) 13:55:17.65 ID:l1WAFSLJ.net]
- >>600
自分?
- 607 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:38:07.71 ID:/Q0b75iC.net]
- >>601
自分が自分を信じられないなら自分が自分を信じてる自分を信じろ 関西人なら通じる
- 608 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 14:44:04.74 ID:+k6IbFWd.net]
- >>601
もちろん、主な読み手が自分じゃなきゃ、その人(ら)が一番分かり易いように書く。 例えば、コミュニティーにパッチを提供してるとか。 その場合も、全然関係ない2chの住人にネーミングセンスをあれこれ言われる筋合いはないし、 名付け方のアドバイスを訊くなら、こんなスレじゃなくコミュニティーに直接聞くべき。
- 609 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 15:22:58.62 ID:63JI2jED.net]
- どうせ1個しか使わねぇなら
runningでいいよ。
- 610 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 15:32:15.82 ID:epT5qit0.net]
- 自分ならこうするとか出さずにケチつけるだけのバカはスルーでいいと思う
- 611 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 15:54:53.01 ID:CxVr26OT.net]
- なぜ「こんなスレ」に来たのかと
- 612 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 16:13:20.39 ID:/Q0b75iC.net]
- 質問者も回答者も必要としているから来ているのに
全否定するなら来なきゃいいのにね コミュニティ(プロジェクトチームだよね?)が存在す
- 613 名前:るなら
規約があるだろうに [] - [ここ壊れてます]
- 614 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 16:17:18.62 ID:lwtBalzC.net]
- >>605
私のことを言ってるのなら >>587 で案は出した。
- 615 名前:デフォルトの名無しさん mailto:sage [2016/09/18(日) 16:56:52.19 ID:epT5qit0.net]
- >>608が>>587以降どれなのか分からないからなんとも言えない
- 616 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 09:39:55.22 ID:RiFwOng1.net]
- 自分なら「その関数の下に付随するもの」を明確にするために
Hoge::IsRunning() とか Hoge_IsRunning() みたいな名前にしたいな
- 617 名前:598 mailto:sage [2016/09/19(月) 12:29:50.12 ID:+qZcElwT.net]
- >>610
isRunningでは「runningとは」という意味になってしまう finction Hoge_isRunning (arg) { return arg === HogeRunning; } >>599も似たようなことを指摘してるが、何でもisを付ければ良いというのは短絡的だと思う is****は****と同一性評価する為に使うものでステータスを確認するものではない あなたの意見の延長で考えるなら HogeRunning が妥当だろう
- 618 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 12:37:45.35 ID:dWsrNIgM.net]
- >>611
さすがに何を言ってるのか意味が分からないw isRunningは主語が欠けているがかろうじて英語になっているけど、 HogeRunningは英語にすらなってないw 文脈によっては(つまり何がRunningかが自明であれば)isRunningは選択肢に入るが、 HogeRunningじゃ何のことだかまったく分からないよw
- 619 名前:598 mailto:sage [2016/09/19(月) 12:44:41.25 ID:+qZcElwT.net]
- ちなみに>>598はそれぞれ下記を意図している
> Hoge#busy Hogeは動作中であり、二重起動を許さない 排他的動作を望むならこれ > Hoge#readyState document.readyStateのように複数の動作ステータスを定数で管理する 「動作中」というより「動作可能な状態」を見る名前なので>>583の意図とは少し違ったかもしれない 後はHTMLMediaElementのプロパティ名が参考になると思う https://developer.mozilla.org/ja/docs/Web/API/HTMLMediaElement 素直に考えるなら executing か running だろうな 最も、>>585を見てると hoge, hogeExecuting, hogeFoo のように接頭辞を付けて名前を並べている印象で設計上の問題も感じられるが (PHPのような命名規則は全く美しくないと思う)
- 620 名前:598 mailto:sage [2016/09/19(月) 12:46:44.68 ID:+qZcElwT.net]
- >>612
改めて読んだが、Hoge_isRunning は Hoge === Running の等価性を評価しているように見える
- 621 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 12:56:37.47 ID:dWsrNIgM.net]
- >>614
何が言いたいのかよくわからんけど、あえてそんな変な語順を採用する理由なんか何もない。 普通に英語通りisHogeRunningでいい。 あなたは Is light red? light(信号)と赤の等価性を尋ねているとか思うのかな?w
- 622 名前:610 mailto:sage [2016/09/19(月) 13:41:43.01 ID:RiFwOng1.net]
- >>611
英語はそれこそ中学英語レベルしか自信ないけど X is running で「Xは走ってる」(この場合は実行中だが)にはならんってこと?
- 623 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:07:58.75 ID:dWsrNIgM.net]
- >>616
なるから変なんでしょ。 「Xが実行中かどうか」を表す変数の名前が肯定文だったらおかしいでしょ。 その変数が表すべきなのは「Xが実行中かどうか」なのであって、 「Xが実行中である」という定言が正しいか間違ってるかじゃないんだよw
- 624 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:24:01.60 ID:FalA4T6t.net]
- 肯定文で別におかしいとは思えん
メソッドなら疑問文にするけど
- 625 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:32:21.32 ID:oMXaxPTM.net]
- 変数名なら明確にするためにHogeを入れる可能性もあるけど
それなら見りゃわかるしisなんてつけないし限定できるならrunningだけで済む メソッド名だったらこんな名前がつく時点で設計がおかしい
- 626 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:35:34.44 ID:RiFwOng1.net]
- >>617
ああ、そういうことか。 IsFoo()は疑問文だよ派と、疑問文じゃないよ派があるじゃん? そこですれ違いが起きてたんだな。
- 627 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 14:41:14.57 ID:nr8fG4n4.net]
- >>620
IsX() Xですか? IsFoo() Fooですか? 疑問文じゃなかったらどういう意味にとらえるん? 主語どこいったん
- 628 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 15:04:21.27 ID:P5Fkfkju.net]
- これはXですか?
あなたは誰ですか? 誰ってなんですか? アスペ乙
- 629 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 15:05:13.81 ID:W9V/RaHi.net]
- ざっとググったが。
MS IVsaEngine.IsRunning プロパティ スクリプト エンジンが現在実行モードかどうかを報告する Boolean 値を取得します。 Apple isExecuting A Boolean value indicating whether the operation is currently executing Android MediaPlayer.isPlayingメソッドを使い再生しているかチェックすることが出来る。 if(gameBgm.isPlaying()) { gameBgm.pause(); } あとこれ stackoverflow.com/questions/6950841/is-using-is-to-name-boolean-variables-bad-practice
- 630 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 15:14:09.76 ID:RiFwOng1.net]
- >>621
元はオブジェクト指向が組み込まれてる言語での命名規約だと思うけど Bar.IsFoo() → BarはFooである(ときに真になる) という考え方がある
- 631 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 15:45:36.28 ID:KoK4joax.net]
- >>624
Bar.IsFoo() → Bool 戻り値みたら意味が分かるからね、IF文に入れると美しいよ メソッド名ばかりに囚われずに引数や戻り値の型を情報にしないとな
- 632 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 16:14:29.05 ID:nr8fG4n4.net]
- >>624
それ>>610と同じ事言ってるから>>611以降ループするような 個人的には>>620でクラス省略してたんか納得なんだけどな
- 633 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 16:25:38.99 ID:RiFwOng1.net]
- >>626
わざと肯定文にしてるってだけの話なので 話題がループすると言われたらそうかもねw
- 634 名前:583 mailto:sage [2016/09/19(月) 18:38:45.41 ID:yO6KMXAM.net]
- 皆様ありがとうございます
完全に我流でやってきたので変数名に関してはさっぱり分からないので 議論を含めて勉強になります φ(。_。*)メモメモ
- 635 名前:デフォルトの名無しさん [2016/09/19(月) 18:46:53.72 ID:HiH7SQ7t.net]
- 自分の状態を返すメソッドを作らないといけないJava。
いまとなっては欠点。
- 636 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 19:11:09.78 ID:W9V/RaHi.net]
- それは言語使用じゃなく設計・実装の問題。
べつに、状態をaskせずにがんがんtellする作りでも構わない。 つかOOPではtell don’t ask(なるべく)と言われてる。 まスレチだけど。
- 637 名前:デフォルトの名無しさん mailto:sage [2016/09/19(月) 19:25:10.20 ID:W9V/RaHi.net]
- あーもしかしてアクセサの自動生成の事かな。
それは欠点かも。開発環境によってはできるようだが。
- 638 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 02:10:10.44 ID:e0L1bcAS.net]
- >>620
「IsFoo()は疑問文だよ派」って日本人にしか居ないんじゃね?って思ってる。 https://stackoverflow.com/questions/1566745/boolean-method-naming-readability
- 639 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 02:59:04.85 ID:Cm1yXv5P.net]
- >>632
それは冗長さを避けるための妥協だと思うよむしろw あとisと違ってdoesの場合は主語の省略が許されないっていう英語の構文の都合もあると思う。
- 640 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 05:53:47.12 ID:OvbuO/pb.net]
- >>632
ブール値を返す関数やプロパティってIF文での使用が前提なのだから 疑問文じゃおかしいんだよなあ
- 641 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 10:43:46.67 ID:I6O94rhW.net]
- >>634
代入や比較、条件演算子もあるよw
- 642 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 10:50:27.61 ID:w3uYhEGb.net]
- 通常会話の ? と同じ意味でなくてもよいだろう。
0 or 1 = bool? 動的にどちらかが返されるので "bool?" 別にブールかどうかを聞いてるわけではなくて、boolと言う型の名称を指してるわけでもなくて。
- 643 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 10:54:48.35 ID:KnjyA1F8.net]
- >>634
if( これはペンですか? ) 「これはペンですか?」が真「かどうか」は無理?
- 644 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 11:14:21.36 ID:pL9mhHAw.net]
- 日本語からやりなおせよもう
- 645 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 11:24:20.84 ID:KnjyA1F8.net]
- 関数名の流れだからな
「これはペンですか?」を関数名としてみたらいい その答え(戻り値)が真「かどうか」って説明のがよかったな
- 646 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 11:45:19.36 ID:w3uYhEGb.net]
- ペンか否か? → ペン?
なんら問題を感じない
- 647 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:15:34.35 ID:or4BStYo.net]
- これはペンであるという命題があって真であるか偽であるかという議論ができる
これがさすものはこの場合オブジェクトなので 英文はThis object is a penとなる プログラム言語の構文による制約を加えるとobj.IsPenが正解となる
- 648 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:22:19.81 ID:zA4ozj3G.net]
- だからそれは違うってw
変数の値やメソッドの返り値が表しているのはyes/noであってright/wrongじゃないw
- 649 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:47:00.75 ID:or4BStYo.net]
- まあ人間は考えるだけなら自由だからいいけど
- 650 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 21:48:30.22 ID:EJ4QdJ/o.net]
- 違う。
True / false 何が真であるかは仕様によるので暗記するかそのつど調べてください。 プログラム言語における "?" は戻りが不明瞭な場合に、それをプログラマに対して明示的に伝える役目を果たします。
- 651 名前:デフォルトの名無しさん [2016/09/20(火) 21:51:57.12 ID:+3HpdUPY.net]
- いいえ。それはパンです。
- 652 名前:デフォルトの名無しさん mailto:sage [2016/09/20(火) 22:12:38.89 ID:zA4ozj3G.net]
- 話の通じないお方。
例えば与えられた自然数が素数ならtrueを返すメソッドがある時、 普通のプログラマはその戻り値は「xが素数であるかどうか」(yes/no)を表していると考えるでしょ? 「xが素数である」という命題が正しいかどうか(right/wrong)を表しているって考える人いる? まずいないでしょ。 前者は、別の言い方をしたら「xは素数ですか?」っていう質問に対する答えだよね。
|

|