クラス名・変数名に迷ったら書き込むスレ。Part26at TECH
クラス名・変数名に迷ったら書き込むスレ。Part26 - 暇つぶし2ch200:デフォルトの名無しさん
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的に分散され、特定のサーバーに依存しません


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

435:デフォルトの名無しさん
16/08/06 12:22:29.34 NUwSQmRP.net
classify

436:デフォルトの名無しさん
16/08/06 12:29:13.43 dhAdgMp9.net
>>428
普通にToFruitsでいいんじゃないの?
string以外の型からFruitsへの返還関数もあってかつオーバーロードも使えないなら
StringToFruits
もしenumに静的メソッドを定義できるならFruits.FromStringとかFruits.Parseもあり

437:デフォルトの名無しさん
16/08/06 13:38:14.02 HwGfpDVr.net
>>428
getFruitID

438:427
16/08/06 20:13:49.16 ywdq7rGj.net
>>429-433
ありがとうございます。
ParseFruit()にしようと思います。
>>429
表示を変えたり、データベースに突っ込む前の下準備だったりと色々です。
使うたびに正規表現でマッチさせても、そこまで速度が変わるわけではないんですけれども。
>>432
頭に動詞を持ってこないタイプの命名、すっかり忘れてました。
変換(型変換?)を多用するときに特に有効そうですね。

439:デフォルトの名無しさん
16/08/06 22:56:10.17 wynReyk0.net
>>429
「戻り値の使い方」を関数名に込めると、
その関数と今の呼び出し元の関数との間の関係が必要以上に深くなる。
その関数を他の場所や目的で使いにくくする可能性が増すからお勧めしない。
そういう意味で言ってるんじゃなかったらゴメン。

440:デフォルトの名無しさん
16/08/07 00:46:48.79 2lgjqB6s.net
考えすぎやねんw

441:デフォルトの名無しさん
16/08/07 04:00:39.31 BOC7lX8O.net
つーかこれ型名Fruitじゃないの?一般的に

442:デフォルトの名無しさん
16/08/07 08:53:56.95 zBYc/KkC.net
>>435
indexとして利用するのかとりあえずORANGEならいいのかで変わってくるような
構造体Fruitがあったとして
Fruit[ORANGE]ならFruitに含まれる情報はオレンジの情報って感じでindex使うかなと思って

443:デフォルトの名無しさん
16/08/07 11:25:19.07 RaDiNtb+.net
なんか後から盛り上がってるんであえて黙ってたことを書いちゃうけど、
質問者はParseFruitで納得してるけどこれ日本語訳すると「Fruitsを解読する」。
実際の処理は「文字列を解読してFruitsに変換する」だから実は処理と名前が正反対なんだよね。

444:デフォルトの名無しさん
16/08/07 13:40:19.23 2lgjqB6s.net
だから考えすぎやねんw
Fruitの名前をParseするんだからParseFruitで全く問題ないわw

445:デフォルトの名無しさん
16/08/07 13:46:21.43 zBYc/KkC.net
>>440
「おれんじとりんごとぶどう」これを
「おれんじ」「りんご」「ぶどう」こうするのがParse

446:デフォルトの名無しさん
16/08/07 13:49:12.87 2lgjqB6s.net
>>441
考えすぎてオレオレ定義になってもうとるわw

447:デフォルトの名無しさん
16/08/07 13:54:06.00 zBYc/KkC.net
>>442
質問者が示したのは構文が無いだろ? <


448:デフォルトの名無しさん
16/08/07 13:59:31.38 9x/mUqeF.net
DURIANはともかくMELONとACORN(どんぐり?)は果物なのかどうか問題

449:デフォルトの名無しさん
16/08/07 14:33:50.73 4ZSsrl0W.net
>>440
いやいや悪いけどお前さんの考えが足りないだけ。
「Fruitsの名前」は文字列であってFruitsじゃないでしょ。
"日本語の文"を"A Japanese sentense sentence" 変換する作業は「日本語を翻訳」であって
「英語を翻訳」ではない。
「英語に翻訳」なら正しいけど、ParseFruitsは「FruitsをParse」であって「FruitsにParse」じゃない。

450:デフォルトの名無しさん
16/08/07 14:46:52.12 2lgjqB6s.net
>>445
だからFruitをParseであってるやろw頭おかしいんかお前w
お前と ID:zBYc/KkC は考えると問題に無関係の因子を持ちこんで
余計に混乱させるタイプの脳を持っとるようやからなんも考えん方がよっぽどマシやでw

451:デフォルトの名無しさん
16/08/07 14:50:11.80 4ZSsrl0W.net
>>446
なんか頭悪そうだけど、"Fruitsの名前"がFrutsiそのものであるならそもそも変換いらないじゃん。
馬鹿じゃないの。

452:デフォルトの名無しさん
16/08/07 15:52:33.40 zBYc/KkC.net
>>446
主語動詞etcに分解する事をParse
そっちが言ってるのはオレンジをORANGEにする事をParseな
プログラム以前に国語と英語を

453:デフォルトの名無しさん
16/08/07 16:38:45.95 xBB6TA9C.net
うむ parse だと続きがありそうな気になる

454:デフォルトの名無しさん
16/08/07 16:53:02.13 4ZSsrl0W.net
ちょっとググった感じだとParseIntoFruitsなら少なくとも間違いではない感じ。
intoじゃなくてtoでもいいような気もするけどその辺は自信ないな。

455:デフォルトの名無しさん
16/08/07 17:05:38.96 JROb1E9W.net
GetEnumFruits でw

456:デフォルトの名無しさん
16/08/07 17:34:34.23 EccYH2Vl.net
例を挙げるならこんなところか
function parseJSON (json) { return JSON.parse(json); }
var fruits = parseJSON ('["ORANGE","BANANA","GRAPE","MELON","DURIAN","ACORN"]');
ここで関数名を parseFruits にする人はいない
フルーツだけしか列挙出来ない文字列フォーマットなら convertToFruits や parseFruitsString が考えられるが、ちょっと考えにくいな
列挙型に変換可能な文字列フォーマットならフルーツ特化というわけでもないと思うが

457:デフォルトの名無しさん
16/08/07 18:27:55.44 2lgjqB6s.net
>>452
「いない」やないわ
お前が「今は」それは少し違うと考えとるだけや
お前も脳に仕事させへん方が良いタイプやなw

458:デフォルトの名無しさん
16/08/07 18:46:55.94 zBYc/KkC.net
>>453
いつ本題で反論するんかなぁ

459:デフォルトの名無しさん
16/08/07 21:01:25.91 efJ0aVBs.net
もうreplaceでいいよめんどくさいから

