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
외부 출처
- javadoc - Java SE 11 Tools Reference
- githooks
- Joshua Bloch, Effective Java 3판, 아이템 2 “생성자에 매개변수가 많다면 빌더를 고려하라”
댓글
아직 댓글이 없습니다