개발하는 사막여우
개발하는 사막여우
개발하는 사막여우
전체 방문자
오늘
어제
  • All (310)
    • Books (13)
      • 읽기 좋은 코드가 좋은 코드다 (13)
    • Study (6)
      • Blockchain (3)
      • Algorithm (3)
    • Baekjoon (36)
    • Programmers (166)
    • LeetCode (15)
    • Open Source (1)
      • Youtube Popout Player (1)
    • Language (32)
      • Python (9)
      • JS (8)
      • Java (5)
      • HTML (6)
      • CSS (4)
    • Library & Framework (15)
      • React.js (15)
    • IDE (2)
      • IntelliJ (2)
    • Airdrop (9)
    • Tistory (2)
    • etc.. (12)
      • Cozubi (6)
      • lol-chess (0)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • 파이썬
  • 프로그래머스 위클리 챌린지
  • 읽기 좋은 코드가 좋은 코드다
  • 카카오 공채
  • 카카오 알고리즘 문제
  • 신규 코인 에어드랍
  • 백준
  • programmers
  • Cozubi
  • 알고리즘문제풀이
  • Java
  • Python
  • 코주비
  • 코인줍줍
  • 코딩테스트연습
  • 클린 코드
  • 카카오 코딩테스트
  • 프로그래머스
  • 2018 KAKAO BLIND RECRUITMENT
  • 클린 코드 작성법

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
개발하는 사막여우

개발하는 사막여우

14. 테스트와 가독성
Books/읽기 좋은 코드가 좋은 코드다

14. 테스트와 가독성

2021. 12. 7. 17:39
반응형

이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다.

<<간결하고 효과적인 테스트 코드!>>

 

1. 읽거나 유지보수하기 쉽게 테스트를 만들어라

-> 테스트 코드: 실제 코드가 어떻게 동작하며 어떻게 사용되어야 하는지에 관한 비공식적인 문서

-> 테스트 코드가 읽기 쉬우면, 사용자는 실제 코드가 어떻게 동작하는지 그만큼 더 쉽게 이해할 수 있다.

-> 다른 프로그래머가 수정하거나 새로운 테스트를 더하는 걸 쉽게 느낄 수 있게 테스트 코드는 읽기 쉬워야 한다.

 

2. 테스트를 읽기 쉽게 만들기

-> 덜 중요한 세부 사항은 사용자가 볼 필요 없게 숨겨서 더 중요한 내용이 눈에 잘 띄게 해야 한다.

-> 초기화에 필요한 부분은 헬퍼 함수를 사용해 감추고, 테스트 자체에 더 집중될 수 있도록 하라!

-> 최소한의 테스트 구문 만들기: 테스트 코드를 최대한 짧고, 읽기 쉽게 만들어라!

-> 목적에 맞는 '미니-랭귀지' 구현하기: 문자열에 일정한 문법적 규칙을 도입해 자신만의 최적화된 미니-랭귀지를 만들어 사용하라!

 

3. 읽기 편한 메시지 만들기

-> 에러 메세지를 읽기 쉽게 만들어라

-> 에러 메세지는 최대한 유용해야 한다! 

-> 목적에 맞는 assert를 스스로 구현하라!

 

4. 좋은 테스트 입력값의 선택

-> 가능하면 가장 가단한 입력으로 코드를 완전히 검사할 수 있어야 한다!

-> 필요한 작업을 수행하는 범위에서 가장 명확하고 간단한 테스트 값을 선택하라!

-> 하나의 '완벽한' 입력을 사용하는 것보다는 작은 테스트를 여러 개 사용하는 방식이 더 쉽고 효과적이다.

 

5. 테스트 함수에 이름 붙이기

-> Test1() 과 같이 전혀 의미가 없는 이름을 사용하지 마라.

-> 테스트를 상세하게 묘사할 수 있는 이름을 사용하라.

-> 'Test_' 접두사를 사용하여 테스트되는 클래스, 함수, 상황이나 버그 등 필요한 정보를 하나로 붙여 사용하는 것도 좋다!

-> 테스트 함수는 실제 코드베이스에서 호출되는 함수가 아니므로, 이름을 하나의 설명문으로써 길게 가져가도 상관없다!

-> 테스트 코드 내부 헬퍼 함수의 경우, 테스트와 상관없는 '순수한' 헬퍼인지 아닌지를 확인 가능한 이름을 사용하는 것이 좋다!

 

6. 테스트에 친숙한 개발

-> TDD: 실제 코드를 작성하기 전에 우선 테스트 코드부터 작성하는 기법

-> 테스트 하기 어려운 코드의 특징: 전역 변수 사용, 코드가 많은 외부 컴포넌트 사용, 코드가 비결정적인 행동을 가진다.

 

7. 지나친 테스트

-> 테스트를 가능하게 하려고 실제 코드의 가독성을 희생시키지는 마라.

-> 100% 코드 테스트는 존재하지 않으며, 필요하지도 않다.

-> 프로젝트에 따라 테스트 코드를 작성하는 것이 중요하지 않을 수도 있다.

-> 테스트 코드 작성이 프로젝트의 진행에 크게 영향을 주어서는 안된다.

반응형
저작자표시 (새창열림)

'Books > 읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글

13. 코드 분량 줄이기  (0) 2021.12.07
12. 생각을 코드로 만들기  (0) 2021.12.07
11. 한 번에 하나씩  (0) 2021.12.07
10. 상관없는 하위문제 추출하기  (0) 2021.12.07
9. 변수와 가독성  (0) 2021.12.06
    'Books/읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글
    • 13. 코드 분량 줄이기
    • 12. 생각을 코드로 만들기
    • 11. 한 번에 하나씩
    • 10. 상관없는 하위문제 추출하기
    개발하는 사막여우
    개발하는 사막여우
    개발개발 주저리주저리

    티스토리툴바