Switchのcase網羅とif文のコメントの書き方
今日の備忘録
Switchをenum値で書く場合、defaultを使わない
SwiftのSwitchはパターン網羅のため、原則defaultパターンを書かないとエラーになる。
ただ、enumを使う場合であれば、全部のenum値のcaseを書くことでdefaultパターン書かずにすむ。
そうすることで、enumを拡張してもパターン網羅されておらず、エラーになりバグを防ぐことができる。
というわけで、
enumを使うSwitchはdefaultを書かない
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
if文のコメントの書き方
if文のコメントの書き方で議論になったのでまとめる。
パターン1
// if文のコメント if (isButton) { hoge // else文のコメント } else { fuga }
パターン2
if (isButton) { // if文のコメント hoge } else { // else文のコメント fuga }
パターン3
if (isButton) { // if文のコメント hoge } else { // else文のコメント fuga }
だいたい書き方はこの3パターンで分かれると思う。
パターン1は、コピペ時等にインデントがずれる問題があり、if文内にelse文のコメントが入っていてよろしくないが、割と見やすい
パターン2は、位置に違和感があるものの、わからなくはない。でもなんかダサい。
パターン3は、インデントがずれないけど、if文内の処理に対するコメントに見えたりと把握しにくい。
それぞれ一長一短な感じで、正解がどれとも言えない。
自分は最終的にパターン3の派生で書いている。
パターン3(派生)
if (isButton) { // if文のコメント (次に改行を入れるかコメントを入れる) hoge } else { // else文のコメント (次に改行を入れるかコメントを入れる) // fugaのコメント fuga }
Swift Package ManagerやResearchKit見てAppleがどうしてるかを確認すると、
そもそもif文でコメントが8〜9割なかったりする。
議論の結果、