Notice
Recent Posts
Recent Comments
«   2024/09   »
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
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

Clean Code / Refactoring 본문

IT/Computer Science

Clean Code / Refactoring

빌드이너프 2023. 1. 25. 09:28

클린 코드(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