Study/JavaScript(Clean code)

[JavaScript][clean-code] min - max & begin - end

갈푸라떼 2022. 5. 28. 02:16

* min - max

  • 최소값과 최대값을 다룬다.
  • 최소값과 최대값의 포함여부를 항상 결정해야한다. (초과 ~ 미만 / 이상 ~ 이하)
  • 혹은 네이밍에 최소값과 최대값 포함 여부를 표현해야한다.
    • 코드를 작성할 때 명시적인 코드를 작성할 수 있다.

 

* 예시 함수를 통해서  min, max에 대해서 확인 및 판단 해보기

function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}
// 상수
const MIN_NUMBER =1;
const MAX_NUMBER =45;

// 상수만 할당 해주어 함수를 실행
getRandomNumber(MIN_NUMBER, MAX_NUMBER);
  • 최소값과 최대값에 대한 값을 상수로 만들어 놓는 방법을 이용하는 방법
  • 하지만 이렇게 하여도 팀마다 MIN과 MAX에 대한 경계가 애매할 수 있다.

이유는 ??

- 팀마다 min-max가 이상,이하 기준인지 초과 미만 기준인지 다 다른다.

따라서 기준에 대해 모호하지 않게 컨벤션을 포함해주는게 좋다

 

어떻게 ??

// 이상, 이하
const MIN_IN_NUMBER = 1;
const MAX_IN_NUMBER = 45;

// 초과, 미만
const MIN_NUMBER_LIMIT = 1;
const MAX_NUMBER_LIMUT = 45;
  • 상수에 이상, 이하, 초과, 미만에 대한 표시를 해주어 명확한 표현을 해준다.

* begin - end

  • 시작과 끝
  • 체크인 체크아웃 날짜가 대표적인 예시이다.
  • begin(체크인) - end(체크아웃)
  • end는 고정되지 않고 언제나 경계에 포함되지 않을수 있는 제외될 수 있는 부분이다.
function reservationDate(beginDate, endDate) {
  // ...some code
}

reservationDate('YYYY-MM-DD', 'YYYY-MM-DD')