반응형
리팩토링 |
I. 리팩토링의 대상 소스코드, 코드스멜의 개요
가. 코드스멜(Code Smell)의 정의
- 읽기 어렵거나 중복된 로직을 가진 프로그램처럼 개발자가 이해하거나 유지보수하기 어려워 리팩토링의 대상이 되는 소스코드
나. 코드스멜의 종류
- 중복된 코드, 긴 메소드, 큰 클래스, 긴 파라미터 리스트, 두가지 이상의 이유로 수정되는 클래스, 여러 클래스를 동시 수정, 다른 클래스를 지나치게 애용, 유사 데이터들의 그룹 중복, 기본 데이터 타입 선호, Switch/if 문장, 게으른 클래스, 주석
II. 단순하고 직접적으로 작성된 소스코드, 클린코드의 개요
가. 클린코드(Clean Code)의 정의
- 코드를 작성한 의도와 목적이 명확하여 다른 사람이 쉽게 읽을 수 있도록 설계자의 의도를 반영하여 단순하고 직접적으로 작성된 코드
나. 소프트웨어 노후화 증상
- 오염, 문서부족, 의미 없는 이름, 높은 결합도, 아키텍처 침식
다. 클린코드 작성 규칙
작성규칙 |
내용 |
의미 있는 이름 |
변수, 클래스, 메소드 명을 의도가 분명한 이름을 사용 |
간결하고 명확한 주석 |
주석이 필요한 경우 최대한 간결하고 명확하게 작성 |
보기 좋은 배치 |
읽는 사람이 편하게 읽을 수 있도록 구성 |
작은 함수 |
함수는 작게, 제어문 안의 내용은 한 줄 작성이 이상적 |
읽기 쉬운 제어 흐름 |
조건, 루프, 흐름을 통제하는 선언문이 코드에 있으면 가독성 저하 |
오류처리 |
오류코드의 반환보다는 예외처리 사용 |
반응형
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
테스트 케이스(Test Case) (0) | 2021.02.02 |
---|---|
소프트웨어 테스트 프로세스 (0) | 2021.02.02 |
소프트웨어 테스트(Software Test) (0) | 2021.02.02 |
SPA(Single Page Web Application) (0) | 2021.02.01 |
리팩토링(Refactoring) (0) | 2021.02.01 |
TDD(Test-Driven Development) (0) | 2021.02.01 |
웹 접근성(Web Accessibility) (0) | 2021.02.01 |
UX (User eXperience) (0) | 2021.02.01 |
댓글