marc tech

株式会社MAISON MARCが運営するブログです。Tech Blogとは名ばかりの、採用・福利厚生の情報や、日々の活動記録(?)からエンジニアのくだらない小話までMAISON MARCに関する情報をお伝えするブログとなっています!興味のある方は是非ご覧になってください。

良いコードの条件とは?

こんにちは。
メゾンマーク内オセロ無敗のshuです。

敗北を知りたい。
本当は対戦者数が少ないだけなんですけどね。

今回はJavaScriptを用いて良いコードの条件について語っていきたいと思います。

良いコードの条件

  1. 可読性が高いこと
    だれもが読めるものでないと保守性が低くなってしまいます。
  2. 拡張性が高いこと
    仕様変更に耐えうるものが好ましいです。

具体例

1から10までの整数の総和を求めるプログラムを作ってみます。

その1

var num = 0;

num += 1;  
num += 2;  
num += 3;  
num += 4;  
num += 5;  
num += 6;  
num += 7;  
num += 8;  
num += 9;  
num += 10;  
  
console.log(num);  

拡張性は良いです。
どんな整数和もイケます。
ただ可読性が…。
1から1000まで足すことになったら…。

その2

function sum(firstNum, lastNum, difference) {
  return (firstNum + lastNum)*((lastNum - firstNum) / difference + 1) / 2 ;
};

console.log(sum(1, 10, 1));

sumなる等差数列の和を求める関数を作りました。
引数として初項、末項、項差を持たせているわけです。
可読性はその1と比較するとだいぶ改善されてはいますが、
その3には負けます。
拡張性は高いと言っていいでしょう。
1から1000まで足すことになっても、
100から500まで足すことになっても
2から100までの偶数の和を求めることになっても大丈夫です!

その3

var num = 0;

for (var i = 1; i <= 10; i++){
  num += i;
};

console.log(num);

for文を用いて繰り返し処理をさせました。
ネストの浅いfor文の可読性は高いです。
拡張性もその2同様高いですね。