오늘 오후 3시, 우아한테크코스 6기 프리코스가 시작된다. 본격적으로 시작하기에 앞서 앞으로 4주간 자주 들여다볼 중요한 부분들을 미리 기록해놓으려 한다. 또한, 끝까지 최선을 다해 임하기 위해 목표와 우선순위를 되새겨보려 한다.
✔️ 프리코스 목표와 구현 우선순위
▷ 프리코스 목표
이번 6기에 지원하신 분들이 상당히 많은 것으로 예상된다.(입학 설명회 때 1500여명 정도 참여하신 것을 보았다... ) 아직 온보딩은 시작하지 않았지만 벌써부터 양질의 자료를 공유하는 분들도 계신다. 저렇게 열정적인 분들과 함께 우아한테크코스에 참여하게 된다면 정말인지 너무 재미있을 것 같다. 나도 프리코스 커뮤니티 열심히 참여해야지!!
하지만 그 전에 프리코스를 참여하는 본 목적은 조금은 생소했던 자바 컨벤션과 클린 코드에 대한 고찰을 통해 전보다 더 성장하는 것이다. 지금까지 프로그래밍을 하며 자바 컨벤션에 대해서는 어느 정도 알고있었지만 클린코드에 대한 지식은 많지 않았던 것 같다.(반성하자...)
4주 간의 프리코스동안 시험기간과 캡스톤디자인 프로젝트 모두 겹치지만, 이 시간을 나를 위한 투자라는 생각으로 즐기며 후회없이 최선을 다하고싶다.(솔직히 정말 많이 간절하다...🥺) 끝까지 최선을 다하자. 그리고 이왕이면 잘하자.
▷ 프리코스 구현 우선순위
1. 기능 구현에 집중하자
- 이 때 최대한 자바 컨벤션과 클린 코드 규칙에 맞게 구현하려 노력한다. 구현에 더 우선순위를 두어야겠지만 코드가 너무 응집되어 있으면 나중에 리팩토링 하기 힘들 것이다.
- 또한 한 개의 메소드에 너무 많은 책임을 부여하지 않도록 기능 리스트를 상세하게 명시하자.
2. 구현이 끝나면 리팩토링하자
- 마감기한을 반드시 지키기 위해 구현에 먼저 집중한 이후 남은시간동안 리팩토링할 부분들을 찾을 것이다.
✔️ 우아한테크코스 클린 코드 규칙
1. 자바 코드 컨벤션을 지키면서 프로그래밍했는가?
2. 한 메서드에 오직 한 단계의 들여쓰기만 허용했는가?
3. else 예약어를 쓰지 않았는가?
4. 모든 원시값과 문자열을 포장했는가?
5. 컬렉션에 대해 일급 컬렉션을 적용했는가?
6. 3개 이상의 인스턴스 변수를 가진 클래스를 구현하지 않았는가?
- 쉽지 않은 연습일 수 있다. 가능하면 인스턴스 변수의 수를 줄이기 위해 노력한다.
7. getter/setter 없이 구현했는가?
- 핵심 로직을 구현하는 도메인 객체에 getter/setter를 쓰지 않고 구현했는가?
- 단, DTO는 허용한다.
8. 메소드의 인자 수를 제한했는가?
- 4개 이상의 인자는 허용하지 않는다.
- 3개도 가능하면 줄이기 위해 노력해 본다.
9. 코드 한 줄에 점(.)을 하나만 허용했는가?
- 디미터의 법칙을 지켰는가?
- 디미터의 법칙 : 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다.
- 예를 들어 location.current.representation.substring(0, 1)와 같이 여러 개의 점(.)이 등장하면 리팩토링할 부분을 찾아본다.
10. 메소드가 한가지 일만 담당하도록 구현했는가?
11. 클래스를 작게 유지하기 위해 노력했는가?
✔️ 우아한테크코스 자바 커벤션
https://github.com/woowacourse/woowacourse-docs/tree/main/styleguide/java
다음 참고
https://google.github.io/styleguide/javaguide.html
https://myeonguni.tistory.com/1596
✔️ Git 커밋 컨벤션 설정
프리코스 커뮤니티에서 공유해주신 정보다. 많이 고민하고 있던 부분이였다. 감사합니다!!!
'우아한테크코스 > 6기 프리코스' 카테고리의 다른 글
[우아한테크코스 6기 프리코스] 2주차 코드 리뷰 종합해보기! (0) | 2023.11.06 |
---|---|
[우아한테크코스 6기 프리코스] 2주차 회고 (0) | 2023.11.01 |
[우아한테크코스 6기 프리코스] 1주차 코드 리뷰 종합해보기! (2) | 2023.10.27 |
[우아한테크코스 6기 프리코스] 1주차 회고 (2) | 2023.10.26 |
[우아한테크코스] 이전 기수 프리코스 1주차 문제 풀어보기 (0) | 2023.09.23 |