[Clean-Code-JS] 경계 다루기

soho·2023년 3월 20일

Clean-Code-JS🧹

목록 보기
3/3
post-thumbnail

🧹 명시적인 코드를 작성할 수 있도록 꾸준히 의식적으로 코드를 작성해야 한다.


1. min-max

  • 최소값과 최대값을 다룬다.

  • 최소값과 최대값 포함 여부를 결정해야한다(이상 - 초과 / 이하 - 미만)

  • 혹은 네이밍에 최소값과 최대값 포함 여부를 나타낸다.


    e.g.

const MAX_NUMBER_LIMIT = 37;

const MAX_IN_NUMBER = 37;


2. begin-end(시작 !== 끝)

  • 시작은 고정되어있는데 끝은 포함되어 있지 않는 것


    e.g. 체크인 = begin, 체크아웃 = end 이런 암묵적인 규칙이 대표적이다.
function reservationDate(beginDate, endDate) {
	// ....
}

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

3. first-last

  • ~ 부터 ~~~ 까지 포함된 양의 끝을 의미한다.

  • min-max와 비슷하나 차이는
    ⇒ first-last는 양 끝 점이 존재는 하나, 그 안의 요소들에 대한 규칙이나 연속성이 보장X

  • dom에도 존재한다.
    element.firstChild, element.lastChild


4. prefix-suffix (접두사-접미사)

prefix

  • useState, useEffect, useContext

    ⇒ React Hook의 네이밍 약속이다.


  • _. 같은 라이브러리 관점에서의 규칙도 있다.

  • vue에서는 component 같은 경우에 Base, App같은 네이밍 규칙이 있다.

  • JavaScript의 getter, setter


suffix

  • _REQUEST, _SUCCESS, _FAILURE 같이 네트워크의 상태를 규칙을 만들어서 보여줄 수 있다.
const START_REQUEST = 'START_REQUEST' //요청
const START_SUCCESS = 'START_SUCCESS' //성공
const START_FAILURE = 'START_FAILURE' //실패

결론은 prefix와 suffix를 이용해서 코드의 일관성을 가질 수 있다.


5. 📍 매개변수의 순서가 경계이다

🔍 매개변수의 순서만 잘 지켜도 그것 자체가 경계이다.

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

  • 유지보수에 취약한 함수를 만들지 않기 위해서는
    • 매개변수를 2개가 넘지 않도록 만든다.
    • 매개변수가 많을 경우, arguments, rest parameter를 이용한다.
    • 매개변수를 객체에 담아서 넘긴다. ⇒ 다양하게 인자를 받을 수 있음.
    • 랩핑하는 함수를 만든다. (사실 이 부분은 이해가 잘되지 않아서 다시 보기!)
      function getFunc(someArg1, someArg3) {
      	someFunc(someArg1, undefined, someArg3)
      }




강의 출처 : Udemy - 클린코드 자바스크립트

profile
Aal izz well!

0개의 댓글