나쁜 코드(Bad Code)를 배제하고 클린 코드(Clean Code)로 작성하는 것
클린 코드(Clean Code)
: 누구나 쉽게 이해하고 수정 및 추가할 수 있는 단순, 명료한 코드
: 잘 작성된 코드
나쁜 코드(Bad Code)
: 로직(Logic)이 복잡하고 이해하기 어려운 코드
스파게티 코드: 서로 복잡하게 얽혀 있는 코드
외계인 코드: 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 코드
가독성
: 누구든지 쉽게 읽을 수 있도록 작성
: 이해하기 쉬운 용어 사용, 들여쓰기 기능 사용
단순성
: 간단하게 작성
: 한 번에 한 가지 처리
: 클래스/메소드/함수 등을 최소 단위로 분리
의존성 배제
: 코드가 다른 모듈에 미치는 영향 최소화
: 코드 변경 시 다른 부분에 영향이 없도록 작성
중복성 최소화
: 코드 중복 최소화
: 중복된 코드 삭제
: 공통된 코드 사용
추상화
: 상위 클래스/메소드/함수에서 애플리케이션의 특성 나타냄
: 하위 클래스에서 상세 내용 구현
코딩 스타일, 코딩 표준, 코드의 복잡도, 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구
종류
: pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura
종류
: Avalanche, Valgrind