2022

リーダブルコード

C#リーダブルコード #19_意図が明確な名前を付ける

今回は意図が明確な名前を付けるというお話をしていきます。 1.1   BAD:どんな日付を求めているか分かりづらい 次のような現在日時をチェックするメソッドがあったとします。 //意図が明確な名前を付ける //BAD:どんな日付を求めている...
リーダブルコード

C#リーダブルコード #18_名前の付け方

それではここからは名前に関するお話をしていきます。 1.1   わかりやすい名前にする まずは「わかりやすい名前にする」ということですね。クラス名,メソッド名,変数名,すべてにおいてそうですが,わかりやすい名前を付けるということを心掛けてく...
リーダブルコード

C#リーダブルコード #17_if文のリーダブルコードまとめ

ここまでで,if文に関するコードの解説をしてきましたので,いったんまとめてみたいと思います。 1.1   elseをなくす まずポイントの1つとしては,elseをなくすことを検討してもらうと,結構いいコードになっていくと思います。「対象外の...
リーダブルコード

C#リーダブルコード #16_if文の中括弧の省略はしない

今回は「if文の中括弧の省略はしない」という話をしていきます。 1.1   BAD:if文に中括弧を書かない C#では,if文の中身が1行の場合は中確固{}を書かなくてもコンパイルエラーにならないので,次のようif文を書くことができます。 ...
リーダブルコード

C#リーダブルコード #15_比較演算子はできるだけクラスにさせる

今回は「比較演算子はできるだけクラスにさせる」というお話をしていきます。少しオブジェクト指向的内容にもなってしまいますが,「比較」というテーマでもあるため,解説させていただきます。 GOOD:比較演算子はできるだけクラスにさせる まず,次の...
リーダブルコード

C#リーダブルコード #14_必ずやりたい処理はfinallyを使う

今回は「必ずやりたい処理はfinallyを使う」というお話をしていきたいと思います。 1.1   GOOD:必ずやりたい処理はfinallyを使う 前述のように,「都合の悪いケースではすぐに抜ける」場合など,すぐに抜けるのは良いのですが,毎...
リーダブルコード

C#リーダブルコード #13_都合が悪いケースはガードする

前回の「対象外の時はすぐに抜ける」というのと似たパターンとして,「都合の悪いケースはガードする」というお話をしていきたいと思います。 1.1   GOOD:都合が悪いケースはガードする 前述の早々にリターンするやり方でしたが,今回は,都合の...
リーダブルコード

C#リーダブルコード #12_対象外の時はすぐに抜ける

今回は前回解説した「メソッドはできるだけ早く抜ける」の別のパターンとして,「対象外の時はすぐに抜ける」というお話をしていきたいと思います。 BAD:チェックを多用する 次のようにProduct型のオブジェクトを引数で受けているメソッドがあっ...
リーダブルコード

C#リーダブルコード #11_メソッドはできるだけ早く抜ける_返却する値を無駄に変数に入れない

今回は,「メソッドはできるだけ早く抜ける」というお話をしていきたいと思います。 enumの追加 今回の解説で使うための次のConditionという名前のenumをObjects.csなどに作成します。どこかのクラスに記述するのではなく,na...
リーダブルコード

C#リーダブルコード #10_型チェックはasを使う

今回は「型チェックはasを使う」というお話をしていきたいと思います。 BAD:2回型変換が行われて冗長 オブジェクトの型をチェックする場合,isキーワードを使うことで,チェックすることができます。 //型チェックはasを使う private...