460:デフォルトの名無しさん
16/08/08 11:13:52.57 GluBStzJ.net
クラスを定義する時に
class 商品情報Class{
 ...
}
みたいに、末尾にClassとかクラスなどの文字を入れるべきでしょうか?
利用する言語は主にC#です。

461:デフォルトの名無しさん
16/08/08 11:49:08.90 liPHE8bT.net
俺なら後々競合したら嫌だし
C_プロジェクト名_商品情報
ってやるな

462:デフォルトの名無しさん
16/08/08 12:04:30.00 5Stpz6MP.net
いやいや、名前空間ってないの??
>>456
C#というか.NETの標準クラスの名前にそんな「Class」って接尾辞ついてるか????????????
そんなものあわせりゃいいだけだろ。

463:デフォルトの名無しさん
16/08/08 12:26:29.00 /oRCvZgG.net
>>456
必要がないどろこかそんなもの付けちゃダメw
何の意味もないでしょ

464:デフォルトの名無しさん
16/08/08 12:47:06.55 9w580vhq.net
>>456
C#ならクラス名にプレフィックスやサフィックスを付けるのは規約違反だよ

465:デフォルトの名無しさん
16/08/08 13:27:20.97 GluBStzJ.net
>>459
意味あるでしょ。
見ただけでクラスと分かる。
>>460
文法的に問題は無いですが。

466:デフォルトの名無しさん
16/08/08 13:39:26.11 /oRCvZgG.net
>>461 見ただけでクラスを分かる必要なんかないでしょ。 C#はクラスが基本で構造体はあまり使わないから「見ただけで構造体と分かるようにしたい」 なら百歩譲って多少の意味はあるが、それも必用な時にインテリセンス等で確認できれば必要十分。 論より証拠、まともなプロジェクトで>>456みたいな命名をやってるのが一つでもあるのか。 ついでに、C#ではインターフェイスのみIでプリフィクスすることになってるけど、これは「見ただけで分かる」 ためじゃなくて恐らく名前のバッティングを避けるため。



468:デフォルトの名無しさん
16/08/08 14:19:36.88 yY0VOXeS.net
好きにしろよ
こんなこというようなやつだしどうせ自分しか見ないもんだろ

469:デフォルトの名無しさん
16/08/08 15:52:00.88 X6h1Br7O.net
「見ただけで分かる」の程度の差は誰でもあるんだから、好きにすればいいじゃない。
インテリセンスとか宣言で分かるからなんて言い出したら、変数名も一文字でいいよ。

470:デフォルトの名無しさん
16/08/08 15:55:06.43 /oRCvZgG.net
>>464
頭悪そう...
型がクラスかどうかを意識する必要性が生じることはかなり稀だが、
処理の中で変数の持つ意味については常に意識する必要がある。

471:デフォルトの名無しさん
16/08/08 16:19:06.14 X6h1Br7O.net
おっ、気持ちよさそうなドヤ顔

472:デフォルトの名無しさん
16/08/08 17:59:52.15 4wAqez6C.net
「~取得用のメソッド」みたいなコメント書く馬鹿いるよな
見たら分かるっちゅうねん

473:デフォルトの名無しさん
16/08/08 18:06:59.60 9w580vhq.net
「~処理」もイラッとする
なぜ名詞にしたがるのか

474:デフォルトの名無しさん
16/08/08 18:10:34.19 liPHE8bT.net
プログラム習い始めの子が変数名や関数名を短くするようなイメージ

475:デフォルトの名無しさん
16/08/08 18:20:47.38 Llgl68w5.net
>>469
名前空間

476:デフォルトの名無しさん
16/08/08 18:29:08.68 HZvPgKIC.net
>>467
その言い方はくどいがドキュメントもかねてる場合は~を返すってくらいは普通に書く
たとえ見てわかるとしてもな

477:デフォルトの名無しさん
16/08/08 19:04:01.26 n+VZzCs/.net
>>469←プログラム習い始めの子がプログラム習い始めの子を語る構図w

478:デフォルトの名無しさん
16/08/08 19:15:00.01 liPHE8bT.net
>>472
習ってもいない奴が適当に叩いてる構図
でいいのか?

479:デフォルトの名無しさん
16/08/08 19:19:59.09 ZW/Dn+F/.net
なれてるやつの方が短いだろ
果ては一文字変数とか使い出すしいい迷惑
一文字で許してもいいのはループ変数くらい

480:デフォルトの名無しさん
16/08/08 19:30:50.79 0h94x3PW.net
>>474
むしろローカル変数で過剰に説明的な名前を付けたいような状況になったら
メソッドが長すぎることを疑うべき。
メソッドが十分に短くてかつ使う型に十分に説明的な名前がついていれば
ローカル変数名なんて1文字でいい。

481:デフォルトの名無しさん
16/08/08 19:46:58.05 pTFLphMl.net
自分のものだけでやってくれよそういう自己満足は

482:デフォルトの名無しさん
16/08/08 20:05:48.67 jlXOEcZW.net
なんかの状態を表すためのbool型の変数の名前をただのflagにするか、目的が分かる名前にするか、どっちがいいんだろうな
メソッド内にそういう使い方をする変数は1つしかないとして

483:デフォルトの名無しさん
16/08/08 20:32:21.21 robrIdsq.net
>>477
一時的なフラグって大抵exitとかsuccessとか意味があって簡潔な名前を付けやすいから
あえて意味不明な名前を選ぶ理由がない

484:デフォルトの名無しさん
16/08/08 20:34:28.94 0h94x3PW.net
だいたい、現実世界でboolの変数をフラグって言う奴見たことないよw
アセンブリのプログラマは別にしてw

485:デフォルトの名無しさん
16/08/08 20:56:25.75 robrIdsq.net
~flagって付けたがる奴いるよな
整数とか文字列とか日付とか他のもサフィックス付けるんなら分かるが、
flag使う奴は大抵なぜかboolだけを特別扱いする
本人に聞いても特に理由はないがflagを付けないと落ち着かないらしい

486:デフォルトの名無しさん
16/08/08 22:17:09.02 n+VZzCs/.net
聞いた事ないくせに本人に聞いたと嘘をつく奴いるよなw

487:デフォルトの名無しさん
16/08/09 00:14:13.04 FxJtN5bL.net
ひどいのになると ~frag とかいう名前が付いてた...

488:デフォルトの名無しさん
16/08/09 03:05:53.84 NWt115mk.net
こういう能書き垂れるやつらに後学のためにお前が書いたやつ見せてっていっても絶対見せないんだよなあ
参考にしたいからぜひ実物を見たいんだが

