혼자 개발을 할때엔 변수명을 a, b로 짓든 awdd, twk로 짓든 본인만 구분할 수 있다면 상관이 없을 것이다. 하지만 개발은 보통 혼자하지 않으므로 가독성이 좋은 코드를 고민하고 다른 개발자도 알아볼 수 있는 좋은 변수명 지어주어야 한다.
컴파일러에서 제한하는 규칙
1. 대소문자가 구분되며 길이의 제한은 없다.
2. $와 _를 제외한 특수문자는 사용할 수 없다.
3. 숫자로 시작해서는 안된다.
4. 예약어를 사용해서는 안된다.
J2EE에서 권장하는 규칙
1. 변수는 첫 글자의 소문자로 시작하는 명사로 짓는다.
2. 여러 단어로 이루어진 이름은 각 단어의 첫 글자를 대문자로 한다. (카멜 표기법 사용)
let 1depth (X) // 숫자로 시작해선 안됨
let oneDepth (O)
let result (X) // 예약어 금지
let foundResult (O)
let one-depth (X) // $와 _를 제외한 특수문자 금지
let one_depth (O)
변수는 하나의 의미를 갖고 목적을 분명하게 나타낼 수 있도록 지어준다.
let page = 10; (X) // page의 의미가 애매하다.
let currentPage = 10; // 현재 page를 나타내는지 알아보기 쉽다.
let totalPage = 10; // 총 page를 나타내는지 알아보기 쉽다.
다른 개발자가 내 코드를 봤을 때, 의미를 바로 알 수 있도록 짓는다.
let check = Array[0] === 'apple';
let isApple = Array[0] === 'apple'; // 의미를 바로 파악할 수 있다.
const User = sequelize.define('users',{
username : {
type : DataTypes.STRING
}
}) // user라는 모델에 username이라고 한번 더 user를 명시할 필요는 없다.
const User = sequelize.define('users',{
name : {
type : DataTypes.STRING
}
})
Boolean 변수는 true와 false 두가지 값만 가진다. 때문에 변수명도 true와 false 두가지 값으로 대답이 나오도록 지어야한다. 보통 is, has, found, include 등을 사용해 의문문으로 만든다.
let clickChk = true;
let isClick = true; // 딱 봐도 클릭 했는지에 대한 true false 값이 예상이 간다.