try/catchブロックをシンプルにする
try/catchブロック内の処理は、それぞれ関数として抽出すると良いとされています。
try{// ここに細かい処理を書かかない。関数に抽出してそれを呼び出す calcPrice()}catch(e){// 上記と同様 rep ...
オブジェクトの変更と応答を同じ関数でやらないようにする
以下のような関数があるとします。
const set = (obj, property, value) => {//objにpropertyがあればvalueをセットしてtrueを返す。なければfalseを返す}この ...
関数の引数が増えそうなときは引数オブジェクを渡すことを考えてみる
関数の引数がどうしても3つや4つになる場合は、ひとつのオブジェクトして渡すことを考えてみます。
const myFunc = (hoge, foo, bar) => {//do something}const data = ...
関数の引数が2つ以上だと起きる可能性があるバグ
関数の引数が2つ以上だと順序を気にしないといけない、というデメリットがあります。
以下の関数は name と file という二つの引数をとります。
const getHtml = (name, file) => ...
関数の引数の数について
引数の数は少ないに越したことはないですが、以下は個人的な基準です。
引数なしが理想引数がないのが一番シンプルです。
しかし、動的に結果が変わるのがプログラムなので、このケースはあまりない気がします。
関数の引数がbooleanだった場合は気をつけよう
関数の引数がフラグ(boolean)だった場合は、その関数をリファクタリングするチャンスかもしれません。
というのも、フラグを引数にとっているケースでは、そのフラグによって処理を分岐している可能性があるからです。
関数名・メソッド名をつける時の注意点 同じ意味なのに違う単語を使わない
すでにあるデータ(配列)に対して新しいデータを追加する処理があるとします。
あるシステムではaddXXXXというような命名をしていました。
例えば、addCustomer・addHistoryなどです。 ...
関数名・メソッド名をつける時の注意点 一部分だけ異なるような命名にしない
関数やメソッドに名前をつけるときは、他とは明確に異なることがわかるようにするべきです。
例えば、tamiXXXXXX のように、すべての命名の先頭に同じ文字列をくっつけると、他との区別がしづらくなります。
ta ...
1文字の変数がもたらすストレス
forループや短い関数内で1文字の変数が使われることがあります。
これらの変数がどのように可読性に影響するのかを考えてみました。
この変数が非常に狭い範囲ででてくるのであれば、そこまで読む時にストレスは感じない ...
ボーイスカウトから学ぶコードをきれいに保つ心得
キャンプ場を、自分が見つけたときよりもきれいにすること
というボーイスカウトの規則があります。
プログラミングの世界でもこの言葉が用いられることがあります。
つまり、コードを綺麗に保つには常日頃から ...