489:デフォルトの名無しさん
16/08/09 07:30:19.97 HRQ9KN0P.net
flagサフィックスいらないって言ってるだけなのに実物もクソもないだろう
整数で真偽値を表現する言語だと、
注意して区別する必要があるからflagを付けたくなるのはまあ分かる
最近の言語でもビットフィールドだけはflag付けたくなる

490:デフォルトの名無しさん
16/08/09 08:43:30.26 JptmWLYq.net
それ限定じゃなくて全般に対しての話でしょ
上の方でもなんかぐちぐちいってる人たちいたし

491:デフォルトの名無しさん
16/08/09 14:19:26.00 FiC/Vloh.net
結局は・・・Classと付けるのが良いのですね。

492:デフォルトの名無しさん
16/08/09 15:16:21.21 s9poePNg.net
>>486
ありえない

493:デフォルトの名無しさん
16/08/09 15:30:49.18 0Pwcb2ea.net
ハンガリアンはいいものだ

494:デフォルトの名無しさん
16/08/10 00:04:27.48 wNn4whiw.net
ハンガリアは分かりやすいから賛成だと思うが否定されているね

495:デフォルトの名無しさん
16/08/10 00:23:07.38 PjOubVFc.net
型の無い言語で、
例えばプレーンテキストの文字列と、HTMLの文字列を使い分けたい時とか
ハンガリあんしちゃったほうが楽なんじゃないかって

496:デフォルトの名無しさん
16/08/10 07:18:04.16 0FrSD1Xj.net
>>490
それはアプリケーションハンガリアン
クラスにClassとか付けちゃうバカチンハンガリアンとは別

497:デフォルトの名無しさん
16/08/10 08:26:12.40 oJSizC1Q.net
>>490
型名を示す犯狩り案とはまた別だね

498:デフォルトの名無しさん
16/08/10 13:18:47.02 ThENSwqI.net
プレフィックスの意味とか中身は実はどうでもよくて、
関数名は大文字から始まり、変数名は小文字から始まるが単語としては大文字から始まる、
つまりプレフィックス的な小文字がおまけで付いて大文字でアクセントの付いた文字列として表現。
この辺はもうデザインとしてそうしてる。
文字列区切りとして大文字区切りではなく、アンダーバー区切りだと全部小文字でも良かったが、
アンダーバーの分長くなるのが嫌い。

499:デフォルトの名無しさん
16/08/12 22:03:07.57 IYlYCot4.net
Manager, Controler, Utilityを使い回す

500:デフォルトの名無しさん
16/08/15 13:34:40.19 fC7pbJe3.net
質問なのですが
ちょびっと使うだけなら
tmp,a,b,c,の他に何かありますか

501:デフォルトの名無しさん
16/08/15 13:47:49.57 tBQUW0H6.net
n, m, p, x, y, w, h, s, d, t, r,,,,
tmp, a, b, c って、表現しようの無い一時変数って感じだな。

502:デフォルトの名無しさん
16/08/15 13:48:28.39 DtcqzF6E.net
>>495
何のために?

503:デフォルトの名無しさん
16/08/15 14:02:36.73 /RUSPZDT.net
>>495
hogeでググるといろいろ出てくるよ
hageじゃなくてhogeね

504:デフォルトの名無しさん
16/08/15 16:03:30.78 6b+P2CyF.net
xはLINQのラムダ式でたまに使う

505:デフォルトの名無しさん
16/08/16 21:12:00.06 VwgNa7QC.net
i j k l m nぐらいはループ変数に脳内が割り当ててる

506:デフォルトの名無しさん
16/08/16 23:27:52.02 6YePaDDO.net
i j k
n
x y z t
p
w h
この辺りは、それ単独で意味を持ちそう。
あとPerlだったか、a b は好ましくないって言語があったような

507:デフォルトの名無しさん
16/08/17 01:14:47.53 6tDDxAzE.net
>>500
Fortran脳乙

508:デフォルトの名無しさん
16/08/17 08:42:36.79 rz4OYI8a.net
i はindex?
j k l はiからの文字順?

509:デフォルトの名無しさん
16/08/17 14:08:28.17 IPZ0fN+X.net
>>500
Perlは以前、一文字の変数は全部特殊変数の予約だかで非推奨だったね。
どんな変数でも必ず単語を付けなさいって推奨だった気がするけど、あまりよくないことだと思う。
右長になる。(特に大きな構造を持つプログラムでは大変)
誤字や単語のニュアンス違いが増える。(xとyとかだと間違う隙間もない)。
名前を考えるのに時間がかかる。(道端の石ころにまで正しい命名を考えるべきではない)。

510:デフォルトの名無しさん
16/08/17 14:09:10.83 IPZ0fN+X.net
安価間違えたけどまぁいいか

511:デフォルトの名無しさん
16/08/17 15:07:47.60 XbrAXvZQ.net
>>503
integerあるいはiteratorの頭文字とされることが多いが、
別にindexの頭文字でも困らないと思う

512:デフォルトの名無しさん
16/08/17 18:07:19.67 ORSiEfcj.net
なんにしてもijlとアルファベットで一番視認性が悪い部分を一文字で使い出したやつはただの無能

513:デフォルトの名無しさん
16/08/17 18:28:11.67 YSBgSIK4.net
>>507
当時はスクリーンエディターどころかモニターそのものがないけどねw

514:デフォルトの名無しさん
16/08/17 18:29:31.37 YSBgSIK4.net
っていうか、文字の視認性が悪いのはフォントメーカーの問題だろうにw
Courierみたいなフォントでijlを見間違える奴なんていないよw

515:デフォルトの名無しさん
16/08/17 19:14:28.62 T7KqFpu4.net
小文字もなかったころの話だしな

516:デフォルトの名無しさん
16/08/17 19:29:05.47 9U3uyYhi.net
ijkを読み間違える人は keep を jeep と読んだりするのかな

517:デフォルトの名無しさん
16/08/17 19:33:42.82 xiehHi4F.net
kは間違えないだろ

518:デフォルトの名無しさん
16/08/17 19:36:41.94 9U3uyYhi.net
では、jeed と leed か

519:デフォルトの名無しさん
16/08/17 19:42:05.07 E/N9h8UB.net
結論: >>507は無能以下の負能w

520:デフォルトの名無しさん
16/08/17 21:55:00.50 YSBgSIK4.net
実にどうでもいい話だけど、Win10のワードパッドではCourier Newを選択できないことに今気が付いた。
ワードからコピペすることは出来るのに。
何でこんな仕様になってるんだろ。

