@okihara6
Revisions
Report this question
Subscribe question
Help us understand the problem. What is going on with this question?
Q&A
Closed

データの位置のテストについて。

くじの番号が2桁が6個の数字のものがあります。
当選番号も2桁が6個の数字です。


10 21 34 41 58 61 当選番号

10 11 91 82 75 65 くじの番号

このケースは当選は10になる。

これについて当選する番号の位置のテストもしますか?
(きちんと当選番号を探しているかどうか。
これは6個のケースですが、データが50個の場合ならどうする?と思い。)

11 10 91 82 75 65 くじの番号(当選は2番目の位置の10)
 ・
 ・
11 91 82 75 65 10 くじの番号(当選は6番目の位置の10)

0
1
Answer

「当選番号の位置」に意味があるならテストする。
意味が無いならテストしない。でよいと思います。

例えば、[1番目の数字]を当てると1000円、[2番目の数字]を当てると500円等、
当選数字の位置によって賞品が変わるのであれば、整合性のテストが必要そうです。

また、見た目的な演出がある場合も、どこが演出されるかのテストが必要そうです。
(※当選数字が画面上でちゃんと変化して目立っているか等)

なにはともあれ、くじの内容(仕様)次第かと思います。
(※仕様があやふやな状況であれば、ハッキリさせておきたい所です)

2
回答をありがとうございます。
今後もよろしくお願い申し上げます。
変数名について質問させてください。

例をくじの番号とさせて頂いて

・inputでのくじの番号は
i_kuji_bangou?
i_k_bangou?
i_k_ban?

・処理の中でのくじの番号は
w_kuji_bangou
w_k_bangou?
w_k_ban?
tmp_kuji_bangou?

・outputでのくじの番号は
o_kuji_bangou
o_k_bangou?
o_k_ban?

処理の中でのループはi, k, Lでカウントさせるとして。
約束がある場合を除き、変数名の命名はどうされていますか?
個人的な意見として、変数名は他者(もしくは未来の自分)が見てわかりやすいことが最重要かと思います。

例としてお書きになっている変数名からすると、
最初の1文字で変数の取り扱い(入力/ワーク/出力)が一目でわかるので良いルールだと思います。

また、その後に続く単語も極端に長くならない限りは、わかりやすさを優先するのが良いと思います。
例で挙げられている変数で言うと、「i_kuji_bangou」が一番わかりやすいと思います。

あと、個人的には英単語で名前をつけるのが無難かと思います。
(※例えば、くじの番号であれば「lottery_no」とか「lot_no」とか)

英単語のほうが大抵文字数が少なくなてすみますし、他者に見せる際に余計なツッコミ(からかい)が入らないと思います。
初めのころは検索をかけてもピンとくる名前が見つからなかったりしますが、そこは慣れです。

それから、命名規則は言語の慣習に沿うのが最も手堅いです。
「言語名 命名規則」で検索をかけると、その言語が推奨する命名規則をまとめたサイトが出るかもしれません。

最低限、スネークケース(単語をアンダーバーで区切る)が推奨されているのか、
キャメルケース(単語の区切りで大文字にする)が推奨されているのか、そこを意識するだけでだいぶ違うと思います。

例えば、「i_kuji_bangou」であれば、キャメルケースの環境では「iKujiBangou」になります。

言語の慣習に沿って命名しておけば、他者とチームを組んでコーディングする際など、
他の人に違和感なくコードを読んでもらえますし、その人たちの書くコードも違和感なく読めると思います。

長くなってしまいましたが、「他のプログラマに見てもらったときに
分かってもらいやすい名前」を意識するのが良いと思います。
お時間をとって回答をしていただき、
ありがとうございました。
またよろしくお願いいたします。
View the remaining 3 comments.
Help us understand the problem. What is going on with this answer?
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login