우아한테크코스/6기 프리코스

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

Jihyun's Devstory 2023. 10. 19. 09:57

 

 오늘 오후 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