JavaScript - 경계 다루기

category 프런트엔드/클린코드 2022. 4. 14. 17:31
728x90
반응형

min-max

미만, 초과 또는 이하, 이상인지 둘 중 하나로 해석될 가능성이 있다.

const MIN_COUNT = 1;
const MAX_COUNT = 100;

명시적으로 정의하기 위하여 LIMIT를 붙여서 다음과 같이 개선할 수 있다. 

const MIN_COUNT_LIMIT = 1;
const MAX_COUNT_LIMIT = 100;

 

begin-end

일반적으로 begin은 경계에 포함되고 end는 경계에 포함되지 않는 암묵적인 규칙이 있다.

 

2022-01-01부터 2022-01-10까지 포함될 것을 예측할 수 있다.

function getDate(beginDate, endDate) {
	// some code
}

// 2022-01-01부터 2022-01-10까지 포함될 것을 예측할 수 있다.
getDate("2022-01-01", "2022-01-11");

 

first-last

first-last는 begin-end와 다르게 양 끝 경계를 포함한다. (~부터 ~까지)

function getNumber(first, last) {
	// some code
}

// 1,2...10 까지 모든 숫자를 포함할 것이다.
getDate(1, 10);

 

prefix-suffix

prefix (접두사)

  • prefix (접두어)는 명사 앞에 붙인다.
  • 예를 들어 Jquery에서는 $가 접두어이다. Loadsh 라이브러리는 _ (언더바) 이다.

prefix (접미사)

  • suffix (접미사)는 명사 뒤에 붙인다.
  • 예를 들어 값의 종류 또는 상태값을 표현할 수 있다.
// HTTP 상태값 표현
const HTTP_200_OK = 200;
const HTTP_201_CREATED = 201;
const HTTP_204_NO_CONTENT = 204;
const HTTP_400_BAD_REQUEST = 400;
const HTTP_401_UNAUTHORIZED = 401;
const HTTP_404_NOT_FOUND = 404;
const HTTP_409_CONFLICT = 409;
const HTTP_500_INTERNAL_SERVER_ERROR = 500;

 

parameter (매개변수)

  • 인자값이 2개가 넘지 않도록한다.
  • 불규칙적인 매개변수라면 arguments나 나머지 파라미터 (rest parameter) 사용을 고려한다.
  • 매개변수를 객체에 담아서 넘긴다.
  • 이미 만든 함수가 있고 고치기 힘들다면 래핑 (wrapping) 함수를 만든다.

나머지 파라미터 (rest parameter)

function sum(...theArgs) {
  return theArgs.reduce((previous, current) => {
    return previous + current;
  });
}

console.log(sum(1, 2, 3)); // 6
console.log(sum(1, 2, 3, 4)); // 10

래핑 함수 (wrapping function)

Java의 메소드 오버로딩처럼 만들면 된다.

function someFunc(someArg1, someArg2, someArg3, someArg4) {
	// some code
}

function someFunc2(someArg1, someArg3) {
    someFunc(someArg1, undefined, someArg3);
}

 

728x90
반응형

'프런트엔드 > 클린코드' 카테고리의 다른 글

JavaScript - 객체 다루기  (0) 2022.04.15
JavaScript - 배열 다루기  (0) 2022.04.15
JavaScript - 분기 다루기  (0) 2022.04.14
JavaScript - 타입 다루기  (0) 2022.04.14
JavaScript - 변수 다루기  (0) 2022.04.14