521:デフォルトの名無しさん
16/08/17 23:46:44.06 +zibI2Jg.net
googleのjsコンパイラ通すと転送量節約に全部の変数1文字にならんかったっけ

522:デフォルトの名無しさん
16/08/18 08:22:26.78 nfE+KhhQ.net
>>516
なにそれやめてw

523:デフォルトの名無しさん
16/08/18 13:13:18.16 K7fYT3+9.net
>>517
変数名の動的生成でもしてんの?

524:デフォルトの名無しさん
16/08/18 14:23:39.04 U0ZmmgyR.net
リバースエンジニアリング屋さんかも

525:デフォルトの名無しさん
16/08/26 21:40:55.45 KxIt1IxC.net
自動巡回と(手動)巡回のメソッド名をお願いします。

526:デフォルトの名無しさん
16/08/27 00:48:31.87 tEm/yshL.net
autopatrol manualpatrol
巡回の意味にもよるけどpollingのほうが適切な場合が多いかも

527:デフォルトの名無しさん
16/08/27 11:16:33.60 WpyBBYGh.net
よかったこんなのが身近にいなくて

528:デフォルトの名無しさん
16/08/27 12:33:13.75 3U68Yxtc.net
AutoMakeTheRounds
ManualMakeTheRounds

529:デフォルトの名無しさん
16/08/27 15:38:59.84 un352GBo.net
>>520です。
巡回はWebの巡回とかそんな意味ですね。

530:デフォルトの名無しさん
16/08/27 17:31:30.68 bXvAhNuA.net
なんちゃらcrawlとかでいいんじゃね

531:デフォルトの名無しさん
16/08/27 17:36:47.06 yK/3tXKV.net
自動巡回はなんとなく分かるような気もするけど手動巡回ってのは何なんだろう
イメージ湧かないねw
CrawlAutomatically / AutoCrawl
Crawl(Manually) / ManualCrawl

532:デフォルトの名無しさん
16/08/27 18:58:52.22 un352GBo.net
つか、メソッド的にはCrawlが1つあればよかったですね。
自動巡回はタイマーなどで定期的にCrawl呼ぶだけだし、
手動というのは、ユーザーがボタン押したときに巡回されることを意味してたのですが、
そのときも普通にCrawl呼べばよかったですね。
ということでCrawlでいきたいと思います。ありがとうございます。

533:デフォルトの名無しさん
16/08/28 04:28:03.92 1Wb1LBE/.net
ネットサーフィン

534:デフォルトの名無しさん
16/09/07 14:24:03.81 Cv/bXXrx.net
save の反対は load だと思うのですが、
store ほ反対は何ですか?

535:デフォルトの名無しさん
16/09/07 14:32:36.86 aWoJ1pFc.net
むしろloadとstoreで何が違うかの方が興味があるな。
違わないのであれば意味のある質問とは思えない。

536:デフォルトの名無しさん
16/09/07 14:33:19.03 Wkw33CiO.net
saveに対してstoreって事は貯蔵って意味?
なら消費とか?

537:デフォルトの名無しさん
16/09/07 14:59:39.01 UoA3G/Cw.net
PUSHとPOPを思い出したZ80時代

538:デフォルトの名無しさん
16/09/07 15:20:21.28 If+GZyVf.net
loadで保存の場合もあるよ
storeがコード内で動詞として使われてるのは見たことないな

539:デフォルトの名無しさん
16/09/07 16:33:49.51 +50lU+Es.net
保存というか溜める的な意味合いのstoreなら腐るほど転がってるけど
loadで保存なんてそれこそ見たことがないんだが

540:デフォルトの名無しさん
16/09/07 16:56:44.54 aWoJ1pFc.net
>>534
たしかにl質問者はsaveの対義語のoadって言ってるんだから、ストレージから読みだすとか
そんなニュアンスのloadだねw
そういや今思い出したけど、なんかCPUの命令セットで概念上ロード(メモリ→レジスタ)と
ストア(レジスタ→メモリ)を区別するメーカーもあって、それでいくとloadとstoreは反対の意味になるなw
元々の英語の意味はどっちも詰め込むって感じで近い言葉だとおもうし、現に上の2つを区別せずに
ロードとかムーブっていうメーカーもあったはずだし。

541:デフォルトの名無しさん
16/09/07 17:15:36.82 If+GZyVf.net
>>534
DBにロードとか言うでしょ
ファイルのloadってファイルの内容をメモリ上にロードするって意味で、むしろ保存に近い意味合いなんだよ
save/loadを対義語のように使うのは、load自体には永続性があるようなニュアンスがない(あってもいい)から
saveと比べると揮発性が高そうな気がする(=メモリに読むのかな?)という、かなり微妙な区別

542:デフォルトの名無しさん
16/09/07 17:50:36.98 CDc7wp6B.net
はるか昔 store <--> restore の対で使ってた

543:デフォルトの名無しさん
16/09/07 20:52:38.70 /3zGJr1I.net
保存になるのは結果論であってロードはあくまで読み出しが焦点だろ
どこの慣習かしらんが最初に言い出したやつがアホ

544:デフォルトの名無しさん
16/09/07 23:16:30.26 hhCwENrv.net
何言ってんのこの人

545:デフォルトの名無しさん
16/09/08 00:11:38.42 mLK2BL1B.net
>>538
さすがに辞書引けよとしか
ファイルのloadはファイルシステムからアンロードしてメモリにロードする操作
saveやstoreだと確実に揮発性の低い方へ移すんだと伝わるけど、
逆に揮発性の高い方へ移すという意味の単語は見つからなかったんだろうね
冷蔵庫から外に出すみたいなニュアンスを表現する動詞を持ってる自然言語ってそもそもあるんだろうか

546:デフォルトの名無しさん
16/09/08 00:13:27.61 dxGvBklC.net
どうでもいいけど話を片付けたかったら
ネイティブが実際にloadを保存の文脈で使っている例をあげれば済むんじゃない

547:デフォルトの名無しさん
16/09/08 00:19:54.71 ll3GZTXW.net
>>540
まあ、俺は昔組み込みでretrieveを使ったことはある。
ついでに、質問者の人、正面から答えずに変な方に話広げてごめんねw

548:デフォルトの名無しさん
16/09/08 08:36:01.31 vDju4t2X.net
>>529
storeの対義語はrestore
でも、backup, restore や import, export を使うケースが多い気がする

549:デフォルトの名無しさん
16/09/08 10:10:17.38 jmQRCRWr.net
>>543
それはどうかね。
storeの反対動作は必ずしもre-storeとは限らないよね。
(読みだしているデータをstoreしたのは別のコンピュータ、別のプログラムかもしれない)
そもそもrestoreとかfixは修理する方のイメージの方が強すぎて使うのためらうわ。

