포스트

2021-04-09-TIL

2021-04-09-TIL

취업을 하는게 목적이 아니라 개발자가 되는것이 목적


Java Doc

  • https://www.jetbrains.com/help/idea/working-with-code-documentation.html#generate-javadoc

javadoc은 소스 파일을 읽어서 API 문서를 만드는 JDK 도구다. 기본 doclet은 HTML 페이지 묶음을 만든다(javadoc 가이드). 문서의 내용은 클래스, 메서드, 필드 바로 위에 쓰는 /** ... */ 형태의 문서 주석에서 온다.

1
2
3
4
5
6
7
8
/**
 * 주어진 id의 사용자를 찾는다.
 *
 * @param id 사용자 id
 * @return 찾은 사용자
 * @throws IllegalArgumentException 사용자가 없을 때
 */
public User findById(Long id) { ... }

IntelliJ에서는 메서드 위에서 /**를 입력하고 엔터를 치면 파라미터와 반환값에 맞는 태그 뼈대를 만들어 준다. Tools > Generate Javadoc 메뉴로 프로젝트 전체 문서를 HTML로 뽑을 수도 있다. 주석을 코드 옆에 두기 때문에, 메서드 시그니처가 바뀔 때 문서도 같이 고치기 쉽다.


빌더 패턴

  • https://johngrib.github.io/wiki/builder-pattern/#effective-java%EC%9D%98-%EB%B9%8C%EB%8D%94-%ED%8C%A8%ED%84%B4
  • 이펙티브 자바

이펙티브 자바 아이템 2는 생성자 인자가 많을 때 빌더를 고려하라고 권한다. 인자가 많은 생성자는 순서를 헷갈리기 쉽고, 자바빈즈처럼 setter로 하나씩 채우면 객체가 완성되기 전 상태가 밖으로 드러난다. 빌더는 필요한 값만 이름 있는 메서드로 채운 뒤 build()에서 한 번에 객체를 만든다.

1
2
3
4
User user = User.builder()
        .name("august")
        .email("august@example.com")
        .build();

이렇게 하면 각 값이 어떤 필드인지 호출부에서 바로 읽히고, build() 안에서 필수 값 검증을 한곳에 모을 수 있다. 만들어진 객체는 setter 없이 불변으로 둘 수 있다.


커밋 메시지에 이슈번호 자동으로 넣기

  • https://medium.com/prnd/github-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%84%B8%EC%A7%80%EC%97%90-jira-%EC%9D%B4%EC%8A%88%EB%B2%88%ED%98%B8-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EB%84%A3%EC%96%B4%EC%A3%BC%EA%B8%B0-779048784037

이 방식은 Git의 prepare-commit-msg 훅을 쓴다. githooks 문서에 따르면 이 훅은 git commit이 기본 메시지를 준비한 직후, 에디터가 열리기 전에 실행된다. 첫 번째 인자로 커밋 메시지 파일 경로를 받고, 그 파일을 제자리에서 고치는 것이 훅의 목적이다. 그래서 현재 브랜치 이름(feature/12-login 같은)에서 이슈 번호를 뽑아 메시지 앞에 붙이는 스크립트를 넣을 수 있다.

훅은 기본적으로 .git/hooks에 있어서 저장소에 커밋되지 않는다. 팀원 모두가 같은 훅을 쓰려면 core.hooksPath로 저장소 안의 디렉터리를 가리키게 하거나, husky 같은 도구로 설치를 자동화해야 한다.

참고한 자료외부 출처 3

외부 출처

이 글은 저작권자의 CC BY 4.0 라이선스를 따릅니다.

댓글

아직 댓글이 없습니다