X



クラス名・変数名に迷ったら書き込むスレ。Part29
0001デフォルトの名無しさん
垢版 |
2021/04/26(月) 17:52:13.23ID:KOZxV/bH
クラス名、変数名のつけ方に悩んだら書き込むスレです。

命名規則や設計の善し悪しについて議論するのは基本的に禁止。
設計などが話題になるのなら他のスレでどうぞ。

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part28
http://mevius.5ch.net/test/read.cgi/tech/1494147712/
0003デフォルトの名無しさん
垢版 |
2021/05/25(火) 06:58:41.32ID:yDjOYm7F
コンパイラの進化で変数名を漢字にできるようになって久しいしこのスレの役割もほぼ終わったな
0004デフォルトの名無しさん
垢版 |
2021/05/25(火) 15:45:05.82ID:a0BIWpZb
スレの役割と言うより、5ch自体の過疎化と老人ホーム化が顕著で活発な人が居ない
0005デフォルトの名無しさん
垢版 |
2021/06/28(月) 16:55:20.87ID:lTBb4qc9
変数名というよりUI側の日本語表記だけど、購入日付は hoge_date 時間は hoge_time となんの疑問もない変数名において
UI表記の方の日付が「購入日付」とするならば「購入時間」、「購入日」とするならば「購入時」とするべき?
みたいなお前らオレオレルールありますか?

「購入日」「購入時間」と書いたところでふとしょーもない疑問が
0006デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:07:07.04ID:bvm0yYNW
購入日時とするより分けた方がいいのか

購入日付より購入日
購入時より購入時間
購入時だと購入時に何かするのかってなるかもしれない
0007デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:08:33.67ID:y9cDiJJM
表記の文字数を合わせるかって意味ならそんなこだわりは無意味だと思うが、「購入時」じゃ
point of purchaseの意味になっちゃうし、「購入時間」ってのも日本語としてちょっと変じゃないかw

普通は「購入時刻」でしょう
店に入ってから会計するまでにかかった時間のことを言ってるなら話は別だけど
0008デフォルトの名無しさん
垢版 |
2021/06/28(月) 17:16:42.77ID:6iMmxSuD
「時間」は、できれば使わないようにしてるかな。
datetimeかtimeかdurationか、はっきりしないから。
00105
垢版 |
2021/06/28(月) 18:03:21.43ID:lTBb4qc9
>>5で書いた通り最初は「購入日」という表現が普通かなと思っていたところ、
続けて「購入時間」と書いてからふとある意味国語表記的に「購入時間」に対する言葉は「購入日付」
にしないともしかしてダメなのかなと思った次第です

たしかに、そもそも皆さん仰る通り「時間」もおかしいですね
「購入日」の方はそのままで「購入時刻」が妥当ですね

対する言葉とかいう謎な考えは忘れます
どうもありがとうございました
0012デフォルトの名無しさん
垢版 |
2021/09/04(土) 01:37:01.23ID:ExeocnPJ
SearchPlus, UltraSearch
真面目に答えると単に複雑では的を得ず「何を」「どんな条件で」に依るんじゃないか
0018デフォルトの名無しさん
垢版 |
2021/09/04(土) 14:51:26.08ID:g4kDfo3y
守秘義務があるのでボカして言うけどモノは掲示板システムでクエリはこんな感じ

自分が所属してる全グループに所属してる全ユーザー
ユーザーの最新のアクティビティを添える
(アクティビティはログイン、ログアウト、レス投稿、レス編集、レス削除、グループ加入、グループ離脱などシステムイベントのことで種類は多岐に渡る
現行システムではイベントをエンティティとして管理しておらず、多数のテーブルを結合して取得している)
並び順は最新のアクティビティのタイムスタンプ
ページング機能付き
0021デフォルトの名無しさん
垢版 |
2021/09/04(土) 15:42:30.62ID:NqTA6LYj
「自分が所属してる全グループ」
「自分が所属してる全グループに所属してるユーザー」
「自分が所属してる全グループに所属してる全ユーザー 」