550:デフォルトの名無しさん
16/09/08 11:55:40.92 7o4m/kCG.net
馬車に荷物を積みこむのが loadや
腐りやすい食糧を貯蔵するのが saveや
store は倉庫そのものや
restore は元の場所に戻すや

551:デフォルトの名無しさん
16/09/08 12:09:15.47 z1ler7HF.net
ファイル I/O で言えば、
load か read か
save か write か
get か put か
使い分けを悩むことがある
store は考えたことないなあ

552:デフォルトの名無しさん
16/09/08 12:21:45.95 /jas+dzW.net
>>546
テキストの場合こんな感じだわ
save(filename) // このファイルにセーブしてね
{
// メンバからデータ作成
 ループ {
  write(data1, data2) // ファイルに1行書き込んでね
 }
}
write(data1, data2){
// 整形して書き込むよ
}

553:デフォルトの名無しさん
16/09/08 12:26:24.25 Np5jfle7.net
そんなに重箱の隅に拘ってばかりいても仕事が遅れるだけで何も得する事なんかないぞ
強いて言えば自己満足が得られる事位だな

554:デフォルトの名無しさん
16/09/08 19:03:27.40 Z3Cmr8YU.net
ファイルI/OのAPIを再発明する意味は無い。
もっと高度で複雑な機能を提供するAPIであれば、命名に迷うことはない。
命名に迷うようなAPIは作る必要がないと言える。

555:デフォルトの名無しさん
16/09/09 01:03:15.51 2/nVp6Pi.net
sageとかloadとか普通に考えて高機能APIの冠詞の話だろ。
なぜ低レベル基本ライブラリ程度のI/O命名話と読み取れるのか不思議だわ。
それすら読み取れない奴を相手にするから命名に慎重になる訳だな。

556:デフォルトの名無しさん
16/09/09 08:27:45.93 QJ2gNjYD.net
>>546
そんなに迷うかな
load … ファイル全体を読み込む
read … ファイルの一部を読み取る(readLineとか)
get …トークン単位で読み取る(CSVを二次元配列化して各要素を読みとるとか)

557:デフォルトの名無しさん
16/09/09 08:40:14.18 QJ2gNjYD.net
>>544
>>529が「storeをどういう意味で使っているか」「storeを冠する機能/変数に期待する動作」に依るんじゃないかな
場合によっては Issue, receipt とか、代替案が出てくるかもしれない

558:551
16/09/09 08:43:18.72 QJ2gNjYD.net
> get …トークン単位で読み取る(CSVを二次元配列化して各要素を読みとるとか)
GETは「HTTPリクエストメソッド」の意味で使われる事もあるけど、ファイルI/Oでは出番がなさそう

559:デフォルトの名無しさん
16/09/09 09:34:53.05 D/rbZjJQ.net
>>553
fgets「」

560:551
16/09/09 13:51:45.75 1v09h6kq.net
>>554
そういえば、そんな関数もあったねfile_get_contents もあるか
このスレ的にはなしもしれないけど、個人的には言語の流儀に合わせて命名規則は変えてる
>>551はイメージなので参考程度で

561:デフォルトの名無しさん
16/09/10 01:13:35.84 emqVsnSG.net
処理が一時停止中、キューにタスクが貯まっていきます。これらのタスクは後で実行するんだけど、このキューの名前に迷っています。
「後回しにしたタスク」的なニュアンスがいいのかなと思うんだけど、postPoneTaskとかになるんだろうか?
Post Poneという単語を今まで使ったことがないというのもあり、個人的には何だか違和感があるんですが、おかしくはないでしょうか?

562:デフォルトの名無しさん
16/09/10 01:17:31.08 AsFdIIx/.net
>>556
キューなんだからキューでいいでしょw
TaskQueueって名前みたら、それはタスクのキュー、つまり順番に実行するタスクが入ってるキューなんだたって
普通わかるよw

563:デフォルトの名無しさん
16/09/10 01:18:55.50 AsFdIIx/.net
今時のIDEならTasksだけでもいいよね。

564:デフォルトの名無しさん
16/09/10 05:45:16.09 daVWdqqd.net
東京電力のデータ通知遅延は一進一退、使用量の不明が5000件以上に
URLリンク(www.itmedia.co.jp)
まだ2/3が未確定だそうです

565:デフォルトの名無しさん
16/09/10 05:57:30.56 vzxsIqCG.net
waitingTasks

566:デフォルトの名無しさん
16/09/10 07:09:58.23 gtm18GlU.net
pendingTasks

567:デフォルトの名無しさん
16/09/10 11:42:41.69 jtrUVOIC.net
言語はC++とWin32API
HWND Parent
これが基底クラスと派生クラスで被らないようにしたい
メニューのParent
TimerやThreadやDialogのParent
コントロールのParent
etc
皆それぞれ名前分けてんの?

568:デフォルトの名無しさん
16/09/10 15:27:24.01 JzcpUnlP.net
ハンガリアンやで

569:デフォルトの名無しさん
16/09/10 16:22:21.03 jtrUVOIC.net
hwndMenuParent
hwndTimerParent
hwndThreadParent
hwndDialogParent
hwndControlParent (hwndEditBoxParent)
てこと?

570:デフォルトの名無しさん
16/09/10 16:44:16.76 qbdJrNQP.net
何で別の名前をいちいちつけたいと思うのか理解できません

571:デフォルトの名無しさん
16/09/10 16:54:38.06 jtrUVOIC.net
>>565
そうですか

572:デフォルトの名無しさん
16/09/10 23:54:58.42 7MaNMesA.net
俺はここ数年名前の付け肩の方針がかなり変わって、
1:書くとき間違えにくい名前 (略しかたの違いや類義語がないかなど)
2:似てるけど違う意味の単語を付けやすい名前。(処理の段階によって違う変数が必要だったり、似た概念の変数が複数あったり)
3:右長にならないような名前。(特に構造とか階層とかもち始めると右長になって大変)。
を一生懸命考えるようになった。
以前は、正しい名前とか、誰が見ても分かる名前とかそんなのだった。
しかし、そこまで正しい名前であることのメリットはなかった。

573:デフォルトの名無しさん
16/09/11 08:18:25.11 vN9TAtb9.net
>>564
親が同じなら名前が同じでもいいんじゃね
曖昧と怒られるならスコープ解決演算子で解決
>>565
理解できないなら無理してレスしなくていいぞ

574:デフォルトの名無しさん
16/09/11 10:51:27.32 EVh79L2H.net
アスペの為に解説するとこの文脈での「理解出来ない」は「馬鹿じゃね?」と同等の意味を持ちます

