function genRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// 상수
const MIN_NUMBER = 1;
const MAX_NUMBER = 45;
genRandomNumber(MIN_NUMBER, MAX_NUMBER);
최소값과 최대값은 값의 포함여부를 컨벤션으로 정해야 함(이상-초과/이하-미만)
네이밍에 최소값과 최대값 포함 여부를 표현함
const MIN_NUMBER_LIMIT = 1; // 미만
const MAX_NUMBER_LIMIT = 45; // 초과
const MIN_IN_NUMBER = 1; // 이상
const MAX_IN_NUMBER = 45; // 이상
genRandomNumber(MIN_NUMBER, MAX_NUMBER);
function reservationDate(beginDate, endDate) {
// ...some code
}
reservationDate('YYYY-MM-DD', 'YYYY-MM-DD');
const students = ['포코', '존', '현석'];
function getStudents(first, last) {
// ...some code
}
getStudents('포코', '현석');
element.firstChild();
element.lastChild();
prefix와 suffix
prefix 사용 예
// React의 Hook
useState
useEffect
useContext
useReducer
// JavaScript - private field
function FactoryFunction(name) {
this._name = name;
}
class FactoryFunction {
#name = name
}
// Underscore Library
_.filter([1, 2, 3, 4], (num) => num % 2 === 0);
// Loadash Library
_.chuck(['a', 'b', 'c', 'd'], 2);
// Component Naming
BaseButton.jsx
BaseTable.jsx
BaseIcon.jsx
// redux
export const STARRED_REQUEST = 'STARRED_REQUEST'; // 요청
export const STARRED_SUCCESS = 'STARRED_SUCCESS'; // 성공
export const STARRED_FAILURE = 'STARRED_FAILURE'; // 실패
// 단일 파일명
student.js
// 복수 파일명 +s
students.js
function someFunc(someArg, someArg) {}
genRandomNumber(1, 50);
genDates('2021-10-01', '2021-10-31');
genSuffleArray(1, 5);
호출하는 함수의 네이밍과 인자의 순서의 연관성을 고려함
함수의 인자가 너무 많은 경우
// before
function someFunc(someArg1, someArg2, someArg3, someArg4) {}
// after
function someFunc(someArg1, ...args) {}
function someFunc({someArg1, someArg2, someArg3, someArg4})