トップページ⇒tech
1001コメント318KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/12/29(月) 00:20:32
クラス名、変数名のつけ方に悩んだら書き込むスレです。

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

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

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

前スレ。
◆ネーミング倶楽部◆: http://pc3.2ch.net/tech/kako/1035/10353/1035362308.html
Part1: http://pc5.2ch.net/tech/kako/1046/10465/1046541730.html
Part2: http://pc5.2ch.net/tech/kako/1058/10582/1058213523.html
Part3: http://pc5.2ch.net/test/read.cgi/tech/1067171530/
Part4: http://pc5.2ch.net/test/read.cgi/tech/1087209526/
Part5: http://pc8.2ch.net/test/read.cgi/tech/1109330204/
Part6: http://pc8.2ch.net/test/read.cgi/tech/1128266018/
Part7: http://pc8.2ch.net/test/read.cgi/tech/1144978008/
Part8: http://pc10.2ch.net/test/read.cgi/tech/1154448184/
Part9: http://pc11.2ch.net/test/read.cgi/tech/1168356029/
Part10: http://pc11.2ch.net/test/read.cgi/tech/1180146315/
Part11: http://pc11.2ch.net/test/read.cgi/tech/1191250784/
Part12: http://pc11.2ch.net/test/read.cgi/tech/1206118762/
Part13: http://pc11.2ch.net/test/read.cgi/tech/1222661623/
0153デフォルトの名無しさん2009/02/03(火) 02:15:30
だんだん慣れてきた
0154デフォルトの名無しさん2009/02/03(火) 20:15:30
>>152
今頃になってネチネチいうって難儀な性格だねホント。
正直精神分析の対象に思える。
しかも言うことが素っ頓狂だし。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

素直にFamilyNameは単純に文字列で持てばいい。
それが必須かどうかの情報はCustomerが持っている方が直感的だ。
■ このスレッドは過去ログ倉庫に格納されています