이 영역을 누르면 첫 페이지로 이동
codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

페이지 맨 위로 올라가기

codesche's blog

chap04-코드를 보조하는 주석

  • 2023.01.30 08:52
  • Study Cafe/Clean Code 스터디

목차

  1. 주석을 최대한 쓰지 말자
  2. 좋은 주석
  3. 주석보다 annotation
  4. JavaDoc

1. 주석을 최대한 쓰지 말자

// 직원에게 복지 혜택을 받을 자격이 있는지 검사
if ((employee.flags & HOURLY_FLAG) && employee.age > 65))

// 의미있는 이름을 지으면 해결됨
if (employee.isEligibleForFullBenefits())

주석은 나쁜 코드를 보완하지 못한다

  • 코드에 주석을 추가하는 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내야 한다.
  • 코드로도 의도를 표현할 수 있다!

주석은 방치된다

    • 코드의 변화에 따라가지 못한 채 주석은 방치된다
    • 코드는 컴파일되어 호출되나 주석은 그저 주석이다. 그 자리에 방치되고 결국 의미없는 텍스트가 된다.
    • '복지 혜택에 연금 혜택 기준이 추가된다면?'

2. 좋은 주석

  1. 좋은 주석은 구현에 대한 정보를 제공한다
  2. // kk:mm:ss EEE, MMM dd, yyyy 형식 Pattern timeForamt = Pattern.compile("\\d*:\\d:\\d* \\w*, \\w* \\d* \\d*");
  3. 좋은 주석은 의도와 중요성을 설명해준다
  4. // 스레드를 많이 생성하여 시스템에 영향을 끼쳐 테스트를 만들도록 함 for (int i = 0; i < 25000; i++) { SomeThread someThread = ThreadBuilder.builder().build(); }
// 유저로부터 입력받을 값을 저장할 때 trim으로 공백제거 필요
String userName = userNameInput.trim();
  1. // TODO // FIXME

image

  • TODO : 앞으로 할 일. 지금은 해결하지 않지만 나중에 해야할 일을 미리 적어둘 때
  • FIXME : 문제가 있지만, 당장 수정할 필요는 없을 때. 가능하면 빨리 수정하는 게 좋다

=> IDE에서 하이라이팅되며, 별도의 윈도우에서 볼 수 있다

3. 주석보다 annotation

java.lang.annotation

  • annotation : 코드에 대한 메타 데이터
    • 코드의 실행 흐름에 간섭을 주기도 하고, 주석처럼 코드에 대한 정보를 줄 수 있다
  • @Deprecated : 컴파일러가 warning을 발생시킴. IDE에서 사용시 표시가 된다
  • @NotThreadSafe : Thread Safe하지 않음을 나타냄

image

4. JavaDoc

Java 코드에서 API 문서를 HTML 형식으로 생성해주는 도구

image

  • Class level

image

  • Field level

image

  • Method level

image

  • JavaDoc 문서

image

'Study Cafe > Clean Code 스터디' 카테고리의 다른 글

chap07-오류 처리  (0) 2023.03.24
chap06-객체와 자료구조  (0) 2023.03.24
chap05-형식 맞추기  (0) 2023.03.22
ch03-함수  (1) 2023.01.30
깨끗한 코드, 의미있는 이름(chap01 & chap02)  (0) 2023.01.12

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • chap06-객체와 자료구조

    chap06-객체와 자료구조

    2023.03.24
  • chap05-형식 맞추기

    chap05-형식 맞추기

    2023.03.22
  • ch03-함수

    ch03-함수

    2023.01.30
  • 깨끗한 코드, 의미있는 이름(chap01 & chap02)

    깨끗한 코드, 의미있는 이름(chap01 & chap02)

    2023.01.12
다른 글 더 둘러보기

정보

codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

  • codesche's blog의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (76)
    • Algorithm (15)
      • 백준 (3)
      • 프로그래머스 (10)
      • inflearn 알고리즘(Java) (2)
    • 블로그소개 (1)
    • Back-End (11)
      • Java (10)
      • SpringBoot (1)
    • Database (2)
      • MySQL (0)
      • MariaDB (1)
      • Redis (0)
      • 개념, 이론 (1)
    • Front-End (0)
      • html, css, javascript (0)
    • Git (2)
    • 알고리즘 지식 (11)
      • 자료구조 (11)
    • Study Cafe (21)
      • 기술면접 (6)
      • Clean Code 스터디 (14)
      • CS 스터디 (0)
      • 개발용어 (1)
    • 주간 에세이 (10)
    • DevOps (3)
      • 배포, Front&Back 연동 (1)
      • AWS (0)
      • Docker (1)
      • 이론 (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 클린코드
  • 자바 변수
  • 자료구조
  • 개발자 현실
  • java
  • 자바 기초
  • 주간에세이
  • git commit

나의 외부 링크

정보

The Code의 codesche's blog

codesche's blog

The Code

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © The Code. Designed by Fraccino.

티스토리툴바