리팩토링 예제

일반적인 문장과 은유는 모두 아주 좋지만 예를 보여주는 것이 좋습니다. 그리고 최근에 저는 나눌 가치가 있다고 생각했던 모범을 직접 생각해 보라고 생각했습니다. 이 코드를 읽으면서 무엇을하고 있는지, 그리고 어떻게 빨리 만드는지 알아 내려고하기보다는 먼저 정리하기로 결정했습니다. 어떻게 작동하는지 알아내기 전에 정리하시겠습니까? 예. 리팩터링이라는 기술을 사용합니다. 내 책은 짧은 예와 더 이상, 실제로 책 긴 예를 모두 가지고있다. 코드는 무료로 다운로드할 수 있습니다. VB 코드 예제 C # 코드 예제 나는이 작업을 너무 자주 수행하므로 grep -r, `Grep 리팩터링`을 호출했습니다. 구문인 다른 언어는 Java, C++ 및 Python과 같이 펄의 언어에서 영감을 받지 않고 자동으로 이런 종류의 작업을 수행할 수 있는 도구가 있습니다. Perl의 구문이 복잡하기 때문에 이 것을 바로잡기 위한 몇 가지 노력이 진행 중이지만 여전히 대부분 수작업으로 해야 합니다. 리팩터링은 노예처럼 따라야 할 규칙 집합이 아니라 도구 모음입니다. 그리고 다른 도구처럼 당신은 신중하게 그것을 사용하지 않을 때를 고려해야합니다.

문 핸들을 함께 수집해도 디자인이 향상되지 않으므로 그렇게 하지 않습니다. 특정 요구 사항에 대한 간단한 예제 프로젝트를 개발하는 것이 좋습니다. 마틴 파울러(Martin Fowler)는 그의 책에서 리팩터링을 „코드의 외부 동작을 변경하지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 변경하는 프로세스“라고 정의합니다. 즉, 코드를 정리하지만 코드를 변경하지 않습니다. 리팩터링이 프로그래밍 워크플로우에 맞출 수 있는 다양한 방법이 있습니다. 한 가지 유용한 개념은 준비 리팩터링입니다. 여기서 새 기능을 추가하고 기존 코드가 기능을 쉽게 추가할 수 있도록 구조화되지 않은 것을 알 수 있습니다. 그래서 먼저 기능을 쉽게 추가 할 수있는 구조로 코드를 리팩터링하거나 켄트 벡 (Kent Beck)이 „쉽게 변경 한 다음 쉽게 변경하십시오“라고 말했습니다. 메서드 호출 리팩터링 이러한 기술을 단순화하면 메서드 호출을 더 간단하고 이해하기 쉽게 만들 수 있습니다. 이렇게 하면 클래스 간의 상호 작용에 대한 인터페이스가 단순화됩니다. 예: 매개 변수 추가, 매개 변수 제거, 이름 바꾸기 방법, 수정자에서 별도의 쿼리, Method 매개 변수화, 매개 변수 개체 소개, 전체 개체 보존, 설정 방법 제거, 매개 변수를 명시적 메서드로 대체, 매개 변수를 메서드로 바꾸기 전화 등