-
[ 소프트웨어 공학 ] 클린코드와 리팩토링공부 !/Computer Science 2022. 6. 2. 17:11반응형
클린코드
클린코드란 가독성이 높은 코드를 의미한다
가독성을 높이려면 올바른 네이밍, 오류나 중복이 없거나, 의존성이 낮아야한다
혹은 클래스나 메소드가 한가지 일만 처리하는 것이 가독성을 높일 수 있다
즉 코드가 얼마나 잘 읽히는지 코드가 지저분하지 않고 정리된 코드인지를 나타내는 것을 의미한다
리팩토링
리팩토링이랑 프로그램의 외부 동작은 그대로 둔 채 내부의 코드를 정리하면서 개선하는 것을 의미한다
리모델링을 떠올리면 이해가 쉬운데 프로젝트가 끝나면 지저분한 코드가 존재하게된다
이러한 부분을 개선시키기 위해 필요한 작업으로 코드의 가독성을 높이고 향후 이어질 유지보수에도 도움이 된다
중복된 코드나 긴 메소드, 거대한 클래스, switch 문과 절차지향으로 구현한 코드는 리팩토링이 필요하다
리팩토링의 목적은 성능의 최적화가 아닌 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는것이다
클린코드와 리팩토링의 차이
리펙토링을 더 큰 범주로 이해하면 된다 클린코드는 단순히 가독성을 높이기 위한 작업이고
리펙토링은 클린코드를 포함한 유지보수를 위한 코드 개선이 이루어진다
클린코드와 같은 부분은 설계부터 잘 이루어져 있는 것이 중요하고
리팩토링은 결과물이 나온 이후 수정이나 추가 작업이 진행될 때 개선해나가게 된다
반응형'공부 ! > Computer Science' 카테고리의 다른 글
[ 운영체제 ] 동기와 비동기 Synchronous and Asynchronous (0) 2022.06.15 [ 소프트웨어 공학 ] TDD 테스트 주도 개발 (0) 2022.06.03 [ 소프트웨어 공학] 개발 단계에 따른 테스트 & 블랙박스테스트 / 화이트박스 테스트 (0) 2022.06.02 [Design Pattern] Factory Method (0) 2022.05.26 [Design Pattern] Template Method (0) 2022.05.26