Clean code-javascript

Use === 取代 ==

命名方式

使用完整變數
let daysSLV = 10;   ==> let daysSinceLastVisit = 10;
不要重複命名
let nameValue;  ==> let name;
let theProduct; ==> let product;
const user = {
  userName: "John",
  userSurname: "Doe",
  userAge: "28"
};

// 較好的方式
const user = {
  name: "John",
  surname: "Doe",
  age: "28"
};
善用預設值
function createShape(type) {
  const shapeType = type || "cube";
  // ...
}

// 較好的用法

function createShape(type = "cube") {
  // ...
}
一個function只做一件事
function createFile(name, isPublic) {
  if (isPublic) {
    fs.create(`./public/${name}`);
  } else {
    fs.create(name);
  }
}

// 簡單化函數
function createFile(name) {
  fs.create(name);
}

function createPublicFile(name) {
  createFile(`./public/${name}`);
}
善用extends
Array.prototype.myFunc = function myFunc() {
  // implementation
};

// 較好的做法

class SuperArray extends Array {
  myFunc() {
    // implementation
  }
}
注意可能會有undefined 或 null 情況發生
if (isValid === true) {
  // do something...
}

if (isValid === false) {
  // do something...
}

// 較好作法

if (isValid) {
  // do something...
}

if (!isValid) {
  // do something...
}