575:デフォルトの名無しさん
16/09/11 12:31:53.77 6V9l7/sG.net
>>567
右長とは?
左は長くなくて右は長いのか…

576:デフォルトの名無しさん
16/09/11 12:38:07.21 6V9l7/sG.net
>>567は連結した単語の長さを表しているのかな
pLength … 右長(みぎなが)
blockBoxMarginR … 左長(ひだりなが)
classNameLength … 全長(ぜんなが)
しかし、「全長(ぜんなが)」が「全長(ぜんちょう)」に見えて仕方ない

577:デフォルトの名無しさん
16/09/12 06:56:03.48 qgvsKaXQ.net
日 本 語 名 最 強

578:デフォルトの名無しさん
16/09/12 18:02:34.68 1eCNbR7A.net
何かを数える場合の変数として、
count と number という英単語は
どう使い分けたら良いでしょうか?

579:デフォルトの名無しさん
16/09/12 18:06:26.21 dC9AlG3D.net
numberは重い
あだ名やコードネームと同じくらい重い場合がある

580:デフォルトの名無しさん
16/09/12 18:27:48.74 jVd9Q+Yf.net
iでええやろ

581:デフォルトの名無しさん
16/09/12 18:47:19.19 0pjXoVUQ.net
>>573
英辞朗でも見れば済む問題じゃないの?w
普通に考えてnumberの方が意味が広いよね。
countは物の数にしか使えないから、例えばID numberって表現はありえてもID countはありえないと思う。

582:デフォルトの名無しさん
16/09/12 19:08:52.14 y21Asc3i.net
count は1つずつ数える個数
number はもっと幅広いし、数値以外の文字型なんかと区別する場合に使う

583:デフォルトの名無しさん
16/09/12 19:18:25.72 WjBwz+Qy.net
>>573
何かを数えるの「何か」による

584:デフォルトの名無しさん
16/09/12 19:20:31.49 jVd9Q+Yf.net
仮に美少女のうんこを数える事にすればいいだろ

585:デフォルトの名無しさん
16/09/13 00:33:10.56 i+B2+ZxE.net
valueも候補に入れて悩みなよぉw

586:デフォルトの名無しさん
16/09/14 22:38:46.58 mVQoCvvP.net
基数と序数で使い分ければ良い

587:デフォルトの名無しさん
16/09/17 13:59:17.14 5TgdInEL.net
なんかstoreの話題に乗り遅れたけど
MFCだと CArchive::IsStoring() なんてのがあったよ、とだけメモ。
その反対は CArchive::IsLoading()

588:デフォルトの名無しさん
16/09/17 21:27:08.25 X7cHXqnF.net
処理の長いhoge関数が実行中かどうか分かるように
変数でフラグ立てようと思ってるのですが
定番の名前とかあったりします?

589:デフォルトの名無しさん
16/09/17 22:03:54.99 jitSjVRZ.net
is_executing

590:デフォルトの名無しさん
16/09/17 22:15:37.93 X7cHXqnF.net
>>584
関数名を入れるとexecutingは長いので
isHogeで行こうと思います
ありがとうございました

591:デフォルトの名無しさん
16/09/17 22:38:42.90 FSvwZ9Ge.net
待って、色々と待ってw

592:デフォルトの名無しさん
16/09/17 23:09:45.76 xGaWkelz.net
hogeが動詞なら、isHogeing とか

593:デフォルトの名無しさん
16/09/17 23:12:22.65 X7cHXqnF.net
(?w?)

594:デフォルトの名無しさん
16/09/18 00:12:07.05 XJ4euwgU.net
なんでそこでハテナマークなんだw

595:583
16/09/18 00:21:44.28 Knp+gLDN.net
>>586
(?w?)

596:デフォルトの名無しさん
16/09/18 07:12:56.82 Wkbj4nCn.net
>>585
isHogeは「引数がHogeか否かを真偽値で返す関数」と認識される

597:デフォルトの名無しさん
16/09/18 08:46:39.89 epT5qit0.net
Hoge + ingは
Hogingになるのでは

598:デフォルトの名無しさん
16/09/18 09:20:22.19 XJ4euwgU.net
>>592
Fooesとかもそうだけど、変化させるかどうか迷うんだよな

599:583
16/09/18 10:03:56.68 Knp+gLDN.net
>>591
ありがとうございます
そんな意味になってしまうのですね

何か他にいいのがあればぜひともお願いします
is_executing_hogehage

600:デフォルトの名無しさん
16/09/18 10:14:01.89 KgBDTYcp.net
たいてい関数名は動詞だから、play()ならisPlayingだね。

601:デフォルトの名無しさん
16/09/18 11:48:28.70 UHIpCJou.net
in_running とか in_connect って良く使うんだが英語としては変だったかな

602:デフォルトの名無しさん
16/09/18 12:39:46.36 QKIaWHLH.net
>>594
そもそも、当然スレッドなりタスクなり使ってるんだろうから
そっちの状態を見ればそんな変数なんか必要ないと思うんだけど
まあ、本当に必要なら論理は逆になるけどこっちの方が分かりやすいと思うよ
IsHogeFinished
IsHogeDone
IsHogeComplete

603:デフォルトの名無しさん
16/09/18 12:46:50.47 Wkbj4nCn.net
>>594
この手の変数はインスタンスプロパティで作りたくなるな
Hoge#busy
Hoge#readyState

604:デフォルトの名無しさん
16/09/18 13:33:46.81 5laE9Kgu.net
規約で決められてないのにis名詞+分詞とか動詞にしてるやつはバカにしか見えない

605:デフォルトの名無しさん
16/09/18 13:45:26.76 +k6IbFWd.net
バカに思われようが、そんなことはどうでもいい。
プログラムコードの主な読み手が自分だったなら、
自分が一番分かりやすい名前を付けるべきだと思う。
変数や関数の役割が分かるように、処理の流れが自然に追えるように。
後で読み返してみて意味がくみ取れなくなるなんて本末転倒もいいところ。
それこそバカにしか見えない。

606:デフォルトの名無しさん
16/09/18 13:55:17.65 l1WAFSLJ.net
>>600
自分?

607:デフォルトの名無しさん
16/09/18 14:38:07.71 /Q0b75iC.net
>>601
自分が自分を信じられないなら自分が自分を信じてる自分を信じろ
関西人なら通じる

