리팩터링(refactoring) 이란
소프트웨어 공학에서 '결과의 변경 없이, 코드의 구조를 재조정함'을 뜻한다.
여기서 중요한 것은 '결과의 변겨이 없어야' 하며
'구조'를 개선하는 것이다.
주로 가독성을 높이고 유지보수를 편하게 한다.
버그를 없애거나 새로운 기능을 추가하는 행위는 아니다.
C# 에서 리팩터링 방법
메서드 추출(Extract Method): 긴 메서드를 작은 기본적으로 분리하여 가독성을 좋게 합니다. 하나의 메서드가 여러 기능을 수행하거나 굉장할 경우 해당 기능을 작은 메서드로 분리하여 코드를 더 이해하기 쉽게 만들 수 있습니다.
변수 이름 바꾸기: 효과를 더 신기하고 이해하기 쉽게 변경하여 코드가 독성을 개선합니다. 코드를 이해하기 쉽게 나중에 유지 관리할 때 필요할 때 요청할 수 있습니다.
복제 코드 제거(Remove Duplication): 구문을 분리하는 기능을 추출하여 메소드나 클래스로 분리합니다. 이렇게 하면 코드를 분리하여 유지 보수를 개선할 수 있습니다.
조건문 단순화(Simplify Conditionals): 파생 조건문을 포함하여 코드를 이해하기 쉽게 합니다. 복잡한 논리식을 분해하여 여러 대체문으로 가능하거나, 삼항 대신을 활용하여 코드를 불편할 수 있습니다.
클래스 분리(분할 클래스): 하나의 클래스가 너무 많은 권한을 가지고 있다면, 관련 기능을 가진 클래스로 분리하여 코드를 참여도를 제어할 수 있습니다.
갤러리 구조 개선(상속 구조 개선): 의심스러운 구조가 있거나 취약한 관계로 인해 클래스 관계를 다시 설계하여 폴더 구조를 개선합니다. 필요한 경우 인터페이스를 활용하여 유연한 구조를 만들 수 있습니다.
루프 단순화(Simplify Loops): 반복문을 더 간단하게 작성하여 코드를 불편하고 오류 가능성을 줄입니다. LINQ를 사용하여 처리하는 것도 좋은 방법이 될 수 있습니다.
익명 메서드와 람다식 사용(익명 메서드 및 람다식 사용): 간단한 함수를 더 간단하게 할 수 있는 익명 메서드와 람다식을 활용하여 코드를 더 쉽게 쓰기 시작합니다.
UN 핸들링 개선(오류 처리 개선): 분리되는 일회용 핸들링을 가루로 처리하는 코드를 더 많이 처리하게 구조화하여 코드의 가독성과 은접함을 강화합니다.
코드 정리(코드 정리): 빼기 공백, 구문, 잔존 코드 등을 제거하여 코드를 깔끔하게 유지합니다.
리팩토링 할 때 주의 할 점
리팩토링은 주의를 기울여야 한다.
1. 변경된 인스턴스 기능이 작동하도록 테스트하는 것이 중요합니다.
2. 코드 리뷰를 통해, 다른 개발자들의 휴식을 듣는 것도 좋은 방법입니다.
출처 | 위키, ChatGPT
'기타' 카테고리의 다른 글
Fiddler 도구란 | ChatGPT (0) | 2023.11.17 |
---|---|
테스트 코드에서 Happy Path 와 Edge Cases 란 무엇인가 | ChatGPT (0) | 2023.08.26 |
엑셀 다른 탭에 있는 값을 가져오는 방법 함수 INDIRECT (ChatGPT) (0) | 2023.08.13 |
엑셀 다른 탭 페이지로 이동하는 함수 HYPERLINK | ChatGPT (0) | 2023.08.12 |
현재 창 새 탭에서 보기 단축키 크롬 (0) | 2023.08.02 |