/ FRONTEND

클린코드 자바스크립트 3-1 경계 다루기(min-max,begin-end,first-last,접두사와 접미사, 매개변수 순서가 경계)

Clean Code JS 강좌는 여러 절로 구성되어 있습니다.

경계 다루기 😎

min-max👍

  1. 최소값과 최대값을 다룬다.
  2. 포함 여부를 결정해야 한다(이상-초과 / 이하-미만)
  3. 혹은 네이밍에 최소값 최대값 포함 여부를 작성한다.
function genRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

const MIN_NUMBER = 1;
const MAX_NUMBER = 45;

// MAX_NUMBER_LIMIT 초과
// MAX_IN_NUMBER 포함
const result = genRandomNumber(MIN_NUMBER, MAX_NUMBER);
console.log(result);

const MAX_AGE = 20;
function isAdult(age) {
// 최소값, 최대값 (포함되는지 vs 안되는지)
// 이상, 초과 vs 이하, 미만
if(age>=20) {
return;
}

Begin-End👍

  • 경계를 포함하지만 제외하는 경우
  • 달력, 에어비엔비와 같은 출국,입국일을 생각하면 쉽다.
function reservationDate(beginDate, endDate) {
  // ....some code
  return;
}

reservationDate("YYYY-MM-DD", "YYYY-MM-DD");

First-Last👍

  • 포함된 양 끝을 의미한다.
  • 포함되어 있는 규칙이나 연속성에 대해 보장 X
  • 부터 ~~~ 까지
const students = ["A", "B", "C"];

function getStudents(first, last) {
  // ...some code
}

getStudents(students[0], students[2]);

Prefix(접두사) - Suffix(접미사)의 중요성 (규칙) 👍

  • JS의 prefix getter, setter
  • React usePrefix (기본 Hooks, useState,useEffect …)
  • jQuery prefix $

매개변수 순서가 경계 👍

호출하는 함수의 네이밍과 인자의 순서의 연관성을 고려한다.

  1. 매개변수를 2개가 넘지 않도록 만든다.
  2. arguments, rest parameter 사용
  3. 랩핑하는 함수 사용
  4. 매개변수를 객체로 담아서 넘긴다
function someFunc(someArg1, someArg2, someArg1, someArg2) {}

function getFunc(someArg3, someArg4) {
  // 많이 쓰는 매개변수 일 경우 이렇게 들고온다.
  someFunc(undefined, undefined, someArg3, someArg4);
}

function someFunc2({ someArg1, someArg2, someArg1, someArg2 }) {}

getRandomNumber(1, 50);
getDates("2021-01-01", "2021-12-31");
shuffleArray(1, 5);