608:デフォルトの名無しさん
16/09/18 14:44:04.74 +k6IbFWd.net
>>601
もちろん、主な読み手が自分じゃなきゃ、その人(ら)が一番分かり易いように書く。
例えば、コミュニティーにパッチを提供してるとか。
その場合も、全然関係ない2chの住人にネーミングセンスをあれこれ言われる筋合いはないし、
名付け方のアドバイスを訊くなら、こんなスレじゃなくコミュニティーに直接聞くべき。

609:デフォルトの名無しさん
16/09/18 15:22:58.62 63JI2jED.net
どうせ1個しか使わねぇなら
runningでいいよ。

610:デフォルトの名無しさん
16/09/18 15:32:15.82 epT5qit0.net
自分ならこうするとか出さずにケチつけるだけのバカはスルーでいいと思う

611:デフォルトの名無しさん
16/09/18 15:54:53.01 CxVr26OT.net
なぜ「こんなスレ」に来たのかと

612:デフォルトの名無しさん
16/09/18 16:13:20.39 /Q0b75iC.net
質問者も回答者も必要としているから来ているのに
全否定するなら来なきゃいいのにね
コミュニティ(プロジェクトチームだよね?)が存在す


613:るなら 規約があるだろうに



614:デフォルトの名無しさん
16/09/18 16:17:18.62 lwtBalzC.net
>>605
私のことを言ってるのなら >>587 で案は出した。

615:デフォルトの名無しさん
16/09/18 16:56:52.19 epT5qit0.net
>>608>>587以降どれなのか分からないからなんとも言えない

616:デフォルトの名無しさん
16/09/19 09:39:55.22 RiFwOng1.net
自分なら「その関数の下に付随するもの」を明確にするために
Hoge::IsRunning() とか Hoge_IsRunning() みたいな名前にしたいな

617:598
16/09/19 12:29:50.12 +qZcElwT.net
>>610
isRunningでは「runningとは」という意味になってしまう
finction Hoge_isRunning (arg) {
return arg === HogeRunning;
}
>>599も似たようなことを指摘してるが、何でもisを付ければ良いというのは短絡的だと思う
is****は****と同一性評価する為に使うものでステータスを確認するものではない
あなたの意見の延長で考えるなら HogeRunning が妥当だろう

618:デフォルトの名無しさん
16/09/19 12:37:45.35 dWsrNIgM.net
>>611
さすがに何を言ってるのか意味が分からないw
isRunningは主語が欠けているがかろうじて英語になっているけど、
HogeRunningは英語にすらなってないw
文脈によっては(つまり何がRunningかが自明であれば)isRunningは選択肢に入るが、
HogeRunningじゃ何のことだかまったく分からないよw

619:598
16/09/19 12:44:41.25 +qZcElwT.net
ちなみに>>598はそれぞれ下記を意図している
> Hoge#busy
Hogeは動作中であり、二重起動を許さない
排他的動作を望むならこれ
> Hoge#readyState
document.readyStateのように複数の動作ステータスを定数で管理する
「動作中」というより「動作可能な状態」を見る名前なので>>583の意図とは少し違ったかもしれない
後はHTMLMediaElementのプロパティ名が参考になると思う
URLリンク(developer.mozilla.org)
素直に考えるなら executing か running だろうな
最も、>>585を見てると hoge, hogeExecuting, hogeFoo のように接頭辞を付けて名前を並べている印象で設計上の問題も感じられるが
(PHPのような命名規則は全く美しくないと思う)

620:598
16/09/19 12:46:44.68 +qZcElwT.net
>>612
改めて読んだが、Hoge_isRunning は Hoge === Running の等価性を評価しているように見える

621:デフォルトの名無しさん
16/09/19 12:56:37.47 dWsrNIgM.net
>>614
何が言いたいのかよくわからんけど、あえてそんな変な語順を採用する理由なんか何もない。
普通に英語通りisHogeRunningでいい。
あなたは
Is light red?
light(信号)と赤の等価性を尋ねているとか思うのかな?w

622:610
16/09/19 13:41:43.01 RiFwOng1.net
>>611
英語はそれこそ中学英語レベルしか自信ないけど
X is running で「Xは走ってる」(この場合は実行中だが)にはならんってこと?

623:デフォルトの名無しさん
16/09/19 14:07:58.75 dWsrNIgM.net
>>616
なるから変なんでしょ。
「Xが実行中かどうか」を表す変数の名前が肯定文だったらおかしいでしょ。
その変数が表すべきなのは「Xが実行中かどうか」なのであって、
「Xが実行中である」という定言が正しいか間違ってるかじゃないんだよw

624:デフォルトの名無しさん
16/09/19 14:24:01.60 FalA4T6t.net
肯定文で別におかしいとは思えん
メソッドなら疑問文にするけど

625:デフォルトの名無しさん
16/09/19 14:32:21.32 oMXaxPTM.net
変数名なら明確にするためにHogeを入れる可能性もあるけど
それなら見りゃわかるしisなんてつけないし限定できるならrunningだけで済む
メソッド名だったらこんな名前がつく時点で設計がおかしい

626:デフォルトの名無しさん
16/09/19 14:35:34.44 RiFwOng1.net
>>617
ああ、そういうことか。
IsFoo()は疑問文だよ派と、疑問文じゃないよ派があるじゃん?
そこですれ違いが起きてたんだな。

627:デフォルトの名無しさん
16/09/19 14:41:14.57 nr8fG4n4.net
>>620
IsX() Xですか?
IsFoo() Fooですか?
疑問文じゃなかったらどういう意味にとらえるん?
主語どこいったん

628:デフォルトの名無しさん
16/09/19 15:04:21.27 P5Fkfkju.net
これはXですか?
あなたは誰ですか?
誰ってなんですか?
アスペ乙

629:デフォルトの名無しさん
16/09/19 15:05:13.81 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();
}
あとこれ
URLリンク(stackoverflow.com)

630:デフォルトの名無しさん
16/09/19 15:14:09.76 RiFwOng1.net
>>621
元はオブジェクト指向が組み込まれてる言語での命名規約だと思うけど
 Bar.IsFoo() → BarはFooである(ときに真になる)
という考え方がある

631:デフォルトの名無しさん
16/09/19 15:45:36.28 KoK4joax.net
>>624
Bar.IsFoo() → Bool
戻り値みたら意味が分かるからね、IF文に入れると美しいよ
メソッド名ばかりに囚われずに引数や戻り値の型を情報にしないとな

632:デフォルトの名無しさん
16/09/19 16:14:29.05 nr8fG4n4.net
>>624
それ>>610と同じ事言ってるから>>611以降ループするような
個人的には>>620でクラス省略してたんか納得なんだけどな

633:デフォルトの名無しさん
16/09/19 16:25:38.99 RiFwOng1.net
>>626
わざと肯定文にしてるってだけの話なので
話題がループすると言われたらそうかもねw

