클린코드

hey hey·2022년 5월 24일
1

CS study

목록 보기
4/7
post-thumbnail

클린코드

코드를 짬에 있어서 클린 코드란 무엇일까?

Clean Code(2013) 책을 보고 한 줄 씩 나열하면서 클린코드란 무엇인지 생각해보도록 하자

1. 클린코드

  • 코드 = 요구사항을 표현하는 언어
  • 처음부터 좋은 코드를 짜는 것이 좋다
  • 좋은 코드는 생산성을 상승시킨다.

    클린코드란?

    1. 보기에 즐겁고 우아한 코드 (논리를 이해하기 쉽고 구조가 깔끔한 코드) ⇒ 가독성
    2. 반드시 필요한 내용만 담아야 하며 다른 사람이 이해하기 쉽고 고치기 쉬워야한다.
    3. 오류 처리가 철저한 코드 ,
    4. 한가지 목적인 코드
  • 좋은 코드들의 예시를 보고 연습을 하는 것을 중요

2. 의미있는 이름

  • 의도가 분명하게 드러나도록 이름을 지어야한다.
  • 발음하기 쉽게 작명하자
  • 특정 상수 같은 경우에도 이름을 지어주면 좋다 (3600 ⇒ SECOND_FOR_HOUR)
  • 루프문에서도 변수를 잘 짓자
  • 메소드 이름은 동사가 좋다
  • 개념 하나 당 단어 하나를 쓰자 ( 다른 맥락인데도 일관성을 고려한다고 하나로 쓰면 곤란)

3. 함수

  • 함수는 작을 수록 좋다.
  • if 문에 들어가는 블록은 한줄이어야 한다.
  • 그 한줄에서 다른 함수를 호출한다
    • 호출하는 함수도 작명을 잘해줘야한다.
  • 한 함수는 한가지 일을 해야한다.
  • 서술적인 함수 이름을 사용하자 (길어도 괜찮다.)
  • 함수의 인수는 최대한 사용하지 않는 것이 좋다
  • return break continue 를 여러차례 사용하는 것이 의도를 표현하기 쉬울 수 있다.

4. 주석

  • 주석을 최대한 줄이자
    • 너무 당연한 내용은 주석으로 달지말자
  • 주석을 달기보다는 설명 필요없이 명확한 코드로 고치면 된다.
    • 함수를 분리 하거나 이름을 잘 붙여서 코드만 봐도 의미가 파악되도록 한다.

5. 코드 규칙

  • 당장 돌아가는 코드를 짜는 것보다 가독성 좋은 코드를 짜는 것이 중요하다.
  • 각 개념을 빈 행으로 분리하자.
  • 연관성 있는 코드( 비슷한 동작을 하는 코드) 를 가까이 붙여주자.

6. 오류

  • 함수를 호출한 즉시 오류를 확인하는 것은 번거로우니 오류가 발생하면 예외를 던지는 것이 깔끔하다
  • try-catch-finally문부터 작성한다.
  • 오류 메세지에 정보를 담는다
    • 실패한 연산 이름과 실패 유형을 언급해준다.
  • 외부 API를 사용하면서 오류를 캐치해야 할 때는 해당 클래스를 감싸는 클래스를 만들어 예외들을 잡아 하나로 묶어서 던져준다.
  • 메소드가 null을 반환하지 않도록 하자.

7. 테스트

  • 프로그램에서 사용하려는 방식대로 외부 API를 호출해보고 테스트한다.
  • 아직 존재하지 않는 API를 사용하기 위해 우리가 필요한 인터페이스를 미리 정의하고, 나중에 어댑터 패턴을 사용해 간극을 메우고 API가 바뀔 때 수정할 코드를 모아둔다.
  • 외부 패키지를 직접 호출하는 코드를 줄여서 경계를 관리하자.

8. TDD 법칙 테스트 주도 개발

  • 싫패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.
  • 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
  • 테스트 코드는 가독성이 가장 중요하다.
  • 테스트 함수마다 개념 하나만 테스트해야한다.
    • 각 개념마다 테스트를 쪼갠다.
profile
FE - devp

0개의 댓글