코딩Puri의 코딩풀이
1. 코드 품질 본문
반응형
✨ 사용될 용어 정리
ㅇ 코드베이스(codebase): 소프트웨어를 빌드할 수 있는 코드가 저장된 저장소(repository)
ㅇ 코드 제출(submitting code): 가끔 '코드 커밋' 혹은 '풀 요청 병합'이라고도 불린다.
ㅇ 코드 검토(code review): 많은 회사나 조직에서 코드를 코드베이스에 제출하기 전 다른 엔지니어가 변경된 내용을 검토하는 것
ㅇ 제출 전 검사(pre-submit check): '병합 전 훅', '병합 전 점검', '커밋 전 점검'이라고 함
ㅇ 배포(release): 다양한 품질 보증 검사 후 실제 실행 환경에 배포
ㅇ 프로덕션(production): 소프트웨어가 서버나 시스템에 배포될 때, 데스트 환경과 같이 내부적으로 사용하는 것이 아닌 실제 서비스되는 환경
🔁 코드 -> 실제 서비스까지의 주요 단계
- 개발자가 코드베이스의 로컬 복사본을 가지고 작업하며 코드 변경
- 작업 끝날 시 -> 코드 검토를 위해 변경된 코드 병합 요청
- 다른 개발자가 코드 검토 및 변경 제안
- 작성자와 검토자 모두 동의 시 코드베이스에 병합
- 배포는 코드베이스를 가지고 주기적으로 일어난다.
- 테스트에 실패하거나 코드가 컴파일되지 않으면 코드베이스에 병합되는 것을 막거나 코드가 배포되는 것을 막는다.
📶 코드 품질의 목표
1️⃣ 코드는 작동해야 한다.
2️⃣ 코드는 작동이 멈추면 안 된다.
3️⃣ 코드는 변경된 요구 사항에 적응할 수 있어야 한다.
4️⃣ 코드는 이미 존재하는 기능을 중복 구현해서는 안된다.
♻️ 코드 재사용의 이점
1️⃣ 시간과 노력을 절약한다. -> 재작성을 위한 검색 및 정보 수집 ❌
2️⃣ 버그 가능성을 줄여준다. -> 예외 범위 예측 가능
3️⃣ 기존 전문지식을 활용한다.
4️⃣ 코드가 이해하기 쉽다.
🫀 코드 품질의 핵심 요소
1️⃣ 코드는 읽기 쉬워야 한다.
2️⃣ 코드는 예측 가능해야 한다.
3️⃣ 코드를 오용하기 어렵게 만들어야 한다.
4️⃣ 코드를 모듈화 해야 한다.
5️⃣ 코드를 재사용 가능하고 일반화할 수 있게 작성해야 한다.
6️⃣ 테스트가 용이한 코드를 작성하고, 제대로 테스트
💛 요약정리
ㅇ 좋은 소프트웨어를 만들려면 고품질 코드를 작성해야 한다.
ㅇ 실제 서비스 환경에서 실행되는 소프트웨어가 되기 전에 코드는 일반적으로 여러 단계의 검사와 테스트를 통과해야 한다.
ㅇ 버그나 제대로 동작하지 않는 기능이 사용자에게 제공되거나 비즈니스에 중요한 시스템에서 실행되는 것을 이러한 검사를 통해 막을 수 있다.
ㅇ 테스트는 코드를 작성하는 모든 단계에서 고려하는 것이 좋다. 코드를 다 작성하고 난 후에 고려하는 것이 아니다.
ㅇ 고품질 코드를 작성하면 처음에는 시간이 오래 걸리지만, 중장기적으로는 개발 시간이 단축되는 경우가 많다.
반응형