javascript

[javascript] 클린코드에 대해

tonirr 2021. 5. 1. 14:38
  • 좋은 코드란?
    • 성공, 실패의 경우를 분리해서 처리할 수 있음
    • 비즈니스 로직을 한눈에 파악할 수 있음
  • 어려운 코드란?
    • 실패, 성공의 경우가 서로 섞여서 처리됨
    • 비즈니스 로직을 파악하기 어려움
    • 흐름파악이 어려움
    • 도메인 맥락 표현이 안되어 있음
    • 동료에게 물어봐야 알 수 있는 코드
  • 원하는 로직을 빠르게 찾으려면?
    • 하나의 목적을 가진 코드가 흩뿌려져 있지 않게 응집시켜야 함
      • 응집시킬 것
        • 당장 몰라도 되는 디테일
      • 응집시키면 안되는 것 
        • 코드 파악에 필수적인 핵심 정보
    • 함수가 여러가지 일을 하지 않도록 단일책임 형태로 만듦
      • 단일책임을 가질 수 있도록하는 리팩토링 tip
        • 한가지 일만 하는, 명확한 이름의 함수
        • 한가지 일만 하는, 기능성 컴포넌트
        • 조건이 많아지면 한글이름도 고려해 볼 것
    • 함수의 세부구현 단계가 제각각이지 않도록 
  • 클린 코드를 위해
    • 담대하게 기존 코드 수정하기
    • 큰 그림을 보는 연습하기
    • 팀과 함께 공감대 형성하기
    • 문서로 적어보기
      • 향후 어떤점에서 위험할 수 있는지
      • 어떻게 개선할 수 있는지