-
[클린코드 자바스크립트] 경계 다루기개발/javascript 2022. 4. 3. 21:13
* 클린코드 자바스크립트 강의를 정리하고자 작성한 게시글입니다.
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); // 상수 (최소, 최대값을 포함) const MIN_IN_NUMBER = 1; const MAX_IN_NUMBER = 45; // 상수 (초과, 미만) const MIN_NUMBER_LIMIT = 1; const MAX_NUMBER_LIMIT = 45;
begin - end
- begin은 포함 end는 포함되지 않는다.
- 예를 들어 예약 시스템에서 사용되는 달력의 시작일, 종료일을 말한다.
- 시작과 끝에 해당하는 데이터를 다룰때 begin, end를 사용한다.
function reservationDate(beginDate, endDate) { ... } // 날짜를 예약하는 함수, 시작일 종료일을 명확히 알 수 있다. reservationDate('2022-03-14', '2022-03-20');
first - last
- begin - end와 달리 양끝의 경계를 포함한다.
- first 부터 last 까지를 의미한다.
function range(first, last) { ... } range(1, 5); // 1부터 5까지 1, 2, 3, 4, 5
prefix - suffix
- 접두사, 접미사를 사용하여 코드의 의미를 알 수 있도록 한다.
- 코드의 일관성을 부여하기 좋다.
매개변수의 순서가 경계다.
- 매개변수가 2개인 경우 함수의 역할을 추측하기 쉽다.
- 호출하는 함수의 네이밍과 인자의 순서의 연관성을 고려한다.
- 매개변수는 되도록이면 2개를 넘지 않는 것이 좋다.
- arguments, rest parameter 사용
- 랩핑하는 함수를 사용
- 매개변수가 많아지면 객체로 받는다.
genRandomNumber(1, 50); // 1부터 50까지 랜덤 숫자를 생성한다.
반응형'개발 > javascript' 카테고리의 다른 글
[클린코드 자바스크립트] eqeq 줄이기, 형변환 주의, isNaN (0) 2022.03.14 [클린코드 자바스크립트] 타입 다루기 (undefined, null, eqeq, 형변환 주의, isNaN (0) 2022.03.13 [클린코드 자바스크립트] 타입검사 (0) 2022.03.07 [클린코드 자바스크립트] 호이스팅 주의 (0) 2022.03.05 [클린코드 자바스크립트] 임시변수 제거 (0) 2022.03.04