본문 바로가기
IT기술노트/소프트웨어공학

코드스멜, 클린코드

by 비트코기 2021. 2. 1.

리팩토링


I. 리팩토링의 대상 소스코드, 코드스멜의 개요

가. 코드스멜(Code Smell)의 정의

   - 읽기 어렵거나 중복된 로직을 가진 프로그램처럼 개발자가 이해하거나 유지보수하기 어려워 리팩토링의 대상이 되는 소스코드

나. 코드스멜의 종류

   - 중복된 코드, 긴 메소드, 큰 클래스, 긴 파라미터 리스트, 두가지 이상의 이유로 수정되는 클래스, 여러 클래스를 동시 수정, 다른 클래스를 지나치게 애용, 유사 데이터들의 그룹 중복, 기본 데이터 타입 선호, Switch/if 문장, 게으른 클래스, 주석


II. 단순하고 직접적으로 작성된 소스코드, 클린코드의 개요

가. 클린코드(Clean Code)의 정의

   - 코드를 작성한 의도와 목적이 명확하여 다른 사람이 쉽게 읽을 수 있도록 설계자의 의도를 반영하여 단순하고 직접적으로 작성된 코드

나. 소프트웨어 노후화 증상

   - 오염, 문서부족, 의미 없는 이름, 높은 결합도, 아키텍처 침식

다. 클린코드 작성 규칙

작성규칙

내용

의미 있는 이름

변수, 클래스, 메소드 명을 의도가 분명한 이름을 사용

간결하고 명확한 주석

주석이 필요한 경우 최대한 간결하고 명확하게 작성

보기 좋은 배치

읽는 사람이 편하게 읽을 수 있도록 구성

작은 함수

함수는 작게, 제어문 안의 내용은 한 줄 작성이 이상적

읽기 쉬운 제어 흐름

조건, 루프, 흐름을 통제하는 선언문이 코드에 있으면 가독성 저하

오류처리

오류코드의 반환보다는 예외처리 사용

 

반응형

댓글