충분히 쌓여가는
Clean Code / Refactoring 본문
클린 코드(Clean Code)
- 잘 잘성되어 가독성이 높고, 단순하며, 의존성을 줄이고, 중복을 최소화하여 깔끔하게 잘 정리된 코드
클린 코드 특징
- 중복 코드 제거로 애플리케이션의 설계가 개선됨
- 가독성이 높으므로 애플리케이션의 기능에 대해 쉽게 이해할 수 있음
- 버그를 찾기 쉬워지며, 프로그래밍 속도가 빨라짐
클린 코드 작성원칙
작성 원칙 | 설명 |
가독성 | 이해하기 쉬운 용어를 사용, 코드 작성 시 들여쓰기 기능 사용 |
단순성 | - 한 번에 한 가지 처리 수행 - 클래스/메서드/함수를 최소 단위로 분리 |
의존성 최소 | - 영향도 최소화 - 코드의 변경이 다른 부분에 영향이 없게 작성 |
중복성 제거 | 중복된 코드를 제거, 공통된 코드 사용 |
추상화 | - 클래스/메서드/함수에 대해 동일한 수준의 추상화 구현 - 상세 내용은 하위 클래스/메서드/함수에서 구현 |
리팩토링(Refactoring)
- 프로그램의 기능을 바꾸지 않으면서 중복제거, 단순화 등을 위해 시스템 재구성한다는 원리
- 유지보수 생산성 향상을 목적으로 기능을 변경하기 않고, 복잡한 소스코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법
- 소프트웨어 모듈의 외부적 기능은 수정하지 않고 내부적으로 구조, 관계 등을 단순화하여 소프트웨어의 유지보수성을 향상시키는 기법
리팩토링 목적
유형 | 설명 |
유지보수성 향상 | 복잡한 코드의 단순화, 소스의 가독성 향상 |
유연한 시스템 | 소프트웨어 요구사항 변경에 유연한 대응 |
생산성 향상 | 정제 및 최적화된 소스의 재사용 |
품질향상 | 소프트웨어 오류발견이 용이하여 품질향상 |
클린 코드와 리팩토링 차이
- 클린 코드는 코드의 가독성을 높이는데 집중했고, 리팩토링은 코드의 가독성과 유지보수를 위한 코드 수정까지 함께 이루어진다고 생각함
- 클린 코드는 VS CODE에서 처음부터 시행(탭 간격을 4칸 2칸 정하듯이)하고, 리팩토링은 완성본이 나온 후 수정 및 추가적인 작업이 진행될 때 개선함
참고자료
수제비 정보처리기사 실기 1-6, 10-77, 10-80
'IT > Computer Science' 카테고리의 다른 글
Test Driven Develop(TDD) (0) | 2023.01.31 |
---|---|
DB Index (0) | 2023.01.30 |
RDBMS / NoSQL (0) | 2023.01.20 |
네이티브 앱 / 웹앱 / 하이브리드 앱 (0) | 2023.01.19 |
Process / Thread (1) | 2023.01.18 |