この辺の概念に名前をつけることを考えるといい
要件定義時に毎回「自分が所属してる全グループに所属してる全ユーザー」 と連呼してたのかな
0022デフォルトの名無しさん
垢版 |
2021/09/04(土) 15:48:15.86ID:l5V2kGNZ
引数込みで表現できればいいから極端な話GetUsersとかGetAllUsersで十分な場合もある
類似メソッドの存在次第
0023デフォルトの名無しさん
垢版 |
2021/09/04(土) 15:59:11.51ID:4KE7eTOK
ページングも含めてクエリがベッタベタに特定画面向けの専用品に成り下がっていて、一切の転用の見込みがないなら、俺ならクエリ名も「○○機能向け一覧取得」みたいなものにする
あとNewestという語はだいたいLastで置き換えたほうが自然になることが多い
0027デフォルトの名無しさん
垢版 |
2021/09/04(土) 17:25:01.65ID:4KE7eTOK
多数の画面とバッチで使うメジャーなクエリなら逆に、The・アクティビティ付きユーザー一覧取得くらいの名前でもいいかもな
たとえば所属にまつわる話がそのシステムにおける標準の閲覧可能範囲なのだとしたら名前に含めないことを検討する
0028デフォルトの名無しさん
垢版 |
2021/09/04(土) 17:36:57.74ID:AUnFpeaE
こう考えた方がいいと思うよ。

「その」検索がどんなに複雑だろうが特殊だろうが、
仮に別の検索が存在しないならメソッド名は単にSearchかFind、
せいぜい検索対象(ナニを探しているか?)をくっつけてSearchHogeで何も問題はないはず。

だから「その」検索が他とどう違うか、大事なのはそこでありそこだけだと思うんだけど。
0029デフォルトの名無しさん
垢版 |
2021/09/04(土) 17:49:16.39ID:r9yQukRc
検索という言葉を使ってるが>>18を読んだ限りでは
SearchやFindでの命名が適切なケースではなさそう
0030デフォルトの名無しさん
垢版 |
2021/09/05(日) 01:42:12.11ID:QCgHcRl9
全ユーザーのアクティビティから対象ユーザーに関係(所属グループに属するユーザー)しているユーザーのものをフィルタリングって事?
0032デフォルトの名無しさん
垢版 |
2021/10/14(木) 03:59:56.99ID:BWqWIDHE
puts "緊急事態発生".red.on_yellow
って書ける着色ライブラリがあったとして
カラーコード明示するのがだるいからと
puts "緊急事態発生".error
puts "緊急事態発生".warning
puts "緊急事態発生".e
puts "緊急事態発生".w
とラップしたら意味不明?
0033デフォルトの名無しさん
垢版 |
2021/10/14(木) 05:55:29.93ID:aWG6n+hY
>>32
目的ベースで命名するのはいいプラクティスだと思う
ただし色を変更していることは分かるように str.error_color とか
もしかしたら色以外の表示もカスタムするかもしれないから例えば str.error_style とか
errorだけだとちょっと情報量がなさすぎるので、自分ならそのくらいは情報持たせるかな
1文字は今どき論外
0034デフォルトの名無しさん
垢版 |
2021/10/14(木) 08:30:59.91ID:Tx5FDdfu
>>32
loggerを使ってlog levelと出力先によって表示をカスタマイズしたほうがいい
logger.fatal(message)とかlogger.warn(message)にする
設計方面の話なので別の命名スレかRubyのスレで聞くといいかも
0035デフォルトの名無しさん
垢版 |
2021/10/14(木) 09:50:10.48ID:JcLc7tQv
>>32
他人にはかなり意味不明。
でも、場面や頻度なんかで関係者にはあきらかなら、ナシではないんちゃう。
0037デフォルトの名無しさん
垢版 |
2021/10/14(木) 21:00:32.79ID:NSOBwUqM
質問者さんが何を聞きたいのかイマイチ不明瞭だけど、
書式をスタイルとして抽象化するのはHTMLやワードを出すまでもなく
ありふれた考え方で何も間違ってないでしょ
0038デフォルトの名無しさん
垢版 |
2021/10/14(木) 21:49:44.10ID:5iXTjL2C
>>37
書式を抽象化すべきケースじゃないという指摘に対して
書式を抽象化するのはありふれた考え方だから間違ってないって返しどうなの?
0039デフォルトの名無しさん
垢版 |
2021/10/14(木) 22:26:45.15ID:NSOBwUqM
>>38
そんなことどこにも書いてない。
それ以前に>>32からそんなこと(書式を抽象化すべきケースじゃない)
などということは読み取れない