634:583
16/09/19 18:38:45.41 yO6KMXAM.net
皆様ありがとうございます
完全に我流でやってきたので変数名に関してはさっぱり分からないので
議論を含めて勉強になります
φ(。_。*)メモメモ

635:デフォルトの名無しさん
16/09/19 18:46:53.72 HiH7SQ7t.net
自分の状態を返すメソッドを作らないといけないJava。
いまとなっては欠点。

636:デフォルトの名無しさん
16/09/19 19:11:09.78 W9V/RaHi.net
それは言語使用じゃなく設計・実装の問題。
べつに、状態をaskせずにがんがんtellする作りでも構わない。
つかOOPではtell don’t ask(なるべく)と言われてる。
まスレチだけど。

637:デフォルトの名無しさん
16/09/19 19:25:10.20 W9V/RaHi.net
あーもしかしてアクセサの自動生成の事かな。
それは欠点かも。開発環境によってはできるようだが。

638:デフォルトの名無しさん
16/09/20 02:10:10.44 e0L1bcAS.net
>>620
「IsFoo()は疑問文だよ派」って日本人にしか居ないんじゃね?って思ってる。
URLリンク(stackoverflow.com)

639:デフォルトの名無しさん
16/09/20 02:59:04.85 Cm1yXv5P.net
>>632
それは冗長さを避けるための妥協だと思うよむしろw
あとisと違ってdoesの場合は主語の省略が許されないっていう英語の構文の都合もあると思う。

640:デフォルトの名無しさん
16/09/20 05:53:47.12 OvbuO/pb.net
>>632
ブール値を返す関数やプロパティってIF文での使用が前提なのだから
疑問文じゃおかしいんだよなあ

641:デフォルトの名無しさん
16/09/20 10:43:46.67 I6O94rhW.net
>>634
代入や比較、条件演算子もあるよw

642:デフォルトの名無しさん
16/09/20 10:50:27.61 w3uYhEGb.net
通常会話の ? と同じ意味でなくてもよいだろう。
0 or 1 = bool?
動的にどちらかが返されるので "bool?"
別にブールかどうかを聞いてるわけではなくて、boolと言う型の名称を指してるわけでもなくて。

643:デフォルトの名無しさん
16/09/20 10:54:48.35 KnjyA1F8.net
>>634
if( これはペンですか? )
「これはペンですか?」が真「かどうか」は無理?

644:デフォルトの名無しさん
16/09/20 11:14:21.36 pL9mhHAw.net
日本語からやりなおせよもう

645:デフォルトの名無しさん
16/09/20 11:24:20.84 KnjyA1F8.net
関数名の流れだからな
「これはペンですか?」を関数名としてみたらいい
その答え(戻り値)が真「かどうか」って説明のがよかったな

646:デフォルトの名無しさん
16/09/20 11:45:19.36 w3uYhEGb.net
ペンか否か? → ペン?
なんら問題を感じない

647:デフォルトの名無しさん
16/09/20 21:15:34.35 or4BStYo.net
これはペンであるという命題があって真であるか偽であるかという議論ができる
これがさすものはこの場合オブジェクトなので
英文はThis object is a penとなる
プログラム言語の構文による制約を加えるとobj.IsPenが正解となる

648:デフォルトの名無しさん
16/09/20 21:22:19.81 zA4ozj3G.net
だからそれは違うってw
変数の値やメソッドの返り値が表しているのはyes/noであってright/wrongじゃないw

649:デフォルトの名無しさん
16/09/20 21:47:00.75 or4BStYo.net
まあ人間は考えるだけなら自由だからいいけど

650:デフォルトの名無しさん
16/09/20 21:48:30.22 EJ4QdJ/o.net
違う。
True / false
何が真であるかは仕様によるので暗記するかそのつど調べてください。
プログラム言語における "?" は戻りが不明瞭な場合に、それをプログラマに対して明示的に伝える役目を果たします。

651:デフォルトの名無しさん
16/09/20 21:51:57.12 +3HpdUPY.net
いいえ。それはパンです。

652:デフォルトの名無しさん
16/09/20 22:12:38.89 zA4ozj3G.net
話の通じないお方。
例えば与えられた自然数が素数ならtrueを返すメソッドがある時、
普通のプログラマはその戻り値は「xが素数であるかどうか」(yes/no)を表していると考えるでしょ?
「xが素数である」という命題が正しいかどうか(right/wrong)を表しているって考える人いる?
まずいないでしょ。
前者は、別の言い方をしたら「xは素数ですか?」っていう質問に対する答えだよね。

653:デフォルトの名無しさん
16/09/20 22:21:59.98 qJ9FA8Jd.net
もしもxが素数であるかどうかなら~
こりゃ不自然すぎて引くわ
もしもxが素数であるなら~
うん自然でわかりやすいね
xが素数であるかどうかでない
ひええ
xが素数でない
イイね
xが素数であるかどうかかつyが偶数かどうか
もう意味わからん
xが素数であるかつyが偶数である
excellent!

654:デフォルトの名無しさん
16/09/20 22:23:08.40 zf/Fc8Vs.net
すまんが、そんな日常言語のような解釈はしていない

655:デフォルトの名無しさん
16/09/20 22:29:53.66 OvbuO/pb.net
>>646
厳密に言うと
if x is prime number then Yes otherwise No.
真偽判定の結果がyes/noなの
x.isPrimeNumber()とあった場合、xに問うているのではなく
xの状態を確かめているの
で、その状態をIf文で審議して、yes/noを出力するの

656:デフォルトの名無しさん
16/09/20 22:38:27.08 OvbuO/pb.net
>>646
もう少し分かり易い話をすると
君が目の前にペンを見せられて「これはペンですか?」と尋ねられたら
君は頭なの中で「これはペンの形をしている」や「これはペンの機能を有している」と
ペンがペンであるかの状態を審議して「Yes」と答えるわけだ

657:デフォルトの名無しさん
16/09/20 23:20:55.50 zA4ozj3G.net
何を言ってるのか意味が分かりませんw

658:デフォルトの名無しさん
16/09/20 23:25:54.74 zA4ozj3G.net
っていうか、命名の話をしてるんだけど分かってるのかな?w
変数の名前はその値が何を意味しているかを表しているべきだし、
メソッドについても、少なくともboolを返すメソッドについては、普通はメソッド名は
戻り値が何を意味しているかを表しているべきだ。
さて>>646に戻って、「与えられた自然数が素数ならtrueを返すメソッド」の戻り値は
何を意味しているでしょうか。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch