クラス名・変数名に迷ったら書き込むスレ。Part26
at TECH
[前50を表示]
200:デフォルトの名無しさん
16/03/22 22:28:49.70 UN51cu0Y.net
というかビジネス上存在しない概念を作ろうとするから名前がわからないなんて事になるんだよ
ドメインエキスパートとの対話を重ねてドメインモデルを適切に抽出する
それだけでクラス名もメソッド名も何もかもが確固として定る
逆に言えば名前で悩んでるって事はドメインモデルの抽出に失敗しているってこと
名前が決まらないなら設計からやり直せってのはそういう意味ね
201:デフォルトの名無しさん
16/03/22 22:36:39.69 Es8MF1jL.net
請け負いビジネス限定の話だね。
202:デフォルトの名無しさん
16/03/22 22:43:07.67 dJvZYtfq.net
ビジネス上名前のついてない概念や事象なんていくらでもあるのにね
むしろ殆ど名前がないと言ってもいいくらい
この人はどこの世界に住んでいるのだろうか?
203:デフォルトの名無しさん
16/03/22 22:48:42.98 UN51cu0Y.net
>>199
むしろ新しいビジネスに強い
ドメインモデルの構築を通してそのビジネスを深く正確に分析できる
改善点も容易に発見できるし拡張も容易い
>>200
それはモデラーが手を抜いてるだけ
204:デフォルトの名無しさん
16/03/22 22:57:48.84 dJvZYtfq.net
>>201
つまりドメインモデルの構築に際して深く命名に悩んでいるんじゃないか
どうしてウソつくの?
205:デフォルトの名無しさん
16/03/22 23:02:18.04 Es8MF1jL.net
そう、この人は新しい概念を創造・定義するという視点が欠けてる。
「研究」というものを知ってるのか。
206:デフォルトの名無しさん
16/03/22 23:05:31.79 WjKYcifB.net
この人何言っても無駄でしょ
つーかこのスレに何しに来てんのよ
207:デフォルトの名無しさん
16/03/22 23:22:27.28 UN51cu0Y.net
やれやれ
ど素人しかいないのかここは
208:デフォルトの名無しさん
16/03/23 00:19:15.27 I2lzCjKa.net
この一連の流れに名前を付けてください
209:デフォルトの名無しさん
16/03/23 00:33:05.10 fpM1ZpsA.net
NeverCrossingArgument
210:デフォルトの名無しさん
16/03/23 00:33:31.62 U+mfgt1q.net
ショーンKくずれ
211:デフォルトの名無しさん
16/03/23 07:13:33.46 feV3EELl.net
語彙が乏しいやつらなんだろうな。
212:デフォルトの名無しさん
16/03/23 07:14:27.80 feV3EELl.net
どうやって言葉で会話しているのか不思議だわ。
213:デフォルトの名無しさん
16/03/23 14:33:46.66 ip94bAwI.net
その理解力で人と会話できているとは思えませんね
214:デフォルトの名無しさん
16/03/24 00:20:10.04 Rsn4b0UM.net
何かに例えるとか、擬人化してしまうとかいくらでもあるだろ。
215:デフォルトの名無しさん
16/03/24 01:37:39.87 Q63x5G+R.net
誰と会話してるんです?
216:デフォルトの名無しさん
16/03/24 05:09:23.79 UGB9JfN9.net
walls
217:デフォルトの名無しさん
16/03/24 12:36:15.07 X7xUAPCX.net
デバッグ手法のひとつとして、
「淫乱テディベアに語りかける」というのがあったね
218:デフォルトの名無しさん
16/03/24 15:08:51.64 aFiY6vgp.net
淫乱を付けるなw
219:デフォルトの名無しさん
16/03/25 15:02:41.12 Ej/BIb4o.net
手バックの手法?
220:デフォルトの名無しさん
16/04/06 23:24:22.38 SBdxQZ05.net
日付を調整する関数の名前でいいのないですか
inputが日付で平日ならそのまま、土日祝日なら次の平日を返す関数
inputが日付で平日ならそのまま、土日祝日なら前の平日を返す関数
平日ならそのままっていうニュアンスがいれづらい…
221:デフォルトの名無しさん
16/04/06 23:30:48.34 04zWF3AE.net
>>218
そもそもその関数はよくない。
平日かどうか判定する関数と、次の平日、前の平日を求める関数は、別の関数にすべき。
222:デフォルトの名無しさん
16/04/06 23:48:45.77 Rshrw1nx.net
前日の翌営業日
翌日の前営業日
を訳せばいいかも
223:デフォルトの名無しさん
16/04/06 23:51:19.69 Rshrw1nx.net
>>219
それは違うと思う
例えば月末払いだけど、休日なら翌営業日みたいなのいっぱいあるじゃん
224:デフォルトの名無しさん
16/04/07 00:00:43.18 jAeadzdP.net
よそで使わないならいいけど十分汎用性ありそうだしわけても損はないとおもうが
225:デフォルトの名無しさん
16/04/07 00:10:18.37 aGcTjS1o.net
こういうのはステップバイステップで考えよう
先ずは最も適切と思われる名前を日本語で決める
次にそれをそのままコードに書くんだ
簡単だろ
226:デフォルトの名無しさん
16/04/07 00:20:28.94 cIX55k3q.net
>>218
ExcelにはWORKDAY()という関数があるな
>inputが日付で平日ならそのまま、土日祝日なら次の平日を返す関数
=WORKDAY(input, +1)
>inputが日付で平日ならそのまま、土日祝日なら前の平日を返す関数
=WORKDAY(input, -1)
227:デフォルトの名無しさん
16/04/07 00:30:26.74 bJ8hF4FM.net
翌営業日と前営業日を組み合わせて使う方がシンプルじゃね?
228:デフォルトの名無しさん
16/04/07 00:33:17.16 cIX55k3q.net
ミスってる気がする
>>220の考えでいけば
WORKDAY(input-1, +1)
WORKDAY(input+1, -1)
かな
229:デフォルトの名無しさん
16/04/07 00:35:40.34 XWAdlud5.net
>>219
おっしゃるとおりでis_businessdayとadd_dayにしてあるんですが、>>221のような用途で頻繁に使うので関数としてまとめてしまいたいんですよね
230:デフォルトの名無しさん
16/04/07 07:24:25.59 cMwaSKeB.net
ならworkdayでいいだろ
+1/-1は分かりにくいからnext_workdayにするか列挙値にすべきだけど
231:デフォルトの名無しさん
16/04/07 08:54:30.90 m/gfZuFN.net
isWorkday()とnextWorkday()を作って、
nextWorkday(yesterday)と使えば?
nextWorkday内部でisWorkdayを呼ぶとか。
232:デフォルトの名無しさん
16/04/07 09:26:48.28 r1JxjqMx.net
NextWorkdayOfPreviousDay
NextWorkdayOfPreviousWorkday
どっちも可
233:デフォルトの名無しさん
16/04/07 09:31:12.58 l/IcW8J2.net
どっちもクソッタレすぎんだろなんだそりゃ
234:デフォルトの名無しさん
16/04/07 10:34:14.65 r1JxjqMx.net
>>231
すばらしい「命名」案、よろしく
235:デフォルトの名無しさん
16/04/07 14:13:07.95 vaOim5IM.net
逆切れする前にそれ訳してみろよ
236:デフォルトの名無しさん
16/04/07 22:00:31.37 5mQTJZzR.net
FindNextWorkDayFrom(date)
指定した日付以降の最も近いWorkDayを検索
FindPrevWorkDayFrom(date)
指定した日付以前の最も近いWorkDayを検索
共に基準となる日付を含むからその日が日曜祭日なら次(前)を検索する
こんな感じかな?
正直なところ、>>229が分かり易いと思う
237:デフォルトの名無しさん
16/04/07 23:20:39.90 bJ8hF4FM.net
AsIfOnWeekdaysReturnsTheWeekdayOfTheFollowingIfSaturdaysSundaysAndHolidays
238:デフォルトの名無しさん
16/04/08 01:05:24.66 zB1D6Ii9.net
可変長引数を受け取って配列に詰めて返す関数名はハッカーの間では何と呼ばれてますか?
239:デフォルトの名無しさん
16/04/08 04:02:08.97 gk2oHlfy.net
>>236
MakeArray
240:デフォルトの名無しさん
16/04/08 13:35:57.08 bnzfTMXc.net
Pack
241:デフォルトの名無しさん
16/04/08 14:19:00.47 IaVwN+0C.net
言語によっては可変長引数がそもそも配列でしたってやつもあるからな
242:デフォルトの名無しさん
16/04/08 21:42:03.30 P+N84sF8.net
IBecauseThereIsAlsoAGuyIVariableLengthArgumentWasOriginallyArrangedByLanguage
243:デフォルトの名無しさん
16/04/09 23:04:34.73 8imgO17J.net
あるルールに則って記述された文字列を解釈し
HTMLタグを含む文字列に変換するプログラムを作っています。
順次処理していく中で、「現在xxxタグの内側にいるか」という判断をするのですが
タグの種類ごとにこのフラグを表す列挙型と、このフラグを格納する変数の名前をお願いします。
適当ですが、コードはこんな感じにする予定です。
enum class 列挙型名
{
TABLE_TAG=1, P_TAG=2, DIV_TAG=4,
}
244:デフォルトの名無しさん
16/04/09 23:11:31.45 VUvkdYpi.net
TagName currentTag;
245:デフォルトの名無しさん
16/04/09 23:22:46.97 8imgO17J.net
ありがとうございます
実際に使うときは currentTag & TagName::TABLE みたいな感じですかね
「内部に居るか」というところにばかり意識してたせいで、すごくスッキリしました
246:デフォルトの名無しさん
16/04/10 00:13:43.54 H/1qtGwu.net
タグはあくまで<から>までのことで
正式な用語を使いたいならelementじゃねぇか?
247:デフォルトの名無しさん
16/04/10 00:33:04.32 R2GJbW+a.net
>正式な用語
ほー。知らんかったぜ
248:デフォルトの名無しさん
16/04/12 01:37:58.25 yDxmjFGS.net
>>244
パースしてる段階では、タグはあってもエレメントはないんじゃね?
正式な用語は知らないけど。
249:デフォルトの名無しさん
16/04/17 14:33:19.26 axDJp0PD.net
年を表す整数型の変数と、月を表す整数型の変数の2つのみを内部に持つ構造体があります。
この構造体の名前としてどのようなものが相応しいでしょうか。
ここに日を表す整数型の変数も加われば Date と名付けるところですが、
あいにくと年、月だけで良いのです。
250:デフォルトの名無しさん
16/04/17 15:01:28.22 JjiAKXsf.net
struct 年月
251:デフォルトの名無しさん
16/04/17 15:20:18.10 vPnt6ON3.net
YearMonthDateStruct
252:デフォルトの名無しさん
16/04/17 15:29:20.09 JUdcx65W.net
>>247
month
253: of date qualified month unique month
254:デフォルトの名無しさん
16/04/17 15:31:40.25 Mh2vDnct.net
そのままandでつないじまえよそんなもん
255:デフォルトの名無しさん
16/04/17 15:32:55.32 nwYll3yZ.net
ほかに紛らわしい名前がなくて
> あいにくと年、月だけで良いのです。
という理由だけなら Date
256:デフォルトの名無しさん
16/04/17 15:34:38.31 JjiAKXsf.net
ドキュメントにはどうせ年月って書いてあるんだろう
だったら年月が最も正確な名前だよ
年月って書いてないなら書いてある単語をそのまま使いなさい
プログラマが無意味に翻訳して設計者の意図を歪めたらダメ
257:デフォルトの名無しさん
16/04/17 16:07:42.61 axDJp0PD.net
ありがとうございました。
Dateにします。
258:デフォルトの名無しさん
16/04/21 12:01:43.88 1tW+tZJE.net
iOS用のツイッタークライアントアプリつくってるんですけど、
1つのツイート情報(投稿テキスト、投稿画像、投稿したユーザー名など)を保持するクラスの名前は何がいいと思いますか?
ふつうにTweetクラスとかでいいですかね?
259:デフォルトの名無しさん
16/04/21 14:13:32.33 QiEWg8a2.net
Twitterと用語合わせるとにはStatusじゃなかったけ?
260:デフォルトの名無しさん
16/04/21 14:35:22.37 EopcTvEt.net
日本語で
261:デフォルトの名無しさん
16/04/21 15:57:50.15 CeQQrfiu.net
twitter公開API参考に見てみたらStatusになってるんじゃなかったっけ?
かな?
262:デフォルトの名無しさん
16/04/21 17:02:41.28 QiEWg8a2.net
正解
263:デフォルトの名無しさん
16/04/21 17:24:57.92 CeQQrfiu.net
>>259
ご褒美よろ
264:デフォルトの名無しさん
16/04/24 01:53:41.14 bi4aOyNo.net
アンケートやクイズの回答を集計するプログラムです。
ある設問の答えが「1.Suica」「2.リンゴ」「3.バナナ」だとして、
「1.Suica」が、全10回答中で9回答だったとします。
このとき、以下の変数名をお願いします
(a)その設問について、用意されている答えの数。この例で言えば3。
(b)全体の回答数。この例で言えば10。
(c)ある回答に対して、そう答えた数。この例で言えば9。
(d)上記(c)を求める際に、何番の答えについて言及しているのかを表すユニークな数字または文字列。
この例で言えば「1」、または文字列なら例えば「ANSWER_SUICA」のようなコード。
265:デフォルトの名無しさん
16/04/24 02:14:34.95 auQVBXDS.net
>>261 まずどんな名前で迷ってるのか書いてよ。
266:デフォルトの名無しさん
16/04/24 02:34:39.17 bi4aOyNo.net
仮の名前では、順に answerSize、answerTotal、numAnswers、answerNo になってて
我ながらひどい
267:デフォルトの名無しさん
16/04/24 02:41:03.66 nqxMGJv4.net
choice, resposes, chosen, referenceToChoice
我ながらなんか浮いてる気がする
268:デフォルトの名無しさん
16/04/24 05:47:14.48 JdReb2F6.net
Suicaが9/10ってことはそのアンケート(クイズ)は回答者がSuicaと答えることを最初から期待というか想定して作られているのかな?
それとも偶然?
前者なら「想定された答え」
後者なら「最も頻出した答え」
をそれぞれ英語にした奴が良さそうだけど
269:デフォルトの名無しさん
16/04/24 08:34:37.08 bi4aOyNo.net
>>264
ああ、「答え」じゃなくて「選択肢」という着目点なのか
英語よく分からんのだけど、choiceだけでそういう感じの意味になるものなのかな?
>>265
わかりにくくてごめん
どちらでもないです
270:デフォルトの名無しさん
16/04/24 11:46:46.02 RNhCJQSk.net
まず日本語でいいから適切な識別子を考えて挙げてみてよ
271:デフォルトの名無しさん
16/04/24 12:26:54.16 bi4aOyNo.net
261と263じゃダメ?
272:デフォルトの名無しさん
16/04/24 14:43:06.00 mpYj2Do+.net
(a) choiceCount, (b) totalAnswerCount, (c) answerCount, (d) choiceIndex
用意されている「答え」は回答者が決めるまでは回答じゃないから別の言葉にした
273:デフォルトの名無しさん
16/04/24 14:48:33.28 UKiBgwvV.net
>>267
それができたら>>263 のような酷いものにはならないと思う・・
それぞれ一言で説明するならどうするか考えてみるとか
例えば↓のような感じ
(a) 選択肢の数
(b) 回答の数
(c) その選択肢が選ばれた回答の数
(e) 選択肢の番号(選択肢のID)
どうせ自分だけしかソースコード見ないものなら
変数名は長くてもあとから見てわかる方が良いので
日本語でも良いよ
(上のをそのまま英語にしてもそんなに長くならないと思うけど)
274:デフォルトの名無しさん
16/04/24 16:36:14.48 ixYgtVFc.net
変数を使わずに毎回
(a)設問[n].選択肢.length
(b)設問[n].解答.length
(c)設問[n].選択肢[m].length
のように取り出す
275:デフォルトの名無しさん
16/04/24 18:45:12.90 ZMST/FTc.net
ウンコーダー乙
276:デフォルトの名無しさん
16/04/25 21:35:44.65 9k2vKGXZ.net
報告が遅れたけど
numChoices、totalAnswers、numChosenAnswers、choiceIDにした。
みんなありがとう
>>269
言われてみれば確かにそうだ
>>270
日本語いいよね、ちょっと憧れる。
憧れるだけで、実際に日本名をつける勇気はないけど…
>>271
正直そういうのもアリだったんだけど、DBが絡んでくる関係で見送った。
277:デフォルトの名無しさん
16/04/25 23:41:05.35 PqEeTEEM.net
日本語の可読性は驚くほど高いよね
顧客が使う用語〜設計書で使う用語〜コードに書く用語が混乱しないって素晴らしい
コンパイラが正式に国際化対応してるのだから日本語を使うべきだよ
278:デフォルトの名無しさん
16/04/25 23:57:45.84 9k2vKGXZ.net
だがこの場合に使ったら
回答と解答でごっちゃになる未来しか見えない
279:デフォルトの名無しさん
16/04/26 14:17:22.88 ZSimnd6R.net
>>274
下手に日本語を使うと正確な表現をしないといけなくなるデメリットがある。
このメソッド名、変数名の名前は日本語として変ですね、なんてことを議論することになる。
欧米人はいい加減だから、適当な名前でも寛容するが、日本人はそうはいかない。
280:デフォルトの名無しさん
16/04/26 14:32:26.25 gGelNJu8.net
そんな人は英語なら適当でも許容するって訳でもあるまい
281:デフォルトの名無しさん
16/04/26 14:39:11.98 ZSimnd6R.net
>>277
現実にプログラミング言語の標準ライブラリは、言葉足らずの変な英語のオンパレードだが?
282:デフォルトの名無しさん
16/04/26 14:43:17.47 yXN9Cp4R.net
法律読んだ事ある?
なんでこんなわかりづらい書き方してんのかなって思った事ない?
それでもまだ解釈の余地があったりする。
283:デフォルトの名無しさん
16/04/26 14:51:03.07 gGelNJu8.net
「そんな人」って書いてるじゃん。
え?これすら意味が通らないから日本語はダメだよって話?
284:デフォルトの名無しさん
16/04/26 15:32:21.99 ZSimnd6R.net
>>280
そんな人ってどんな人だよ。
相手には理解が難しい表現で自分だって話しているじゃないか?
285:デフォルトの名無しさん
16/04/26 15:35:28.59 ZSimnd6R.net
日本人は日本語にうるさいが、英語圏の人間は英語の間違いには寛容。
英語圏ではいちいち、英語の間違いを指摘してたら、きりがない。
286:デフォルトの名無しさん
16/04/26 15:54:26.24 gGelNJu8.net
色んな現場に行ってると、そこで使われる用語(日本語)が統一されてなかったりするのはザラだけど、
あなたみたいに日本人は〜英語圏の人間は〜なんて一括りにして結論づけ、日本語はダメダメという人(「そんな人」=あなたのことだ)なら、
英語で関数メソッド名を適当に付けても細かく異論を挟んだりするんじゃないかな?
ということなんだけど、どうでもいいよ。君と仕事してる訳じゃないし。
287:デフォルトの名無しさん
16/04/26 16:10:13.00 ZSimnd6R.net
>>283 のようなになんで自分に言われていると思い込むかな。
最近、SNSと2chの区別が付かない人間が増えた気がする。
288:デフォルトの名無しさん
16/04/26 16:19:17.71 gGelNJu8.net
>>278
>>281
ここでアンカーを俺に打ち込んどいて何を言い出してるのかな。
アンカーとIDで会話がなり立ってると思ったけど、SNSとか言い出しちゃってるんだからどうしようもないな。
たしかにあなたには日本語も通じないわ。
289:デフォルトの名無しさん
16/04/26 16:45:47.05 ZSimnd6R.net
また自分に言われていると思ってるw
2ch初心者か。
290:デフォルトの名無しさん
16/04/26 17:46:16.11 CSyNQe5A.net
懐かしいなこの一方的な勝利宣言
291:デフォルトの名無しさん
16/04/26 17:47:46.38 gGelNJu8.net
その論法だと、むしろ俺の方がアンカー打ってないんだよなあ。
いつお前を相手にしたと思っていた?といつでも言えることになるわ。
292:デフォルトの名無しさん
16/04/26 17:49:56.75 ZSimnd6R.net
言ってることが矛盾してる。
293:デフォルトの名無しさん
16/04/26 17:59:16.74 v6PhffQO.net
矛盾してるって言うのは簡単だよね、うんわかるよ
294:デフォルトの名無しさん
16/04/26 18:06:43.15 ZSimnd6R.net
2chなんて適当に書いて、適当にレスするところだぞ。
わざとウソ書いたり、わざと変なこと言ってみたりする輩も多い。
2chはそういうところ。
学生、初心者、無職ばっかりなんだから、仕方ない。
295:デフォルトの名無しさん
16/04/26 18:07:46.36 LGdk9fYg.net
解釈が分かれるとか曖昧さがあるって言う人は識別子を自然言語から切り離す事に失敗しているんだよね
アメリカ人はわかってるから自然言語として見てちょっとおかしくてもモデルと識別子が正確にマップされているなら気にしない
296:デフォルトの名無しさん
16/04/26 18:17:01.94 ZSimnd6R.net
>>292
だから日本は成功している。
日本語と日本語みたいな識別子で混乱しなくて済んでいるのだから。
プログラムでも日本語推奨なんて言ってるのは、実務、経験が足りないだけ。
日本語でやっても、日本語風の識別子と日本語のマッピングには多少の作業、定義ドキュメントが必要になる。
297:デフォルトの名無しさん
16/04/26 18:21:43.77 ZSimnd6R.net
ちなみに英語だって、ロジカル、フィジカルと用語を分けていて、英語でも別物として扱っている。
日本は初めから別物なので、用語の区別がはっきりしていて、無用な混乱が起きない。
298:デフォルトの名無しさん
16/04/26 18:26:20.68 ZSimnd6R.net
結局、ドキュメンテーションの仕事をしない人間は、中途半端な日本語がかえって説明時に扱いにくい用語になることに気づかない。
テストコードを日本語にしろと言う人間がいるか、テスト結果の報告では、説明不足、情報不足でたいしたメリットはない。
299:デフォルトの名無しさん
16/04/26 18:30:57.99 vXyYwgDg.net
なんでここでロジカルとかフィジカルとかという話になるのか想像もつかん
> ロジカル、フィジカルと用語を分けていて、英語でも別物として扱っている
それは、何をどういうふうに分けてるの?
300:デフォルトの名無しさん
16/04/26 18:53:00.76 /rb4y06j.net
2ちゃんで句読点打ちまくるやつは大抵アレだから
ちょっとでもその気配感じたらスルーするということを覚えろ
301:デフォルトの名無しさん
16/04/26 19:08:36.29 KyGt67/n.net
不吉な臭いの発生源がおるな
302:デフォルトの名無しさん
16/04/26 21:11:57.40 W7z9JXIi.net
識別子は日本語でも英語でもいいけど内容はUMLで説明してください
303:デフォルトの名無しさん
16/04/26 21:33:23.01 LJB+utxb.net
メンバやクラスの説明を全てUMLで記述したら
COBOL全盛期さながらの厖大な量のフローチャートが出来上がるわけだが
304:デフォルトの名無しさん
16/04/26 21:44:32.29 W7z9JXIi.net
個人的にフローチャートはドメインイベントとかユースケースレベルのコマンドを単位に書くからそこまで爆発的に増えないけど
305:デフォルトの名無しさん
16/04/26 23:00:51.85 ZSimnd6R.net
いまどきUMLはないわ。
UMLの大半の図は失敗だった。
306:デフォルトの名無しさん
16/04/26 23:06:17.71 ZSimnd6R.net
>>296
おまえは設計書もコメントも書かないのか?
ロジカル、フィジカルは論理、物理だろ。
物理名だけで仕事をするのか?
307:デフォルトの名無しさん
16/04/26 23:10:35.98 LJB+utxb.net
>>301
その個別のコマンドの説明どうすんのかという話だよ
全部UMLで書くんだろ?
308:デフォルトの名無しさん
16/04/26 23:11:38.88 ZSimnd6R.net
まあそもそも物理名に迷ったときのスレで、論理名が決まっているのに迷うのは、本人の語彙に問題があるだけ。
それか変な物をひとくくりにしようとしているから、命名が難しくなる。
要するに設計がおかしい。
309:デフォルトの名無しさん
16/04/26 23:55:34.73 Mtfnl+Bq.net
>>303
質問に質問で返すマヌケw
310:デフォルトの名無しさん
16/04/27 01:49:51.63 DIeRo8dz.net
ボクは他人の悪口しか言えないの。
311:デフォルトの名無しさん
16/04/27 08:46:50.65 Qfg6RrFc.net
物理名と論理名が分かれてる時点でモデリングが破綻してる
同じ概念に別の名前をつけるなよ
312:デフォルトの名無しさん
16/04/27 10:05:26.47 oKFywJW0.net
しかしタヌキをムジナと呼ぶ人もあれば
サルをエテと呼ぶ人もある
でもそのせいでモデリングは破綻しないかw
313:デフォルトの名無しさん
16/04/27 11:59:38.79 +cERYc9k.net
文字列をtextとするかstringとするか定期
314:デフォルトの名無しさん
16/04/27 18:39:28.59 Qfg6RrFc.net
殿をエテ呼ばわりとは不敬なやつめ切腹じゃ!
このように識別子の混同は時に人命を左右します
間違いがないように1つの概念には1つの識別子を割り当てましょう
315:デフォルトの名無しさん
16/04/27 19:09:23.05 KbkM9snj.net
だから日本語で書けっていってるだろ
よめねえのはこいつらみたいなバカだけだからよ
316:デフォルトの名無しさん
16/04/28 09:40:18.60 c/7AsRbP.net
IsXXXX()
HasXXXXX()
みたいな関数は多いですが、存在確認は
ExistXXXX()
なのが多いと思いますが、これだけ疑問形じゃないので違和感あります。
どうしたら良いですか?
317:デフォルトの名無しさん
16/04/28 09:50:28.26 0YjJiZ00.net
>>313
疑問文という認識を変えたほうがいいんじゃないかね?
obj.IsXXXX() が英語として自然な言明に見えるようにしていると考えれば obj.Exits() が自然。
英文で if の後ろに疑問文なんて書かないからね。
318:デフォルトの名無しさん
16/04/28 09:53:31.23 wc4ljUlt.net
英語を勉強してください
319:デフォルトの名無しさん
16/04/29 20:23:58.65 AWs6LkoN.net
関数名に主語を入れたくなるときとか
ちょっと悩むよね
320:デフォルトの名無しさん
16/04/30 13:51:59.43 WILOMmUT.net
>>316
主語がいる関数名なんてあるかよ。
目的語なら分かるが。
321:デフォルトの名無しさん
16/04/30 14:09:26.61 kBEc2ffr.net
bool Foo::Exists()という関数で、例えばこれを非オブジェクト指向で書くと、
主語としてFooを出すのが素直じゃない?
322:デフォルトの名無しさん
16/04/30 14:22:58.16 WILOMmUT.net
>>318
「Fooが存在する」という名の関数か?
FooとExistだけで命名しようとするからおかしくなる。
その bool Foo::Exists() だって細かいこと言えば、変な名前だよ。
323:デフォルトの名無しさん
16/04/30 14:29:54.38 WILOMmUT.net
アメリカ人のいい加減さが分かる。
324:デフォルトの名無しさん
16/04/30 14:33:13.90 lGZUcRoI.net
>>319 「細かいこと」をくわしく
325:デフォルトの名無しさん
16/04/30 14:59:42.47 WILOMmUT.net
>>321
プロパティをメソッドとして実装してるから違和感がある。
326:デフォルトの名無しさん
16/04/30 15:17:02.56 kBEc2ffr.net
ああ、状態を返すような関数そのものに否定的なのか
その考え方自体は分からんでもない
327:デフォルトの名無しさん
16/04/30 16:25:01.76 WILOMmUT.net
関数名だったら和製英語風にExistCheckFoo()かCheckExistFoo()でいいんじゃない。
328:デフォルトの名無しさん
16/04/30 16:27:42.56 T6vNQ9r+.net
こないだの日本語ダメダメくんでしょ?
和製英語とか言わず、純粋に英語で頼むよ。
329:デフォルトの名無しさん
16/04/30 16:31:12.19 PNZBHOdI.net
>>324
それで言うならCheckFooExistにするかな
330:デフォルトの名無しさん
16/04/30 16:58:02.53 f7aH8+B9.net
つーか >>313 は hasXXX は受け入れてるんだから existsXXX も受け入れろよ、とは思うな
hasXXX だって疑問形ではないんだし
331:デフォルトの名無しさん
16/04/30 16:59:26.96 kBEc2ffr.net
existを名詞か形容詞にしたいなそれ
332:デフォルトの名無しさん
16/04/30 17:02:40.65 ZYtSxRdz.net
真偽でcheckとか使うやつはマジで最悪
チェックしてどうすんの?チェックして終わりですか?ん?
333:デフォルトの名無しさん
16/04/30 17:03:09.57 WILOMmUT.net
>>327
どうでもいいけど、疑問形ではないぞ。
334:デフォルトの名無しさん
16/04/30 17:03:41.48 WILOMmUT.net
>>329
関数だって言ってるだろ。
335:デフォルトの名無しさん
16/04/30 17:06:55.20 kBEc2ffr.net
>>327
この場合は、持っているという意味のhaveじゃなくて
完了形のhaveを疑問形にした、という認識だろう
336:デフォルトの名無しさん
16/04/30 17:07:04.94 PNZBHOdI.net
>>327
ところがイギリス英語では
do you have 〜を
have you 〜って言うからな
337:デフォルトの名無しさん
16/04/30 17:22:34.77 WILOMmUT.net
>>333
そんなの許容範囲だろ。
動詞の過去形を全部〜edにしても通じる。
というよりアホなアメリカ人は実際にこういうふうに言うと思う。
338:デフォルトの名無しさん
16/04/30 18:51:00.94 n7hI6rwd.net
unko.Xxx.Do(xxx => xxx.Fack());
IXxx Xxx { get { return _xxx ?? NullXxx.Value; } }
これが正解な
if(unko.hasXxx) { ...
とかダサすぎて見てらんない
339:デフォルトの名無しさん
16/04/30 20:00:51.29 WILOMmUT.net
オナニーならご自由に。
340:デフォルトの名無しさん
16/04/30 20:21:55.04 n7hI6rwd.net
条件分岐は馬鹿の使うものなんだよなあ
341:デフォルトの名無しさん
16/04/30 23:39:14.08 q5h6kmnB.net
Checkはvoid型で偽なら例外ぶんなげる。
342:デフォルトの名無しさん
16/04/30 23:42:13.18 n7hI6rwd.net
例外投げるなら
assert
require
ensure
やろ
343:デフォルトの名無しさん
16/05/01 09:11:08.43 tKi6j9CT.net
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
URLリンク(twitter.com)
ちなみにオイラは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:デフォルトの名無しさん
16/05/03 14:56:28.30 Ke9bfrqP.net
数値 = 関数名(確率);
関数は、whileか何かをおこない、確率が真になり続けた回数分のカウントを記録する。
その回数が戻る。
例:引数が0.45の場合、45%でwhileかなにが実行される。
この場合、関数からは55%の確率で0が返り、24.75%の確率で1が返り、20.25%の確率で2以上が返ることになる。
1:関数の適切な英語の名前を教えてください。(もしくは数学的名称を教えてください)
2:関数の適切な日本語の名前を教えてください。
3:上記の関数を、数学的記法で書くとどうなるか教えてください。
345:デフォルトの名無しさん
16/05/03 15:05:24.75 pcOhaWKy.net
質問です。
エディタやファイラにはよく、偶数行と奇数行とで文字色や背景色を変える機能がありますよね。
これをクラス名にしたいのですが、英語(あるいは日本語でも)ではどのような呼び方が一般的でしょうか。
>>341
ダブルアップとか連続成功数とか、そういう感じかしらね
346:デフォルトの名無しさん
16/05/03 18:22:12.18 skS2OG8T.net
>>342
ZebraLines
ZebraStripes
[ Zebra Stripes|lines excel ] で画像検索してみれ
347:デフォルトの名無しさん
16/05/03 18:54:34.07 mqpOF0td.net
行を表す描画モデルにEvenRowStyleとOddRowStyleを加えるだけでしょ
348:デフォルトの名無しさん
16/05/03 19:08:54.27 x698zMNJ.net
>>343
その表現は知らんかった。
なるほど。
しかし、質問者のいう機能をクラスにするってのはちょっと違和感あるね。
349:デフォルトの名無しさん
16/05/03 19:37:31.46 skS2OG8T.net
>>344,345 確かにそうだ
350:342
16/05/03 22:08:12.37 pcOhaWKy.net
ありがとう。
Zebra Stripesという表現があるんですね。
ちなみに、Unityのエディタ拡張としてクラス化してました。
351:デフォルトの名無しさん
16/05/30 11:05:28.49 PtD8OXpj.net
javaだとboolで動詞からはじめる場合は三単現にしろなんていわれますが
他の言語はオープンソースなどを見ているとついていないものがほとんどのように見受けられます
(慣習的に使われているものはsつきが多いようですが)
文法上はsつかないとおかしくねってなるのでネイティブ圏の人は気にするのかと思ってたのですが
別に明確な英文じゃないし、なくても変数かメソッドかの区別さえつけば割とどうでもいいんですかねこれ
352:デフォルトの名無しさん
16/05/30 21:24:10.84 K+n0hpg6.net
>>348
大事なことはソースの読者を意識すること。
主に誰がソースを読むのか、誰に読んでほしいかを考えて、
できる限りその人(ら)が読みやすいように書くこと。
(もちろん、自分自身のみ、ということもある)
あなたのソースを主に読む人にとって、
三単現にした方が読みやすいだろうと予想したなら、絶対にそうすべき。
三単現にしない方が読みやすいだろうと予想したなら、絶対にそうすべき。
読者はそんな事気にしないだろうと予想したなら、あなたも気にするな。
そうやって、読者を最優先に意識した書き方のルールを他人ではなく書き手が決める。
皆がやってるから、本に書かれてたから、じゃないんだよ。
もちろん、その皆とあなたのソースの読者が重なっているなら真似すればいいけどね。
ちなみに、ネイティブが主な読者なら、ここで質問するのはどうかと思う。
StackOverflowにでも訊いた方がいい。
かなり恥ずかしい拙い英語でも、たいていは紳士的に答えてくれる。
353:デフォルトの名無しさん
16/06/03 10:39:21.65 /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:デフォルトの名無しさん
16/06/03 11:37:39.85 aKIJ7KQZ.net
GetOffsetFromAとか?
あとToAlphabeticOrderとか?
355:デフォルトの名無しさん
16/06/03 12:27:49.74 GY90+sB3.net
>>350
distanceFromA
"distance"はC++標準ライブラリで2点のイテレータ(ポインタ)の距離を求める関数名から
URLリンク(cpprefjp.github.io)
356:デフォルトの名無しさん
16/06/04 09:30:19.10 iDs7a7Tk.net
>>351-3522
ありがとう!
357:デフォルトの名無しさん
16/06/04 09:48:11.79 IwWQQgjS.net
>>351-352ね
358:デフォルトの名無しさん
16/06/04 11:54:46.10 HhRyFvd+.net
thanks in advance ってやつか
359:デフォルトの名無しさん
16/06/04 14:58:50.59 LkNHIPjr.net
違う違うw
360:デフォルトの名無しさん
16/06/05 01:52:00.22 6G4RxP+T.net
動詞、あるいは動詞と同じつづりの単語を、
目的語として変数名や関数名に組み込みたい。
このとき、どう命名するのが誤解が少なくスマートでしょうか。
例えば「Set関数(set function)」という言葉があるとして
これを保持する変数があったとすると、そのままだと setFunction になりますが
しましこれだと「関数をセットする」という意味に見えます。
同様に、「Set関数を取得する」も素直に書くと GetSetFunction となり、ワケが分かりません。
変数と関数では命名が異なることも多いでしょうから、
そのあたりで対応することは可能でしょうけど、あまりしっくりきません
361:デフォルトの名無しさん
16/06/05 08:23:59.98 XRNn81gU.net
>>357
そもそもSet関数という言い方がおかしいだろw
362:デフォルトの名無しさん
16/06/05 08:25:58.11 XRNn81gU.net
>>357
関数名にファクションという言葉は普通、つけない。
363:デフォルトの名無しさん
16/06/05 08:28:19.83 GsmfrrQQ.net
関数の名前にFunctionと付けてるわけじゃなく関数のポインタを保持する変数の名前の方じゃないか多分
364:デフォルトの名無しさん
16/06/05 08:30:49.82 4pXfFBXo.net
>>357
>>357の言うSet, Getの動作がわからないとなんとも
Set関数を取得するってのもポインタ取得するだけでいいのかとか
取得って言ってるけど実は呼び出しなのかとか
>>359
論点では突っ込まないで揚げ足を取るバカ
365:デフォルトの名無しさん
16/06/05 08:31:01.93 TM3QCo+d.net
>>359
ゲッターに gettarHogehage()
セッターに setterHogehage()
という名前を片っ端から付ける頭のおかしい奴もいるぞ。
366:デフォルトの名無しさん
16/06/05 08:32:28.03 TM3QCo+d.net
gettar → getter
367:デフォルトの名無しさん
16/06/05 08:35:21.09 GsmfrrQQ.net
Set関数という言葉の方を何とかしたくなるな
368:デフォルトの名無しさん
16/06/05 08:40:03.37 XRNn81gU.net
何をセットする関数なのかが自分で分からないところが超初心者っぽいよな。
369:357
16/06/05 09:34:14.37 6G4RxP+T.net
すみません、言葉が足りていませんでした。
「Set」というのは、あくまで問題が発生しやすい一例と考えてください。
また、この「Set」は自分が作った名前ではなく
既存のシステムに存在する予約語だったり、プロダクトごとの固有名詞を想定しています。
例えばSQLにはSET句という言葉が登場します。
370:デフォルトの名無しさん
16/06/05 09:40:12.69 6G4RxP+T.net
>>361
あくまで一例ではあるのですが
Cなら関数ポインタ、言語によっては関数そのもの…という感じでしょうか。
>>364
ほんと同感です
371:デフォルトの名無しさん
16/06/05 10:14:16.50 rqrEGD9X.net
別にGetSetFunctionでいいよ
例外作られた方がかえって意味不明になるわ
GetだのSetだのというのはハンガリアンみたいなもんなんだから英語的に自然かどうかなんてどうでもいい
372:デフォルトの名無しさん
16/06/05 10:55:05.77 4dJDj7dU.net
最悪の名前
373:デフォルトの名無しさん
16/06/05 10:59:41.44 4pXfFBXo.net
>>369
最良の名前頼んだ
374:デフォルトの名無しさん
16/06/05 12:38:14.99 yu++c++x.net
>>366
申し訳ないけどやっぱり何を言ってるのかよくわからないわ。
そもそもここは具体的な命名を人に聞くスレだから抽象論じゃなくて
具体的な例を挙げないと。
375:デフォルトの名無しさん
16/06/05 16:38:54.70 FUwALgQ9.net
要するに自分が何をやっているのか分からないから、説明もできないし、妥当な名前も思い浮かばない。
376:デフォルトの名無しさん
16/06/05 18:26:29.87 6G4RxP+T.net
失礼しました。
例にも挙げたSQLですが、レコードの更新をする際に使うUPDATE構文の中に
具体的な更新情報を設定する「SET句」というものが存在します。
・カラム名と値のペアを引数として、目的のSET句を生成する関数
・既にあるUPDATE文を引数として、SET句の部分を抽出する関数
・生成
377:るいは抽出したSET句を保持する変数 をお願いします。
378:デフォルトの名無しさん
16/06/05 18:54:23.96 M+LzYe5A.net
Create(Generate)SetClauseとか
ExtractSetClauseとか
そこらへんでいいんじゃねぇか。
379:デフォルトの名無しさん
16/06/05 18:55:31.51 M+LzYe5A.net
最後の変数名は普通にSetClauseで。
380:デフォルトの名無しさん
16/06/05 18:59:52.85 B97j6xLf.net
設計に口出すのは禁止とされているが、そんな関数ほんとに必要なん?
set a = 'foo', b = 'bar', c = 'baz'
を作るのを考えたときにせいぜい、文字列のjoinくらいが欲しいだけでは?
逆の作業のためにsplitがあれば、カンマで分割、=で分割ができて嬉しい
381:デフォルトの名無しさん
16/06/05 19:05:55.74 w2YPqJX3.net
SQLでSETはstatementじゃね?
382:デフォルトの名無しさん
16/06/05 19:40:59.04 6G4RxP+T.net
ありがとうございます。
動詞+動詞になったり、変数名が動詞始まりになりますが、
あんまり気にしてても仕方ないですかね
>>376
基本的にはそんな感じなんですが、
他の条件で何種類か分岐したり、NULL判定やらエスケープやらも入れるので
関数化できたら楽かなと
383:デフォルトの名無しさん
16/06/05 19:58:22.99 M+LzYe5A.net
CreateSetClauseで文法的に動詞+動詞にならんだろ。
細かい文法忘れたけど。
384:デフォルトの名無しさん
16/06/05 20:02:26.84 M+LzYe5A.net
URLリンク(www.sqlite.org)
で、An UPDATE statement is used to modify a subset of the values stored
とかあるけど、この主語のUPDATEは動詞だと思ってるの?君は?
385:デフォルトの名無しさん
16/06/05 20:38:20.30 M+LzYe5A.net
つか、命名するときは厳密な英語じゃないからな。冠詞とか省いてるし。
気にし過ぎ。
386:デフォルトの名無しさん
16/06/05 21:47:30.90 pxS74riA.net
主語はUPDATE statementだと思うがw
387:デフォルトの名無しさん
16/06/05 22:18:45.26 M+LzYe5A.net
そんなの当たり前だろ。
主語にあるUPDATE
ってこう書けばよかった?
388:デフォルトの名無しさん
16/06/05 23:48:44.91 pxS74riA.net
恥ずかしいなオイw
389:デフォルトの名無しさん
16/06/06 00:14:49.75 v8u4+dYW.net
そもそも設計がおかしいわw
390:デフォルトの名無しさん
16/06/06 00:16:52.24 v8u4+dYW.net
>>373
おまえ、それジョークだろ?
なんでそんな分かりにくいものを作るんだよ。
391:デフォルトの名無しさん
16/06/06 01:45:33.56 q+Q7JAO1.net
必死だなw
392:デフォルトの名無しさん
16/06/06 17:00:05.35 tNI5q6bB.net
getset嫌いな人って別のクラスの何かをセットしたりゲットする場合名前どうしてんの?
パブリックなもん作るなハゲとかそういう屁理屈みたいなのはなしで純粋に聞きたい
393:デフォルトの名無しさん
16/06/06 17:43:58.32 KUhWm8XZ.net
プロパティ使う
394:デフォルトの名無しさん
16/06/06 17:51:52.01 NqTKzMF7.net
コンストラクト時に全部渡す
getはまだしもsetはほんとに使い道ないと思う
どんなときに使うの?
395:デフォルトの名無しさん
16/06/06 18:26:22.45 Eud6fEMT.net
そういうのなしでわざわざ書いてあるのに脳みそ腐ってんじゃねえのかこいつら
396:デフォルトの名無しさん
16/06/06 19:37:20.28 q+Q7JAO1.net
get/setは不自由なJava豆のために使われたことから広まったと思う。
Windows-cppグループにはCOMが有ったため不自由していなかった。
そのため今でもColor c = hoge->color();/*getter*/あるいはhoge->color(c);/*setter*/のようにする。
もしもJavaでset/getが予約語だったらどうだろう。
そんな言語は許されるだろうか。
メソッド名で機能性が変わるJava豆は許されて良いものだろうか。
いいや許せん!
397:デフォルトの名無しさん
16/06/06 19:40:30.08 q+Q7JAO1.net
ココにJavaを許さない会設立を宣言する!
398:デフォルトの名無しさん
16/06/06 20:06:44.69 7c0ylB5d.net
c = color-func(&a, b)
はいこれ getter setter どっち?
設計が悪いで終了っすか?
399:デフォルトの名無しさん
16/06/06 20:29:18.76 /AibCiaw.net
ゲッターセッターが「書きにくい」ことに不満を持つのも
「書きやすい」言語を求めるのも初心者によくある間違い
400:sage
16/06/06 22:38:20.45 Kcx2FrR6.net
URLリンク(www.youtube.com)
401:デフォルトの名無しさん
16/06/06 22:51:52.32 htemWdUU.net
>>388
嫌いじゃあないが、element.textContent のようにgetter/setterを組み合わせたプロパティは考えられるな
402:デフォルトの名無しさん
16/06/06 23:21:27.05 htemWdUU.net
Map.prototype.size は getter だったかな
403:デフォルトの名無しさん
16/06/07 04:43:16.23 swev/JrE.net
ステートフリープログラミング!
404:デフォルトの名無しさん
16/06/13 17:31:19.02 vDvNi0IR.net
個人間でのメッセージシステムを作っているのですが、
相手側はどのように表現すればよいでしょうか?
codicではmessage_partnerと出ましたが・・・少し微妙です
405:デフォルトの名無しさん
16/06/13 18:15:02.16 AMr8YAbC.net
TheOtherとか?
P2PのP(Peer)にも通信相手の意味があるみたいだけどちょっと
誤解を招く可能性があるような気がしないでもないね。
406:デフォルトの名無しさん
16/06/13 18:47:32.03 48MOFUcT.net
ここ1年ほど、スクリプトは全部漢字で名前付けるようにした。
すごぶる調子いい。
407:デフォルトの名無しさん
16/06/13 18:48:57.95 48MOFUcT.net
もちろん社内用スクリプトと自分用スクリプトだけだけど。
408:デフォルトの名無しさん
16/06/13 18:52:28.98 FgO5cI1c.net
DDDやってると自然と識別子が日本語になる
409:デフォルトの名無しさん
16/06/13 19:22:14.15 hXDTf0KG.net
RemoteEndPoint
.NETのパクリ。
410:デフォルトの名無しさん
16/06/13 20:31:59.23 1ahkFkzd.net
それなら単にremoteとかremote nodeとかremote siteとかでいいんじゃないか
プログラムでエンドポイントと言われるとTCPの接続先をイメージしてしまう
remote.endpoint で相手のIPアドレスやポートが返ってくるみたいな
411:デフォルトの名無しさん
16/06/13 21:30:27.67 lgEcYsTe.net
だよね
destinationとかシンプルにtoでいいよ
412:デフォルトの名無しさん
16/06/13 21:33:06.20 Ihgwvj7F.net
子アイテムを追加削除出来るグループとそうじゃないグループを区別したいんだが
revisableGroupでいいかな?
editableだと自分が変更可能みたいだし
parentもあんま使いたくなくて悩んでます><
413:デフォルトの名無しさん
16/06/13 21:38:44.69 1ahkFkzd.net
mutableかmodificable
414:デフォルトの名無しさん
16/06/13 21:59:02.51 Ihgwvj7F.net
>>409
有り難うございます
英語苦手だわ〜;;
415:デフォルトの名無しさん
16/06/17 11:12:46.03 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:デフォルトの名無しさん
16/06/17 12:09:06.07 EHxWLoiP.net
divideIntoChunksOf
divideBy
417:デフォルトの名無しさん
16/06/17 15:00:38.23 UPHAo8lR.net
>>411
IxのBufferと同じものだな
スレ違いだけどその実装だと区切る回数が増えるほどパフォーマンスが落ちるぞ
418:デフォルトの名無しさん
16/06/17 20:05:02.82 TYrRBfVh.net
書けない?
419:デフォルトの名無しさん
16/08/03 20:17:51.13 +fx8B3Le.net
「nヶ月前」を意味し、 この n を格納する Int 型変数の名前は何にしたらいいと思う?
420:デフォルトの名無しさん
16/08/03 21:12:35.73 U2nwZ26D.net
monthsBefore
421:デフォルトの名無しさん
16/08/03 21:15:05.12 wuBisWbe.net
月数(months)でいいんじゃないの?
変数名にそこまで具体的な意味を込める必要は恐らくないと思うんだけど。
422:デフォルトの名無しさん
16/08/03 21:41:48.90 8jvqYkZx.net
months_passed
423:デフォルトの名無しさん
16/08/03 22:00:54.75 o77xN4AH.net
Ruby on Railsのmonths_agoメソッドだと
def months_ago(months)
で変数(引数)名はmonthsになってるね
424:デフォルトの名無しさん
16/08/03 22:09:50.68 +fx8B3Le.net
みんなありがとう。
nヶ月後を表す変数と区別したいから monthsBefore にするよ。
>>419
Ruby は使ったことないんだけど、それはメソッドの定義で、months は仮引数なの?
その状況なら months で十分なのは分かる。
425:デフォルトの名無しさん
16/08/03 22:10:42.90 Y2FRm/z5.net
それはメソッド名で役割を明確にしてるからだろ
言及されてないからわからんが変数で表したいだけならmonthsだけじゃ不明瞭
426:デフォルトの名無しさん
16/08/05 13:07:51.82 FVU7PUl1.net
期間は2つのポイントがあるから導き出せるってことだよね
ポイントを変数に入れてその差異を出すじゃあ駄目なの?
前か後かは符号で分かるし
この話はスレ違いか
427:デフォルトの名無しさん
16/08/05 13:32:48.54 LWhq4u9q.net
たかが数文字書いとけば済むのに
こういう読み手に無駄な作業増やしたがるやつってなんなんだろうな
428:デフォルトの名無しさん
16/08/05 13:54:05.27 P4D3CPGd.net
無駄に説明的な名前だとかえって分かりづらくなる場合もあるから
一概にどっちが正しいとは言えないと思うよ。
特にこの例みたいに、日本語や英語ですら何て表現してよいか迷うような概念の場合。
一般的には説明的な方が好ましいのは確かだけどね。
429:デフォルトの名無しさん
16/08/05 18:52:22.12 OgtmDK03.net
例えばその変数に3って入ってるとして、
その3をどう使うのか説明してくれれば、
もうちょっとマシな提案できると思うよ
430:デフォルトの名無しさん
16/08/05 18:58:27.11 3d173yzJ.net
>>419のように変数が一つしかないのなら months で良いと思う
>>420のようにnヶ月後と区別するなら、
var previous, after;
var previousNumber, afterNumber;
var previousMonths, afterMonths;
どの変数名を採用するか、は他にある変数名に依存するかと
431:デフォルトの名無しさん
16/08/06 10:46:53.32 ywdq7rGj.net
文字列を引数として、列挙型を返す関数の名前をお願いします。
enum Fruits
{
ORANGE, BANANA, GRAPE, MELON, DURIAN,ACORN
}
似たような関数が複数あるため、できるだけ統一した命名にしたいと考えています。
432:427
16/08/06 10:54:41.22 ywdq7rGj.net
すみません、送信ミスりました。
上記のような列挙型があるとして、
適当な文字列(例えば"みかん" "Orange" "いよかん" など)を与えると、
それに対応した列挙型の値(この場合はORANGE)を返してくるというものです。
今のところGetFruit()やConvertFruit()が候補にあるのですが
どちらもなんか違うような気がしています。
よろしくお願いします
433:デフォルトの名無しさん
16/08/06 11:35:38.76 CIMwAPv1.net
返ってきた値をどう利用するの?
GetIndex?
434:デフォルトの名無しさん
16/08/06 11:38:47.07 dqPdKOk8.net
ParseFruit
GetFruitFromString
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
96日前に更新/261 KB
担当:undef