[우아한테크코스 6기 프리코스] 1주차를 시작하기에 앞서

 

 오늘 오후 3시, 우아한테크코스 6기 프리코스가 시작된다. 본격적으로 시작하기에 앞서 앞으로 4주간 자주 들여다볼 중요한 부분들을 미리 기록해놓으려 한다. 또한, 끝까지 최선을 다해 임하기 위해  목표와 우선순위를 되새겨보려 한다.

 


 

✔️ 프리코스 목표와 구현 우선순위

▷ 프리코스 목표

 이번 6기에 지원하신 분들이 상당히 많은 것으로 예상된다.(입학 설명회 때 1500여명 정도 참여하신 것을 보았다... ) 아직 온보딩은 시작하지 않았지만 벌써부터 양질의 자료를 공유하는 분들도 계신다. 저렇게 열정적인 분들과 함께 우아한테크코스에 참여하게 된다면 정말인지 너무 재미있을 것 같다. 나도 프리코스 커뮤니티 열심히 참여해야지!!

 

 하지만 그 전에 프리코스를 참여하는 본 목적은 조금은 생소했던 자바 컨벤션과 클린 코드에 대한 고찰을 통해 전보다 더 성장하는 것이다. 지금까지 프로그래밍을 하며 자바 컨벤션에 대해서는 어느 정도 알고있었지만 클린코드에 대한 지식은 많지 않았던 것 같다.(반성하자...)

4주 간의 프리코스동안 시험기간과 캡스톤디자인 프로젝트 모두 겹치지만, 이 시간을 나를 위한 투자라는 생각으로 즐기며 후회없이 최선을 다하고싶다.(솔직히 정말 많이 간절하다...🥺) 끝까지 최선을 다하자. 그리고 이왕이면 잘하자.

▷ 프리코스 구현 우선순위

1. 기능 구현에 집중하자

    - 이 때 최대한 자바 컨벤션과 클린 코드 규칙에 맞게 구현하려 노력한다. 구현에 더 우선순위를 두어야겠지만 코드가 너무 응집되어 있으면 나중에 리팩토링 하기 힘들 것이다.

    - 또한 한 개의 메소드에 너무 많은 책임을 부여하지 않도록 기능 리스트를 상세하게 명시하자.

2. 구현이 끝나면 리팩토링하자

    - 마감기한을 반드시 지키기 위해 구현에 먼저 집중한 이후 남은시간동안 리팩토링할 부분들을 찾을 것이다.


✔️ 우아한테크코스 클린 코드 규칙

https://github.com/woowacourse/woowacourse-docs/blob/main/cleancode/pr_checklist.md#%ED%95%9C-%EB%A9%94%EC%84%9C%EB%93%9C%EC%97%90-%EC%98%A4%EC%A7%81-%ED%95%9C-%EB%8B%A8%EA%B3%84%EC%9D%98-%EB%93%A4%EC%97%AC%EC%93%B0%EA%B8%B0indent%EB%A7%8C-%ED%97%88%EC%9A%A9%ED%96%88%EB%8A%94%EA%B0%80

 

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

 

Google Java Style Guide

1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein. Like ot

google.github.io

https://myeonguni.tistory.com/1596

 

[코딩규칙] 자바 코딩 규칙(Java Code Conventions)

[코딩 규칙] 자바코딩 규칙(Java Code Conventions) 자바 프로그래밍 언어 코딩 규칙원문 : Oracle / Code Conventions for JavaTM Programming Language / 1999-4-20번역 : Kwangshin's Positive Blog, Java Code Conventions / 자바 코딩

myeonguni.tistory.com

 


 

✔️ Git 커밋 컨벤션 설정

프리코스 커뮤니티에서 공유해주신 정보다. 많이 고민하고 있던 부분이였다. 감사합니다!!!

https://pgmjun.tistory.com/88

 

[우테코 5기] 프리코스 3주차 회고록

이번 3주차는 진행했던 모든 주차들 중 가장 아쉬운 주차였다. 평소 제대로 실천하지 못하여 익숙하지 않은 Domain 로직과 UI로직 분할을 너무 만만하게 봤던 나의 실책이었다. Enum을 사용해야한다

pgmjun.tistory.com