반응형
Recent Posts
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
관리 메뉴

코딩Puri의 코딩풀이

1. 코드 품질 본문

좋은 코드, 나쁜 코드

1. 코드 품질

코딩Puri 2024. 2. 16. 14:04
반응형

✨ 사용될 용어 정리

ㅇ 코드베이스(codebase): 소프트웨어를 빌드할 수 있는 코드가 저장된 저장소(repository)
ㅇ 코드 제출(submitting code): 가끔 '코드 커밋' 혹은 '풀 요청 병합'이라고도 불린다.
ㅇ 코드 검토(code review): 많은 회사나 조직에서 코드를 코드베이스에 제출하기 전 다른 엔지니어가 변경된 내용을 검토하는 것
ㅇ 제출 전 검사(pre-submit check): '병합 전 훅', '병합 전 점검', '커밋 전 점검'이라고 함
ㅇ 배포(release): 다양한 품질 보증 검사 후 실제 실행 환경에 배포
ㅇ 프로덕션(production): 소프트웨어가 서버나 시스템에 배포될 때, 데스트 환경과 같이 내부적으로 사용하는 것이 아닌 실제 서비스되는 환경

🔁 코드 -> 실제 서비스까지의 주요 단계

  1. 개발자가 코드베이스의 로컬 복사본을 가지고 작업하며 코드 변경
  2. 작업 끝날 시 -> 코드 검토를 위해 변경된 코드 병합 요청
  3. 다른 개발자가 코드 검토 및 변경 제안
  4. 작성자와 검토자 모두 동의 시 코드베이스에 병합
  5. 배포는 코드베이스를 가지고 주기적으로 일어난다.
  6. 테스트에 실패하거나 코드가 컴파일되지 않으면 코드베이스에 병합되는 것을 막거나 코드가 배포되는 것을 막는다.

📶 코드 품질의 목표

1️⃣ 코드는 작동해야 한다.

2️⃣ 코드는 작동이 멈추면 안 된다.

3️⃣ 코드는 변경된 요구 사항에 적응할 수 있어야 한다.

4️⃣ 코드는 이미 존재하는 기능을 중복 구현해서는 안된다.

♻️ 코드 재사용의 이점

1️⃣ 시간과 노력을 절약한다. -> 재작성을 위한 검색 및 정보 수집 ❌

2️⃣ 버그 가능성을 줄여준다. -> 예외 범위 예측 가능

3️⃣ 기존 전문지식을 활용한다.

4️⃣ 코드가 이해하기 쉽다.

🫀 코드 품질의 핵심 요소

1️⃣ 코드는 읽기 쉬워야 한다.

2️⃣ 코드는 예측 가능해야 한다.

3️⃣ 코드를 오용하기 어렵게 만들어야 한다.

4️⃣ 코드를 모듈화 해야 한다.

5️⃣ 코드를 재사용 가능하고 일반화할 수 있게 작성해야 한다.

6️⃣ 테스트가 용이한 코드를 작성하고, 제대로 테스트

💛 요약정리

ㅇ 좋은 소프트웨어를 만들려면 고품질 코드를 작성해야 한다.
ㅇ 실제 서비스 환경에서 실행되는 소프트웨어가 되기 전에 코드는 일반적으로 여러 단계의 검사와 테스트를 통과해야 한다.
ㅇ 버그나 제대로 동작하지 않는 기능이 사용자에게 제공되거나 비즈니스에 중요한 시스템에서 실행되는 것을 이러한 검사를 통해 막을 수 있다.
ㅇ 테스트는 코드를 작성하는 모든 단계에서 고려하는 것이 좋다. 코드를 다 작성하고 난 후에 고려하는 것이 아니다.
ㅇ 고품질 코드를 작성하면 처음에는 시간이 오래 걸리지만, 중장기적으로는 개발 시간이 단축되는 경우가 많다.
반응형