- 1 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 23:36:31.74 ID:uXFKqVsm.net]
- クラス名、変数名のつけ方に悩んだら書き込むスレです。
命名規則や設計の善し悪しについて議論するのは基本的に禁止。 前スレ クラス名・変数名に迷ったら書き込むスレ。Part25 peace.2ch.net/test/read.cgi/tech/1416550677/
- 339 名前:デフォルトの名無しさん [2016/04/30(土) 20:00:51.29 ID:WILOMmUT.net]
- オナニーならご自由に。
- 340 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 20:21:55.04 ID:n7hI6rwd.net]
- 条件分岐は馬鹿の使うものなんだよなあ
- 341 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 23:39:14.08 ID:q5h6kmnB.net]
- Checkはvoid型で偽なら例外ぶんなげる。
- 342 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 23:42:13.18 ID:n7hI6rwd.net]
- 例外投げるなら
assert require ensure やろ
- 343 名前:デフォルトの名無しさん [2016/05/01(日) 09:11:08.43 ID:tKi6j9CT.net]
- 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません y
- 344 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 14:56:28.30 ID:Ke9bfrqP.net]
- 数値 = 関数名(確率);
関数は、whileか何かをおこない、確率が真になり続けた回数分のカウントを記録する。 その回数が戻る。 例:引数が0.45の場合、45%でwhileかなにが実行される。 この場合、関数からは55%の確率で0が返り、24.75%の確率で1が返り、20.25%の確率で2以上が返ることになる。 1:関数の適切な英語の名前を教えてください。(もしくは数学的名称を教えてください) 2:関数の適切な日本語の名前を教えてください。 3:上記の関数を、数学的記法で書くとどうなるか教えてください。
- 345 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 15:05:24.75 ID:pcOhaWKy.net]
- 質問です。
エディタやファイラにはよく、偶数行と奇数行とで文字色や背景色を変える機能がありますよね。 これをクラス名にしたいのですが、英語(あるいは日本語でも)ではどのような呼び方が一般的でしょうか。 >>341 ダブルアップとか連続成功数とか、そういう感じかしらね
- 346 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 18:22:12.18 ID:skS2OG8T.net]
- >>342
ZebraLines ZebraStripes [ Zebra Stripes|lines excel ] で画像検索してみれ
- 347 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 18:54:34.07 ID:mqpOF0td.net]
- 行を表す描画モデルにEvenRowStyleとOddRowStyleを加えるだけでしょ
- 348 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 19:08:54.27 ID:x698zMNJ.net]
- >>343
その表現は知らんかった。 なるほど。 しかし、質問者のいう機能をクラスにするってのはちょっと違和感あるね。
- 349 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 19:37:31.46 ID:skS2OG8T.net]
- >>344,345 確かにそうだ
- 350 名前:342 mailto:sage [2016/05/03(火) 22:08:12.37 ID:pcOhaWKy.net]
- ありがとう。
Zebra Stripesという表現があるんですね。 ちなみに、Unityのエディタ拡張としてクラス化してました。
- 351 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 11:05:28.49 ID:PtD8OXpj.net]
- javaだとboolで動詞からはじめる場合は三単現にしろなんていわれますが
他の言語はオープンソースなどを見ているとついていないものがほとんどのように見受けられます (慣習的に使われているものはsつきが多いようですが) 文法上はsつかないとおかしくねってなるのでネイティブ圏の人は気にするのかと思ってたのですが 別に明確な英文じゃないし、なくても変数かメソッドかの区別さえつけば割とどうでもいいんですかねこれ
- 352 名前:デフォルトの名無しさん mailto:sage [2016/05/30(月) 21:24:10.84 ID:K+n0hpg6.net]
- >>348
大事なことはソースの読者を意識すること。 主に誰がソースを読むのか、誰に読んでほしいかを考えて、 できる限りその人(ら)が読みやすいように書くこと。 (もちろん、自分自身のみ、ということもある) あなたのソースを主に読む人にとって、 三単現にした方が読みやすいだろうと予想したなら、絶対にそうすべき。 三単現にしない方が読みやすいだろうと予想したなら、絶対にそうすべき。 読者はそんな事気にしないだろうと予想したなら、あなたも気にするな。 そうやって、読者を最優先に意識した書き方のルールを他人ではなく書き手が決める。 皆がやってるから、本に書かれてたから、じゃないんだよ。 もちろん、その皆とあなたのソースの読者が重なっているなら真似すればいいけどね。 ちなみに、ネイティブが主な読者なら、ここで質問するのはどうかと思う。 StackOverflowにでも訊いた方がいい。 かなり恥ずかしい拙い英語でも、たいていは紳士的に答えてくれる。
- 353 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 10:39:21.65 ID:/xnNbwal.net]
- Aからの距離を返す関数名は何にする?GetIndex?
引数は 'A' <= 'Z' で確定 char a = 'B'; func(a); // 1が返る int func(char a) { return a - 'A'; } A = 0 B = 1; Z = 25
- 354 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 11:37:39.85 ID:aKIJ7KQZ.net]
- GetOffsetFromAとか?
あとToAlphabeticOrderとか?
- 355 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 12:27:49.74 ID:GY90+sB3.net]
- >>350
distanceFromA "distance"はC++標準ライブラリで2点のイテレータ(ポインタ)の距離を求める関数名から cpprefjp.github.io/reference/iterator/distance.html
- 356 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:30:19.10 ID:iDs7a7Tk.net]
- >>351-3522
ありがとう!
- 357 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 09:48:11.79 ID:IwWQQgjS.net]
- >>351-352ね
- 358 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 11:54:46.10 ID:HhRyFvd+.net]
- thanks in advance ってやつか
- 359 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 14:58:50.59 ID:LkNHIPjr.net]
- 違う違うw
- 360 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:52:00.22 ID:6G4RxP+T.net]
- 動詞、あるいは動詞と同じつづりの単語を、
目的語として変数名や関数名に組み込みたい。 このとき、どう命名するのが誤解が少なくスマートでしょうか。 例えば「Set関数(set function)」という言葉があるとして これを保持する変数があったとすると、そのままだと setFunction になりますが しましこれだと「関数をセットする」という意味に見えます。 同様に、「Set関数を取得する」も素直に書くと GetSetFunction となり、ワケが分かりません。 変数と関数では命名が異なることも多いでしょうから、 そのあたりで対応することは可能でしょうけど、あまりしっくりきません
- 361 名前:デフォルトの名無しさん [2016/06/05(日) 08:23:59.98 ID:XRNn81gU.net]
- >>357
そもそもSet関数という言い方がおかしいだろw
- 362 名前:デフォルトの名無しさん [2016/06/05(日) 08:25:58.11 ID:XRNn81gU.net]
- >>357
関数名にファクションという言葉は普通、つけない。
- 363 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 08:28:19.83 ID:GsmfrrQQ.net]
- 関数の名前にFunctionと付けてるわけじゃなく関数のポインタを保持する変数の名前の方じゃないか多分
- 364 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 08:30:49.82 ID:4pXfFBXo.net]
- >>357
>>357の言うSet, Getの動作がわからないとなんとも Set関数を取得するってのもポインタ取得するだけでいいのかとか 取得って言ってるけど実は呼び出しなのかとか >>359 論点では突っ込まないで揚げ足を取るバカ
- 365 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 08:31:01.93 ID:TM3QCo+d.net]
- >>359
ゲッターに gettarHogehage() セッターに setterHogehage() という名前を片っ端から付ける頭のおかしい奴もいるぞ。
- 366 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 08:32:28.03 ID:TM3QCo+d.net]
- gettar → getter
- 367 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 08:35:21.09 ID:GsmfrrQQ.net]
- Set関数という言葉の方を何とかしたくなるな
- 368 名前:デフォルトの名無しさん [2016/06/05(日) 08:40:03.37 ID:XRNn81gU.net]
- 何をセットする関数なのかが自分で分からないところが超初心者っぽいよな。
- 369 名前:357 mailto:sage [2016/06/05(日) 09:34:14.37 ID:6G4RxP+T.net]
- すみません、言葉が足りていませんでした。
「Set」というのは、あくまで問題が発生しやすい一例と考えてください。 また、この「Set」は自分が作った名前ではなく 既存のシステムに存在する予約語だったり、プロダクトごとの固有名詞を想定しています。 例えばSQLにはSET句という言葉が登場します。
- 370 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 09:40:12.69 ID:6G4RxP+T.net]
- >>361
あくまで一例ではあるのですが Cなら関数ポインタ、言語によっては関数そのもの…という感じでしょうか。 >>364 ほんと同感です
- 371 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 10:14:16.50 ID:rqrEGD9X.net]
- 別にGetSetFunctionでいいよ
例外作られた方がかえって意味不明になるわ GetだのSetだのというのはハンガリアンみたいなもんなんだから英語的に自然かどうかなんてどうでもいい
- 372 名前:デフォルトの名無しさん [2016/06/05(日) 10:55:05.77 ID:4dJDj7dU.net]
- 最悪の名前
- 373 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 10:59:41.44 ID:4pXfFBXo.net]
- >>369
最良の名前頼んだ
- 374 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 12:38:14.99 ID:yu++c++x.net]
- >>366
申し訳ないけどやっぱり何を言ってるのかよくわからないわ。 そもそもここは具体的な命名を人に聞くスレだから抽象論じゃなくて 具体的な例を挙げないと。
- 375 名前:デフォルトの名無しさん [2016/06/05(日) 16:38:54.70 ID:FUwALgQ9.net]
- 要するに自分が何をやっているのか分からないから、説明もできないし、妥当な名前も思い浮かばない。
- 376 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:26:29.87 ID:6G4RxP+T.net]
- 失礼しました。
例にも挙げたSQLですが、レコードの更新をする際に使うUPDATE構文の中に 具体的な更新情報を設定する「SET句」というものが存在します。 ・カラム名と値のペアを引数として、目的のSET句を生成する関数 ・既にあるUPDATE文を引数として、SET句の部分を抽出する関数 ・生成
- 377 名前:るいは抽出したSET句を保持する変数
をお願いします。 [] - [ここ壊れてます]
- 378 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:54:23.96 ID:M+LzYe5A.net]
- Create(Generate)SetClauseとか
ExtractSetClauseとか そこらへんでいいんじゃねぇか。
- 379 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:55:31.51 ID:M+LzYe5A.net]
- 最後の変数名は普通にSetClauseで。
- 380 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 18:59:52.85 ID:B97j6xLf.net]
- 設計に口出すのは禁止とされているが、そんな関数ほんとに必要なん?
set a = 'foo', b = 'bar', c = 'baz' を作るのを考えたときにせいぜい、文字列のjoinくらいが欲しいだけでは? 逆の作業のためにsplitがあれば、カンマで分割、=で分割ができて嬉しい
- 381 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 19:05:55.74 ID:w2YPqJX3.net]
- SQLでSETはstatementじゃね?
- 382 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 19:40:59.04 ID:6G4RxP+T.net]
- ありがとうございます。
動詞+動詞になったり、変数名が動詞始まりになりますが、 あんまり気にしてても仕方ないですかね >>376 基本的にはそんな感じなんですが、 他の条件で何種類か分岐したり、NULL判定やらエスケープやらも入れるので 関数化できたら楽かなと
- 383 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 19:58:22.99 ID:M+LzYe5A.net]
- CreateSetClauseで文法的に動詞+動詞にならんだろ。
細かい文法忘れたけど。
- 384 名前:デフォルトの名無しさん [2016/06/05(日) 20:02:26.84 ID:M+LzYe5A.net]
- https://www.sqlite.org/lang_update.html
で、An UPDATE statement is used to modify a subset of the values stored とかあるけど、この主語のUPDATEは動詞だと思ってるの?君は?
- 385 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 20:38:20.30 ID:M+LzYe5A.net]
- つか、命名するときは厳密な英語じゃないからな。冠詞とか省いてるし。
気にし過ぎ。
- 386 名前:デフォルトの名無しさん [2016/06/05(日) 21:47:30.90 ID:pxS74riA.net]
- 主語はUPDATE statementだと思うがw
- 387 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 22:18:45.26 ID:M+LzYe5A.net]
- そんなの当たり前だろ。
主語にあるUPDATE ってこう書けばよかった?
- 388 名前:デフォルトの名無しさん [2016/06/05(日) 23:48:44.91 ID:pxS74riA.net]
- 恥ずかしいなオイw
- 389 名前:デフォルトの名無しさん [2016/06/06(月) 00:14:49.75 ID:v8u4+dYW.net]
- そもそも設計がおかしいわw
- 390 名前:デフォルトの名無しさん [2016/06/06(月) 00:16:52.24 ID:v8u4+dYW.net]
- >>373
おまえ、それジョークだろ? なんでそんな分かりにくいものを作るんだよ。
- 391 名前:デフォルトの名無しさん [2016/06/06(月) 01:45:33.56 ID:q+Q7JAO1.net]
- 必死だなw
- 392 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 17:00:05.35 ID:tNI5q6bB.net]
- getset嫌いな人って別のクラスの何かをセットしたりゲットする場合名前どうしてんの?
パブリックなもん作るなハゲとかそういう屁理屈みたいなのはなしで純粋に聞きたい
- 393 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 17:43:58.32 ID:KUhWm8XZ.net]
- プロパティ使う
- 394 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 17:51:52.01 ID:NqTKzMF7.net]
- コンストラクト時に全部渡す
getはまだしもsetはほんとに使い道ないと思う どんなときに使うの?
- 395 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 18:26:22.45 ID:Eud6fEMT.net]
- そういうのなしでわざわざ書いてあるのに脳みそ腐ってんじゃねえのかこいつら
- 396 名前:デフォルトの名無しさん [2016/06/06(月) 19:37:20.28 ID:q+Q7JAO1.net]
- get/setは不自由なJava豆のために使われたことから広まったと思う。
Windows-cppグループにはCOMが有ったため不自由していなかった。 そのため今でもColor c = hoge->color();/*getter*/あるいはhoge->color(c);/*setter*/のようにする。 もしもJavaでset/getが予約語だったらどうだろう。 そんな言語は許されるだろうか。 メソッド名で機能性が変わるJava豆は許されて良いものだろうか。 いいや許せん!
- 397 名前:デフォルトの名無しさん [2016/06/06(月) 19:40:30.08 ID:q+Q7JAO1.net]
- ココにJavaを許さない会設立を宣言する!
- 398 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 20:06:44.69 ID:7c0ylB5d.net]
- c = color-func(&a, b)
はいこれ getter setter どっち? 設計が悪いで終了っすか?
- 399 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 20:29:18.76 ID:/AibCiaw.net]
- ゲッターセッターが「書きにくい」ことに不満を持つのも
「書きやすい」言語を求めるのも初心者によくある間違い
- 400 名前:sage [2016/06/06(月) 22:38:20.45 ID:Kcx2FrR6.net]
- https://www.youtube.com/watch?v=nZDsMPhj4p4
- 401 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 22:51:52.32 ID:htemWdUU.net]
- >>388
嫌いじゃあないが、element.textContent のようにgetter/setterを組み合わせたプロパティは考えられるな
- 402 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 23:21:27.05 ID:htemWdUU.net]
- Map.prototype.size は getter だったかな
- 403 名前:デフォルトの名無しさん [2016/06/07(火) 04:43:16.23 ID:swev/JrE.net]
- ステートフリープログラミング!
- 404 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 17:31:19.02 ID:vDvNi0IR.net]
- 個人間でのメッセージシステムを作っているのですが、
相手側はどのように表現すればよいでしょうか? codicではmessage_partnerと出ましたが・・・少し微妙です
- 405 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 18:15:02.16 ID:AMr8YAbC.net]
- TheOtherとか?
P2PのP(Peer)にも通信相手の意味があるみたいだけどちょっと 誤解を招く可能性があるような気がしないでもないね。
- 406 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 18:47:32.03 ID:48MOFUcT.net]
- ここ1年ほど、スクリプトは全部漢字で名前付けるようにした。
すごぶる調子いい。
- 407 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 18:48:57.95 ID:48MOFUcT.net]
- もちろん社内用スクリプトと自分用スクリプトだけだけど。
- 408 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 18:52:28.98 ID:FgO5cI1c.net]
- DDDやってると自然と識別子が日本語になる
- 409 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 19:22:14.15 ID:hXDTf0KG.net]
- RemoteEndPoint
.NETのパクリ。
- 410 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 20:31:59.23 ID:1ahkFkzd.net]
- それなら単にremoteとかremote nodeとかremote siteとかでいいんじゃないか
プログラムでエンドポイントと言われるとTCPの接続先をイメージしてしまう remote.endpoint で相手のIPアドレスやポートが返ってくるみたいな
- 411 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 21:30:27.67 ID:lgEcYsTe.net]
- だよね
destinationとかシンプルにtoでいいよ
- 412 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 21:33:06.20 ID:Ihgwvj7F.net]
- 子アイテムを追加削除出来るグループとそうじゃないグループを区別したいんだが
revisableGroupでいいかな? editableだと自分が変更可能みたいだし parentもあんま使いたくなくて悩んでます><
- 413 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 21:38:44.69 ID:1ahkFkzd.net]
- mutableかmodificable
- 414 名前:デフォルトの名無しさん mailto:sage [2016/06/13(月) 21:59:02.51 ID:Ihgwvj7F.net]
- >>409
有り難うございます 英語苦手だわ〜;;
- 415 名前:デフォルトの名無しさん [2016/06/17(金) 11:12:46.03 ID:PuKdxxvH.net]
- C#Linq拡張
IEnumerable<IEnumerable<T>> foo(this IEnumerable<T> source, int count) { IEnumerable<T> top = source.Take(count); IEnumerable<T> others = source.Skip(count); while(top.Count() > 0) { yield return top; top = others.Take(count); others = others.Skip(count); } } このメソッド適切な名前を付けてください 使い方の例はこんな感じ // 1000要素ずつファイルに書き込む int n = 0; foreach(var i in source.foo(1000)) { WriteToFile((n++).ToString()+".txt", i); }
- 416 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 12:09:06.07 ID:EHxWLoiP.net]
- divideIntoChunksOf
divideBy
- 417 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 15:00:38.23 ID:UPHAo8lR.net]
- >>411
IxのBufferと同じものだな スレ違いだけどその実装だと区切る回数が増えるほどパフォーマンスが落ちるぞ
- 418 名前:デフォルトの名無しさん mailto:sage [2016/06/17(金) 20:05:02.82 ID:TYrRBfVh.net]
- 書けない?
- 419 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 20:17:51.13 ID:+fx8B3Le.net]
- 「nヶ月前」を意味し、 この n を格納する Int 型変数の名前は何にしたらいいと思う?
- 420 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:12:35.73 ID:U2nwZ26D.net]
- monthsBefore
- 421 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:15:05.12 ID:wuBisWbe.net]
- 月数(months)でいいんじゃないの?
変数名にそこまで具体的な意味を込める必要は恐らくないと思うんだけど。
- 422 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 21:41:48.90 ID:8jvqYkZx.net]
- months_passed
- 423 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 22:00:54.75 ID:o77xN4AH.net]
- Ruby on Railsのmonths_agoメソッドだと
def months_ago(months) で変数(引数)名はmonthsになってるね
- 424 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 22:09:50.68 ID:+fx8B3Le.net]
- みんなありがとう。
nヶ月後を表す変数と区別したいから monthsBefore にするよ。 >>419 Ruby は使ったことないんだけど、それはメソッドの定義で、months は仮引数なの? その状況なら months で十分なのは分かる。
- 425 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 22:10:42.90 ID:Y2FRm/z5.net]
- それはメソッド名で役割を明確にしてるからだろ
言及されてないからわからんが変数で表したいだけならmonthsだけじゃ不明瞭
- 426 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 13:07:51.82 ID:FVU7PUl1.net]
- 期間は2つのポイントがあるから導き出せるってことだよね
ポイントを変数に入れてその差異を出すじゃあ駄目なの? 前か後かは符号で分かるし この話はスレ違いか
- 427 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 13:32:48.54 ID:LWhq4u9q.net]
- たかが数文字書いとけば済むのに
こういう読み手に無駄な作業増やしたがるやつってなんなんだろうな
- 428 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 13:54:05.27 ID:P4D3CPGd.net]
- 無駄に説明的な名前だとかえって分かりづらくなる場合もあるから
一概にどっちが正しいとは言えないと思うよ。 特にこの例みたいに、日本語や英語ですら何て表現してよいか迷うような概念の場合。 一般的には説明的な方が好ましいのは確かだけどね。
- 429 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 18:52:22.12 ID:OgtmDK03.net]
- 例えばその変数に3って入ってるとして、
その3をどう使うのか説明してくれれば、 もうちょっとマシな提案できると思うよ
- 430 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 18:58:27.11 ID:3d173yzJ.net]
- >>419のように変数が一つしかないのなら months で良いと思う
>>420のようにnヶ月後と区別するなら、 var previous, after; var previousNumber, afterNumber; var previousMonths, afterMonths; どの変数名を採用するか、は他にある変数名に依存するかと
- 431 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 10:46:53.32 ID:ywdq7rGj.net]
- 文字列を引数として、列挙型を返す関数の名前をお願いします。
enum Fruits { ORANGE, BANANA, GRAPE, MELON, DURIAN,ACORN } 似たような関数が複数あるため、できるだけ統一した命名にしたいと考えています。
- 432 名前:427 mailto:sage [2016/08/06(土) 10:54:41.22 ID:ywdq7rGj.net]
- すみません、送信ミスりました。
上記のような列挙型があるとして、 適当な文字列(例えば"みかん" "Orange" "いよかん" など)を与えると、 それに対応した列挙型の値(この場合はORANGE)を返してくるというものです。 今のところGetFruit()やConvertFruit()が候補にあるのですが どちらもなんか違うような気がしています。 よろしくお願いします
- 433 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:35:38.76 ID:CIMwAPv1.net]
- 返ってきた値をどう利用するの?
GetIndex?
- 434 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:38:47.07 ID:dqPdKOk8.net]
- ParseFruit
GetFruitFromString
- 435 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 12:22:29.34 ID:NUwSQmRP.net]
- classify
- 436 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 12:29:13.43 ID:dhAdgMp9.net]
- >>428
普通にToFruitsでいいんじゃないの? string以外の型からFruitsへの返還関数もあってかつオーバーロードも使えないなら StringToFruits もしenumに静的メソッドを定義できるならFruits.FromStringとかFruits.Parseもあり
- 437 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 13:38:14.02 ID:HwGfpDVr.net]
- >>428
getFruitID
- 438 名前:427 mailto:sage [2016/08/06(土) 20:13:49.16 ID:ywdq7rGj.net]
- >>429-433
ありがとうございます。 ParseFruit()にしようと思います。 >>429 表示を変えたり、データベースに突っ込む前の下準備だったりと色々です。 使うたびに正規表現でマッチさせても、そこまで速度が変わるわけではないんですけれども。 >>432 頭に動詞を持ってこないタイプの命名、すっかり忘れてました。 変換(型変換?)を多用するときに特に有効そうですね。
- 439 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 22:56:10.17 ID:wynReyk0.net]
- >>429
「戻り値の使い方」を関数名に込めると、 その関数と今の呼び出し元の関数との間の関係が必要以上に深くなる。 その関数を他の場所や目的で使いにくくする可能性が増すからお勧めしない。 そういう意味で言ってるんじゃなかったらゴメン。
|

|