大丈夫かこの人
0040デフォルトの名無しさん
垢版 |
2021/10/14(木) 22:52:32.99ID:tuWb+Nn3
読み取れないことが問題なんだよなあ
書式に名前をつけて再利用したいわけじゃないんだからさ
0042デフォルトの名無しさん
垢版 |
2021/10/15(金) 11:47:37.96ID:8+UwOkFK
ドヤ顔して答えたやつが全否定されてキレてる流れなのコレ?
0043デフォルトの名無しさん
垢版 |
2021/10/15(金) 13:22:23.80ID:2I/rriO5
質問者が納得すればいいんだよ
テンプレに納得できない人は別スレがあったよね?なんで行かないの?何で何回も繰り返すの?
0044デフォルトの名無しさん
垢版 |
2021/10/15(金) 13:38:31.39ID:WcYiGPXN
何回も繰り返すのは別の人間だからだろ
テンプレ読めと地道に言い続けるしかない
いい変数名を付けるような奴はだいたい神経質だからスレが荒れがちで困る
0045デフォルトの名無しさん
垢版 |
2021/10/15(金) 14:18:26.52ID:dRGKYv88
このスレはいつも荒れる
原因を作ってるやつはいつも同じ

自分が優れてると勘違いしてるから
何か指摘されると理性的に対応できない

スレの問題ではなく人の問題
キレやすい要注意人物が住み着いたスレというだけ
0046デフォルトの名無しさん
垢版 |
2021/10/15(金) 14:34:48.79ID:oCOZxwHo
例として動詞から始まる名前使ってんのに
関数と思わず変数として話進めるような奴もいるな
0047デフォルトの名無しさん
垢版 |
2021/10/15(金) 14:42:39.09ID:9VEGzdRG
>>45
キレやすいというより反論されると人格否定されたと感じるタイプだろ
まあその結果キレるのかもしれないが
0048デフォルトの名無しさん
垢版 |
2021/10/15(金) 14:53:01.97ID:sUmvr8d+
問題の発端が常に同一人物だと決めつけるのも危うくねーか
「ここまで全部オレの自演」というオチに持っていきたい布石なら感心するが
0049デフォルトの名無しさん
垢版 |
2021/10/15(金) 16:49:25.85ID:kfat5HNz
でも、同一でなくとも少数だと思うなあ。
そんなアホばっかりやないやろ。w
0053デフォルトの名無しさん
垢版 |
2021/11/10(水) 12:38:56.85ID:hCEgwKyp
Hage
0054デフォルトの名無しさん
垢版 |
2021/11/10(水) 14:01:22.50ID:/xBD3bqR
丸チンコ
0055デフォルトの名無しさん
垢版 |
2021/12/05(日) 21:06:43.06ID:Uya0qTZK
列の概念があるコンテナ(一次元配列やリストなど)を [a1, a2, a3, ...] 表すとします(an は要素)。
このとき、m を正の整数として、

[ [a1, a2, ... , am], [a2, a3, ... , am+1], [a3, a4, ... , am+2], ... ]

なるコンテナのコンテナをなんと呼ぶのが相応しいでしょうか。
0057デフォルトの名無しさん
垢版 |
2021/12/05(日) 22:04:04.37ID:Ub9rxa63
>>55
RightShiftMatrix

しかし、その規則が一般的な物とは思えないので
規則だけ与えられて名前付けろって言われても無理がある気が

そのコンテナが問題領域において何を意味するのか?
そこから名前付けた方がいいんじゃないの?
0060デフォルトの名無しさん
垢版 |
2021/12/06(月) 00:25:21.91ID:HMD7nyDE
行列計算上の意味があるのなら、その意味を名前にしたらええ。
でなければ、「コンテナA」でええんちゃう。w
0062デフォルトの名無しさん
垢版 |
2021/12/06(月) 01:02:13.00ID:oNpDeXIM
>>55
対称行列 (の一種) (m x m の正方行列なら)

