HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🦞
프로그래머스 데브코스
/
2차 프로젝트 컨벤션

2차 프로젝트 컨벤션

생성일
Jun 20, 2022 05:55 AM
태그

Convention

  1. Page Info
    1. page
    2. size
    3. total elements
  1. 패키지 구조 확인
    1. 도메인 별로 분리
    2. exception 처리용 패키지
    3. validation 처리용 패키지 (utils?)
    4. jwt
    5. configuration
  1. Method 네이밍
    1. find → get → show
    2. create
    3. update
    4. delete
  1. 변수명
  1. 예외 처리
    1. global exception handler
    2. error code
    3. custom exception
  1. Validation 처리 방법
    1. utils에서 null처리 함수
    2. 각 엔티티 별 레코드 존재여부 확인 함수ㄱ ㅏ필요할듯? 얘네는 못묶나?
    3. 서비스 레이어에서의 validation이 필요할지… dto와 entity로 충분하지 않을지
  1. dto 변환 위치
    1. 서비스에서…
      1. 컨트롤러에서 처리하는 것에 비해 파라미터가 현저히 적어짐
      2. 홍구님 왈) 엔티티가 한 레이어를 벗어나지 않도록 관리해라 → 서비스 레이어 밖으로 벗어나지 않게 할 수 있음
    2. dto 에는..?
        • 개인적으로 생성자 파라미터로 entity를 받아서 dto를 만드는 것을 선호함
            1. 큰 이유는 없고 간단해서?
        • dto 내부에 toEntity 로직을 만드는 것은 추천받지 않음
          • 캡스톤 디자인 멘토님께서 entity 관련된 것은 entity class에서 처리하는 것이 좋다고 함. 이펙티브 자바에 나오는 내용인듯
  1. test 방법
    1. service
      1. 메소드 별 성공 테스트 1개, 실패 테스트 N개?
    2. controller
      1. 출력 값 보다도 상태코드, 에러 여부에 집중해서
      2. 출력 값은 사실 서비스 테스트에서 증명이 돼야 정상임
  1. 의존성
    1. maven vs gradle
      1. 그래도 maven 배웠는데 maven 써보는 것도 괜찮을 듯
    2. 필요한 라이브러리 확인
        • Java 17 v
        • Spring boot 2.6.8, Spring Data JPA, Spring WEB,
        • Junit5, mockito, Rest
        • MySQL, H2. Redis
        • api 명세(Swagger, Restdocs)
        • Docker, WAS(Tomcat, Undertow)
  1. Must Have API 분담
    1. Domain까지 분담
      1. 개발하면서 차차 분석해 나가기로
  1. Github Policy
    1. Commit, Push 방식 (Hook 쓸건지)
      1. hook이 필요할까?
        1. 그냥 체크만 해주는 훅
          1. [Git Hook] Git Hook 사용하여 Java 코딩 컨벤션 지키기
            코딩 컨벤션은 일종의 개발자들 사이의 규칙입니다. 코딩 컨벤션을 지켜 전체적으로 일관성있는 코드를 작성함으로써 유지보수성 을 높일 수 있습니다. 아래 링크에서 Google과 Naver의 Java 코딩 컨벤션을 살펴볼수 있습니다. Google Java Style Guide https://google.github.io/styleguide/javaguide.html#s3.4.1-one-top-level-class 캠퍼스 핵데이 Java 코딩 컨벤션 https://naver.github.io/hackday-conventions-java/#class-noun Git Hook을 통해 push 후, commit 완료 후 등 특정 이벤트가 생겼을 때 자동으로 특정 스크립트를 실행하도록 할 수 있습니다.
            [Git Hook] Git Hook 사용하여 Java 코딩 컨벤션 지키기
            https://velog.io/@qotndus43/Git-Hook-Git-Hook-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-Java-%EC%BD%94%EB%94%A9-%EC%BB%A8%EB%B2%A4%EC%85%98-%EC%A7%80%ED%82%A4%EA%B8%B0
            [Git Hook] Git Hook 사용하여 Java 코딩 컨벤션 지키기
    2. 코드 리뷰 방식 (로직 위주)
      1. test code로 기능 명세 후, 작성하면 로직 알아보기 편할 듯
      2. 하지 말자 의견
      3. 머지데이
      4. 스크럼 때 자기 코드 간략하게 짠 거 설명 + 이슈, 막힌 점 이야기 하기
    3. 브랜치 네이밍
      1. Github flow, git flow
        1. 깃 플로우 너무 어려워보이는데….