Skip to content
@Wanted-Pre-Onboarding-Backend7-R

원티드 프리온보딩 인턴십 백엔드 7차 R팀

  • Korea, South

원티드 프리온보딩 백엔드 인턴십 (2023.10~11)

Intro

name role github email
강석원 팀원 @piopoi kangsw1988@gmail.com
모장현 팀원 @mojh7 mjh79017901@gmail.com
박준승 팀원 @OldRabbit736 junseung736@gmail.com
이소현 팀원 @sohyuneeee sohyuney@naver.com
정준희 팀장 @JoonheeJeong jeonggoo75@gmail.com

안녕하세요.

원티드에서 진행하는 백엔드 프리온보딩 인턴십 (2023.10.23~2023.11.17) R팀입니다.

저희가 과제 수행 시에 사용한 언어 및 환경, 수행해야 할 과제 정보 및 진행 현황, 프로젝트를 진행하고 지키고자 협약한 규칙에 대한 내용이 정리된 다음의 목차를 클릭하시면 원하시는 내용을 확인할 수 있습니다.




Environments


Java Spring Boot



Projects



Conventions

Code

  • 변수명: boolean인 경우 형용사, 그 외 명사

  • 함수명: 동사 현재형으로 시작

  • 클래스명: 명사

  • if, for 중괄호 한 줄이라도 항상 치기

  • 커밋하기 전에

    • import 정리: ctrl + alt(option) + o
    • line formatting: ctrl(command) + alt(option) + l
    • 마지막 빈 줄 추가
    /** 예시 **/
    public class Clazz {
    
        public int addCountIfValid(int count, boolean isValid) {
            if (isValid) {
                return count + 1;
            }
            return count;
        }
    }
    // 마지막 빈 줄
  • Optional 줄바꿈

    Member member = memberRepository.findByEmail(dto.getEmail())
          .orElseThrow(NotFoundMemberByEmailException::new);`
  • 객체 생성 규칙

    • 외부에서 직접적인 new 지양하고 내부적으로 활용 @Builder 및 정적 팩토리 메서드 활용
      • 정적 팩토리 메서드 이름은 단일 인자일 경우 from, 다중 인자일 경우는 of로 명명
    • Bean 제외 DTO, Entity들은 @All-/@Required-ArgsContructor 활용 제한, 직접 코드로 생성자 작성 및 private/protected 등으로 잠그기
    • 목적: 같은 타입의 필드 연속될 때 1) 잘못된 값 입력하는 human error 최소화, 2) 필드 순서를 바꿀 경우 IDE에 의한 리팩토링이 적용되지 않는 Lombok 에러 방지, 3) 가독성을 위한 작성법 통일을 위하여
     @Getter
     @NoArgsConstructor(access = AccessLevel.PROTECTED)
     @EqualsAndHashCode(of = "accountName", callSuper = false)
     @Entity
     public class Member extends BaseEntity {
     
         @Column(nullable = false, unique = true)
         private String accountName;
     
         @Column(nullable = false)
         private String email;
     
         @Column(length = 60, nullable = false)
         private String password;
     
         @Column(length = 6, nullable = false)
         private String approvalCode;
     
         @Column(nullable = false)
         private Boolean isApproved;
     
         @Enumerated(EnumType.STRING)
         private Authority authority;
     
         @Builder
         private Member(String accountName, String email, String password, String approvalCode, Boolean isApproved) {
             this.accountName = accountName;
             this.email = email;
             this.password = password;
             this.approvalCode = approvalCode;
             this.isApproved = isApproved;
             authority = Authority.ROLE_USER;
         }
     
         public static Member of(MemberJoinRequest dto, String encodedPassword, String approvalCode) {
             return builder()
                     .accountName(dto.getAccountName())
                     .email(dto.getEmail())
                     .password(encodedPassword)
                     .approvalCode(approvalCode)
                     .isApproved(false)
                     .build();
         }
     }

Git

  • git commit rules

    type description
    feat 새로운 기능 추가
    fix 버그 및 로직 수정
    refactor 기능 변경 없는 코드 구조, 변수/메소드/클래스 이름 등 수정
    style 코드 위치 변경 및 포맷팅, 빈 줄 추가/제거, 불필요한 import 제거
    test 테스트 코드 작성 및 리팩토링
    setup build.gradle, application.yml 등 환경 설정
    docs 문서 작업
    # commit title format
    git commit -m "{커밋 유형} #{이슈번호}: #{내용}"
    
    # example of git conventions
    git commit -m "refactor #125: `ChatService` 중복 로직 추출
    
    예외 압축
    메소드 위치 변경
    메소드 이름 변경
    "
  • git branch rules

    # branch name format
    git checkout -b "feat/#{이슈번호}-{내용}"

Popular repositories Loading

  1. .github .github Public

  2. sns-feed-integration sns-feed-integration Public

    소셜 미디어 통합 Feed 서비스

    Java 1

  3. skeleton skeleton Public

    Java

  4. tasty-finder tasty-finder Public

    지리기반 맛집 추천 웹 서비스

    Java 1

  5. daily-budget daily-budget Public

    오늘의 예산 알림 서비스 API

    Java

  6. budget-manager budget-manager Public

    예산 관리 웹 애플리케이션

    Java

Repositories

Showing 8 of 8 repositories
  • spend-tracker Public

    개인 재무 관리 웹 애플리케이션

    Wanted-Pre-Onboarding-Backend7-R/spend-tracker’s past year of commit activity
    Java 0 1 2 0 Updated Dec 15, 2023
  • expense-advisor Public

    예산 관리 서비스

    Wanted-Pre-Onboarding-Backend7-R/expense-advisor’s past year of commit activity
    Java 0 0 4 0 Updated Dec 13, 2023
  • daily-budget Public

    오늘의 예산 알림 서비스 API

    Wanted-Pre-Onboarding-Backend7-R/daily-budget’s past year of commit activity
    Java 0 0 7 0 Updated Dec 4, 2023
  • budget-manager Public

    예산 관리 웹 애플리케이션

    Wanted-Pre-Onboarding-Backend7-R/budget-manager’s past year of commit activity
    Java 0 0 1 0 Updated Dec 2, 2023
  • sns-feed-integration Public

    소셜 미디어 통합 Feed 서비스

    Wanted-Pre-Onboarding-Backend7-R/sns-feed-integration’s past year of commit activity
    Java 0 1 0 0 Updated Nov 15, 2023
  • tasty-finder Public

    지리기반 맛집 추천 웹 서비스

    Wanted-Pre-Onboarding-Backend7-R/tasty-finder’s past year of commit activity
    Java 0 1 3 0 Updated Nov 14, 2023
  • .github Public
    Wanted-Pre-Onboarding-Backend7-R/.github’s past year of commit activity
    0 0 0 0 Updated Nov 1, 2023
  • skeleton Public
    Wanted-Pre-Onboarding-Backend7-R/skeleton’s past year of commit activity
    Java 0 0 0 0 Updated Oct 25, 2023

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…