でも対称性を特に使わないならもっと適当な名前があると思う
0064デフォルトの名無しさん
垢版 |
2021/12/06(月) 20:44:40.26ID:8KN4GZOw
>>55です。

今までいろいろな大きな計算の中でよく使ってきたパターンなので、
この際に抽出して名前を与えライブラリに加えようと思った次第です。

みなさんのアドバイスを参考に、もう少し自分で考えてみます。
ありがとうございました。
0065デフォルトの名無しさん
垢版 |
2021/12/14(火) 12:06:55.71ID:0juEz1uN
テンプレートを「tmpl」とするとき、それをもとに実体化したものの名前は?

「new」や「instance」がありそうだけど、「tmpl」と対称性がよくないところが落ち着かない。。。
0066デフォルトの名無しさん
垢版 |
2021/12/14(火) 12:42:24.54ID:1PoShsV1
>>65
実体化したものにはそれぞれ具体的な名前をつければいいのでは?
テンプレートとの関連を名前に入れるとしてもXXXテンプレートのXXXの部分だと思う

ピザテンプレートから作ったマルゲリータピザ
問い合わせテンプレートから作った納期問い合わせ
0068デフォルトの名無しさん
垢版 |
2021/12/14(火) 12:48:57.11ID:CXb1PP63
そもそもテンプレがtmplだけなのが問題
「何の」テンプレートだよ
大事なのは「何」であって普通にそれを示す名前で良いでしょ
A_tmpl → A 或いは A_new とか
まあAが何かに依るんじゃね
006965
垢版 |
2021/12/14(火) 14:19:40.08ID:0juEz1uN
聞きたいのは、テンプレートに対するインスタンスの総称か略称みたいな?
インスタンス個々についての話は不要。

>>67
もっと「インスタンス」感?がほしい。
「new」もそう。
0070デフォルトの名無しさん
垢版 |
2021/12/14(火) 14:36:33.40ID:1PoShsV1
インスタンスを作るテンプレートはクラスなので
なんでインスタンス感が欲しいのかがわからない
そこをもう少し説明してくれない?

テンプレートクラスでabstructに対するimplみたいなのが欲しいのならまだわかる
(implを付けるのはbad practiceだけど)
0071デフォルトの名無しさん
垢版 |
2021/12/14(火) 14:58:56.72ID:KmdrgQIM
総称として原義に基づくならtemplateと対になるのはcopy
動詞のcopyと混同されそうな気もする
0072デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:12:15.38ID:KmdrgQIM
copyがしっくりこないケースで、対義語感にこだわるならprototype v.s. ectypeというのもある
007365
垢版 |
2021/12/14(火) 15:18:33.04ID:0juEz1uN
>>70
クラス→インスタンスな狭義ではなく、テンプレート→実用物な、抽象的一般的な名前を期待。
あと、検索性とか対称性とか。

いわゆる「implみたいなの」といわれると、なんかこちらの期待にかなり近い気がする。

>>71
たしかに「コピー」か。w
実際にそれだとまぎらわしいよなあ。
0074デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:23:42.50ID:Bf/Ud/Gw
>>73
既に指摘されてるけど、「ハンバーガーのレシピのテンプレート」
からできる物の総称は「ハンバーガーのレシピ」
007565
垢版 |
2021/12/14(火) 15:26:54.06ID:0juEz1uN
>>72
辞書で調べてみたけど、「ectype」というのはかなり専門的な語?
(プロトタイプに対する)「模写物」【哲学?】はともかく、「極端な体型」【医学?】て何?w
007665
垢版 |
2021/12/14(火) 15:29:20.37ID:0juEz1uN
>>74
それは「総称」ではない。
いずれにしても、こちらの期待とは異なるし、不要だとすでに応じた。
0077デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:37:42.39ID:Bf/Ud/Gw
>>76
ではそれをテンプレートと呼ぶのがそもそも間違っている。

テンプレートというのは少なくともプログラミングの文脈では、
機能の一部を注入または入れ替え可能な雛型のこと。

