リーダブルコード

リーダブルコード

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

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

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

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

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

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

C#リーダブルコード #09_bool型の判定

前回はbool型の判定方法に関して解説しましたが,今回も,bool型を判定する際の注意点を解説していきます。以前「否定の否定はしない」という感じのことをお伝えしていますが,今回はより詳しく,考えられるパターンを考察したいと思います。 BAD...
リーダブルコード

C#リーダブルコード #08_boolの比較でTrueやFalseを書かない

今回はboolの比較をやっていきたいと思います。 booの比較でTrueやFalseを書かない 次のような_isNormalというboolの値を比較する場合を考えてください。 private bool _isNormal = false; ...
リーダブルコード

C#リーダブルコード #07_複数の比較を1回のif文でやらない

「今回は複数の比較を1回でやらない」というテーマで解説していきます。 BAD:複数の比較を1回にやらない 次のような例を見てください。 private void 複数の比較を1回のif文でやらない(int valueA, int value...
リーダブルコード

C#リーダブルコード #06_比較する時は変数を左_定数を右にする

今回は,値を比較する場合に,変化する値を左,変化しない値を右にするというお話です。次のようなコードの場合,①ではvalue<3となっていて,変化するvalueが左に来ています。脳みそにどのような順番で,何を覚えていくのがわかりやすいかという...
リーダブルコード

C#リーダブルコード #05_IFとELSEがある時は肯定系をIF否定形をELSEにする

ここからは判断系をやっていきます。if文がメインになってきます。 ProductSqlServerにExistsメソッドの追加 1つ目の解説に入る前に,ProductSqlServerにExistsメソッドを追加しておきます。存在チェックの...
リーダブルコード

C#リーダブルコード #04_右に長いコードの対処

前回は「右に長いコードは書かない」というお話をしました。では右に長いコードになってしまうときはどのように対処していけばいいのか,というお話を今回はしていきたいと思います。 改行しても右に長いコードには変わりない 改行した場合 まず最初に考え...
リーダブルコード

C#リーダブルコード #03_右に長いコードを書かない_隣のとなりまでしか訪ねない

まずは基本的な話からやっていきたいと思います。最初の項目は「右に長いコードを書かない」というテーマです。 右に長いコードを書かない 先ほど作成したReadableCodeクラスにメソッドを作成します。メソッド名は「右に長いコードを書かない」...