プログラミング入門, リファクタリング

一つのファイルが大きくならないようにすることは可読性の向上に貢献しますが、逆にファイルを分けすぎると良くない場合があります。

これまでに、システムがどのように動くのかを知りたい時に、関数から関数の呼び出しごとに新しいファイ ...

プログラミング入門, リファクタリング

コードは上から下へと読みますが、その時に処理のまとまりが直感的にわかると良いです。

例えば一つの関数の中でも、処理段階によっていくつかに分かれると思います。

そのようなまとまりを表現する際には、空行を挟むと良い ...

プログラミング入門, リファクタリング

新聞のようにコードを書くことで秩序のある書式を保つことができるという論があります。

以下がポイントです。

クラス名や関数名をみればそのファイルが何をするコードが書かれているかがわかる(見出し)
ファイルの上部に ...

プログラミング入門, リファクタリング

例えば以下のようなコメントがあったとします。

//ここでのurlは、テスト環境では 本番環境では です。

補足のため非常に親切なように見えますが、このような情報をコードに埋め込んでしまうと、いざurlが変わったときにコメン ...

プログラミング入門, リファクタリング

引数の数は少ないに越したことはないですが、以下は個人的な基準です。

引数なしが理想

引数がないのが一番シンプルです。

しかし、動的に結果が変わるのがプログラムなので、このケースはあまりない気がします。

プログラミング入門, リファクタリング

関数の引数がフラグ(boolean)だった場合は、その関数をリファクタリングするチャンスかもしれません。

というのも、フラグを引数にとっているケースでは、そのフラグによって処理を分岐している可能性があるからです。

プログラミング入門, リファクタリング

forループや短い関数内で1文字の変数が使われることがあります。

これらの変数がどのように可読性に影響するのかを考えてみました。

この変数が非常に狭い範囲ででてくるのであれば、そこまで読む時にストレスは感じない ...

JavaScript, システム開発, プログラミング入門, リファクタリング

凝集度の論理的凝集の例

以下の getProductDetail は商品の名前と価格を返す関数です。

apple: 100

const getProductDetail = (product) => { cons ...

JavaScript, プログラミング入門, リファクタリング

自分が過去に書いたコードを見返してみておかしなコードを直してみます。

今回のコードは以下です。

const setSearchParam = (current, object) => { let result ...

JavaScript, プログラミング入門, リファクタリング

需要がないとは思いますが、自分が過去に書いたコードを見返してみておかしなコードを直してみます。

一時変数をなくしてみる

以下のコードはそこまでおかしくありません。

const getSelectedOrders = l ...