「葬儀のあいさつ文のテンプレート」からできるものの総称は
「葬儀のあいさつ文」だ。
0078デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:43:15.03ID:Bf/Ud/Gw
まあ言葉の定義はどうでもいい。
彼の問題の本質は回答者にエスパー能力を求めていること。
あんたが何を求めているかなんてあんたがそれを正確に伝える努力をしなけりゃ誰にも分からない
008065
垢版 |
2021/12/14(火) 15:50:17.87ID:0juEz1uN
>>77
あんたの解釈は、こちらとは異なる。
クレームは不要なんで、スルーで。

ほかの人に期待。
008265
垢版 |
2021/12/14(火) 16:49:36.24ID:0juEz1uN
>>81
なるほど。
「application」→「appl」か。
いわゆる「アプリ」とかぶってるところが気にならなくもないけど、アリかも。

ほかに「instantiation」→「inst」とかかな?

まだほかの候補やヒントなどにも期待。。。
008365
垢版 |
2021/12/14(火) 17:09:21.31ID:0juEz1uN
用途によっては「deploy」→「depl」とかもアリかな?
008765
垢版 |
2021/12/14(火) 20:12:40.02ID:0juEz1uN
>>84
自己紹介は不要。
008865
垢版 |
2021/12/14(火) 20:15:27.02ID:0juEz1uN
>>86
「tmpl」のこと?
よくある略しかただと思うけど。
最初はかなりキモかったけど、もう馴れた。
0090デフォルトの名無しさん
垢版 |
2021/12/14(火) 22:03:33.74ID:1PoShsV1
>>73
>クラス→インスタンスな狭義ではなく、テンプレート→実用物な、抽象的一般的な名前を期待。

それを求めてる動機とかユースケースをもうちょっと説明してくれよって話だったんだけど
難しいのかな?

一般的には名前がつけられてない概念だから
動機もユースケースも無しに何かいい感じのをくれと言っても
期待するものが出てくる可能性は低いと思うよ
009165
垢版 |
2021/12/14(火) 22:36:47.65ID:0juEz1uN
>>90
難しいもなにも、書いた以上の想定はない。
いっそ概念的抽象的な名前の話。

出てこないなら出てこないでやむなしなんだから、スルーで。
なんか言える人に期待。
0092デフォルトの名無しさん
垢版 |
2021/12/15(水) 00:02:46.06ID:5FnsJanK
バカの自覚がないバカって救いがたいよねw
0093デフォルトの名無しさん
垢版 |
2021/12/15(水) 00:04:34.24ID:gKrf6SBL
pragma:pragmaticとか?
語源のparagmであれば行動や実践を意味するらしいので。
英語苦手なので使い所が合ってんのか、語源のスペルが合ってるかはわかんね
0094デフォルトの名無しさん
垢版 |
2021/12/15(水) 00:11:10.39ID:5FnsJanK
どうでもいいけど、鍋の鋳型からできる物は鍋、エンジンブロックの鋳型からできるものはエンジンブロック、
鋳型からできる物の総称は鋳物(cast)だが、このバカな質問者の求めているものはたぶんこれでもないw
009565
垢版 |
2021/12/15(水) 01:32:52.83ID:GJk5Atgd
>>93
「pragma」はCのディレクティブとして知ってたけど、言葉の意味が辞書を引いてもよくわからんね。w
たしかに「実際」「実用」的な意味があるようだけど、たぶんニュアンスが違ってそう?
009665
垢版 |
2021/12/15(水) 01:35:03.63ID:GJk5Atgd
>>94
そのとおり。
全然違う。
0097デフォルトの名無しさん
垢版 |
2021/12/15(水) 01:38:48.57ID:5FnsJanK
プラグマティズムは普通に日本語になってるw
煽り抜きでこれ高校生レベルの知識だよw
0098デフォルトの名無しさん
垢版 |
2021/12/15(水) 02:03:07.15ID:gKrf6SBL
>>95
やっぱニュアンス違うかなぁ。テンプレ→実践·実用みたいな。もう連想ゲームだな

>>97
気を付けろよー。俺みたいなやつが世には溢れてるからなぁ
レスを投稿する


ニューススポーツなんでも実況