TIL

주상돈·2025년 1월 9일

TIL

목록 보기
12/53

오늘은 팀프로젝트에 들어가기 앞서서 code Convention과 협업에서 쓸 github 커밋 규칙과 같은것을 배웠다.

Code Convention

출처

주요 코드 컨벤션


  • 모든 소스 파일 첫 줄에 저작권 고지하기!
    • 무조건 다음 한 줄을 최상단에 추가하자!
      // Copyright Epic Games, Inc. All Rights Reserved.
      • 이게 누락되면 언리얼 쪽 툴에서 에러가 난다고 한다 무조건 준수!
  • 함수 이름 명명 규칙
    • 함수 이름은 동사 중심으로!
    • MoveActor(), SpawnParticle() 처럼 의미 전달이 확실하게!
  • bool을 반환하는 함수 → ‘질문 형태’로 명명하자!
    • IsReady(), CanSpawn(), ShouldDelete() 처럼 true/false의 의미가 명확하게 드러나야죠!
    • CheckReady()처럼 결과가 참인지 거짓인지 함축적이면, 호출하는 사람이 헷갈릴 수 있어요.
  • 들여쓰기는 탭(Tab)을 쓰기!
    • 들여쓰기: 스페이스 대신 을 사용 (Visual Studio나 IDE에서 탭 크기를 4로 설정).
    • Switch문에선 case마다 break 혹은 ‘falls through’ 표기하기!
    • default 구문도 빠짐없이 작성하기!
    • 빈 케이스(중복 케이스)가 아니라면 반드시 break;return; 같이 종료 구문을 쓰자.
    • 의도적으로 케이스를 2개 이상 거쳐야 할 때는 꼭 // falls through 표기를 핮자!
      • falls through(폴스루)는 특정 case문 다음에 break를 생략했을 때 발생하는 현상이다!

      • 이렇게 하면 의도적으로 여러개의 case문을 실행시킬 수 있다!

        switch (Value)
        {
            case 1:
                // falls through
            case 2:
                ...
                break;
            default:
                break;
        }
  • 주석을 적을 땐 “왜”와 “무엇을” 설명하기!
    • 코드는 최대한 ‘어떤 일을 하는지’가 드러나도록 작성하는게 좋다!
    • 코멘트는 ‘ 이런 처리를 하는지’, ‘이 로직이 무엇을 의미하는지’를 적자.
    • 너무 당연한 코드는 설명할 필요 없고, 의도를 명확히 해야 하는 부분에만 코멘트를 집중!
  • 불필요한 auto(자동 타입 추론) 사용 자제하기!
    • C++에서 auto를 막 쓰면, 코드를 읽는 사람이 타입을 쉽게 알 수 없어서 헷갈린다.
    • 꼭 필요한(람다를 변수에 담거나, 복잡한 이터레이터 타입 등) 경우가 아니면, 직접 타입을 명시!
  • for문을 사용할 땐 범위 기반 for 문을 적극 활용하기!
    • C++11 이상에서는 for (ElementType& Elem : Container) 식으로 깔끔하게 순회할 수 있다.
    • 인덱스가 필요 없고, 단순 반복일 때는 range-based for가 가독성이 좋다.
      TArray<int32> Numbers = {1, 2, 3};
      for (int32 Num : Numbers)
      {
          UE_LOG(LogTemp, Log, TEXT("Number: %d"), Num);
      }
  • const 철저히 사용하기!
    • 함수 파라미터나 멤버 함수에서 수정되지 않는 값에는 const를 붙이자.
    • 읽는 사람에게 “이 변수/함수는 변경되지 않아요!”라고 명시하는 것만으로도 코드 파악이 훨씬 빨라진다.
  • 네이밍은 명확하고 간결하게!
    • 변수, 함수, 클래스 이름은 읽는 사람이 봐도 바로 이해가 가도록 짓습니다.
    • 줄임말이나 약어는 지양하고, 부득이하게 줄이는 경우에도 팀에서 합의된 표준을 따르자.
      • e.g. LastUpdateTimeLUT보다 훨씬 더 읽기 편하다!

Github Rules

깃헙 커밋 규칙(예시)

작업 타입작업내용
✨ update해당 파일에 새로운 기능이 생김
🎉 add없던 파일을 생성함, 초기 세팅
🐛 bugfix버그 수정
♻️ refactor코드 리팩토링
🩹 fix코드 수정
🚚 move파일 옮김/정리
🔥 del기능/파일을 삭제
🍻 test테스트 코드를 작성
💄 stylecss
🙈 gitfixgitignore 수정
🔨 scriptpackage.json 변경(npm 설치 등)
📚 comment주석 추가
💻 init프로젝트 생성

Visual Studio 디버그 팁과 단축키

디버깅 기본

디버깅이란?
코드의 오류를 찾고 수정하며, 프로그램의 동작을 분석하기 위한 핵심 도구

  • 중단점 (Breakpoint)
    • 실행을 특정 지점에서 멈추고 상태를 확인
    • 설정 방법: 코드 줄 번호 왼쪽 클릭 또는 F9
    • ctrl + F9 : 중단점의 활성/비활성
      • 설정을 해제 하지는 않으나, 사용되지는 않음.
    • Ctrl + Alt + B: 중단점 창 실행
      • 모든 중단점을 확인 및 제어 할 수 있는 창을 띄운다.
  • 실행 제어
    • F5: 디버깅 시작/계속
    • Shift + F5 / ctrl + break : 디버깅 중지
    • F10: 한 단계씩 실행 (Step Over)
    • F11: 함수 내부로 진입 (Step Into)
    • Shift + F11: 함수 종료 후 반환 (Step Out)
  • 빠른 보기 (Quick Watch)
    • 변수나 식의 값을 즉시 확인
    • 선택 후 Shift + F9 또는 오른쪽 클릭 후 Quick Watch 선택

Visual Studio 단축키 모음

주요 단축키

  • Ctrl + K, Ctrl + C: 주석 처리
  • Ctrl + K, Ctrl + U: 주석 해제
  • Ctrl + K, D: 코드 정렬
  • Ctrl + M, M: 코드 접기/펼치기
  • Ctrl + Q / Ctrl + T : 검색 기능 열기 (비쥬얼 스튜디오의 기능들)
  • Ctrl + K + O: 헤더 / CPP 전환

탐색 및 작업

  • Ctrl + ,: 전체 파일에서 검색
  • Ctrl + Shift + B: 빌드
  • Ctrl + Tab: 열린 파일 간 이동
  • Ctrl + Alt + L: 솔루션 탐색기 열기
  • Shift + F12 : 참조 호출된 모든 함수 찾기
  • Ctrl + F12 / F12 : 함수 /변수 정의로 이동
  • Ctrl + . + D : 헤더기반 CPP 함수 자동 작성

한번에 너무많은 정보가 들어와서 우선 오늘은 여기까지 정리하고 다시 천천히 보면서 정리하려고 한다.

0개의 댓글