자바 리팩토링 예제

리팩터링Guru/리팩터링 예제에서 새 릴리스에 대한 알림을 원하십니까? 여러 return 문을 리팩터링하고 제거하면 코드를 더 깨끗하게 만드는 데 확실히 도움이 됩니다. 대부분 때문에 그들 없이 if/then/else 문을 더 깊은 중첩을 사용 하 여 다음 코드 못생긴 보고 시작, 작은 조각으로 세분화 하지 않는 한. 그렇다면 리팩터링이 필요한 장소에서 어떻게 끝날 수 있을까요? 코드를 작성하거나 기존 코드를 변경할 때마다 기술 부채가 발생합니다(자세한 내용은 주제에 대한 전문가 리팩터링 문서 참조). 우리는 (당연히) 나중에 고통에 대한 보상을 받아들입니다. 정리 코드를 작성하는 데 시간을 할애하는 대신 작업을 완료하고 다음 작업으로 이동합니다. 우리는 중지하고 우리의 방법이 깨끗한지 확인하거나 우리가 우리의 상속 계층 구조를 단순화 할 수 있는지 반영하고 확인하는 데 시간이 걸릴 시간이 없습니다. 마감일이 다가오고, 집에 있는 가족들, 그리고 우리가 주의를 기울여야 하는 가족들, 그리고 완수해야 할 다른 많은 일들이 있을 때, 뭔가 를 주어야 합니다. “나는 그것이 내가 보고 싶은 방식이 아니라는 것을 알고 있지만, 그것은 작동합니다. 나는 약간의 자유 시간이있을 때 나중에 이것으로 돌아올 것이다.” 그러나 우리는 벤자민 프랭클린이 말했듯이: 리팩터링에 대해 자세히 알아보려면 자연스러운 출발점은 이제 두 번째 판에 있는 내 리팩터링 책입니다. 리팩터링이 잘 알려지지 않은 기술이었을 때 2000년에 오리지널 에디션을 썼습니다. 18년 이후에 업데이트했을 때 리팩터링은 숙련된 프로그래머를 위한 일반 도구가 되었습니다. 그러나 새로운 사람들은 정기적으로 우리의 직업을 입력하고 리팩터링에 대해 배울 필요가있다.

이 책은 그들이 배우고 숙련 된 개발자가 자신의 기술을 전달하는 데 도움이됩니다. 눌은 악, 그것은 잘 알려진 사실이다. 그러나, 그들은 여전히 어디에 나. 예를 들어 스프링 부팅 v2.0.0.RELEASE및 null 키워드7,055회를 포함하는 243K LoC에는 4,100개의 Java 파일이 있습니다. 즉, 35개 줄마다 약 1개의 null이 있습니다. 리포지토리에 아직 존재하지 않는 프로그래밍 언어의 간단한 예제입니다. 이들은 최소한의 노동을 필요로하지만 많은 가치를 생산하고 있습니다. Java 폴더를 복사하여 모든 폴더를 원하는 언어로 번역할 수 있습니다. 리팩터링은 버그가 나타나고 문제를 수정해야 하거나 코드를 확장해야 하는 경우에 유용할 수 있습니다. 유지 관리 또는 새로운 기능을 추가하는 동시에 리팩터링을 사용하면 추가 테스트 단계가 필요하지 않으므로 관리 및 개발자가 이를 허용할 가능성이 높아집니다. 대화형 예제입니다. 여기에는 더 많은 작업이 필요합니다.

“대화형” 폴더에서 README 파일을 참조하십시오. 시작하는 가장 좋은 방법은 Java 시나리오를 하나씩 가져 와서 언어로 번역하는 것입니다. 이 편집기로 가져 와서 시나리오를 디버깅 할 수 있습니다 : http://refactoring.guru/editor/ (거기에서 시나리오를 내보내고 정기적 인 끌어오기 요청을 수행해야합니다). 리팩터링은 코드의 외부 동작을 변경하지 않고 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 변경하는 프로세스입니다. 리팩터링은 단순히 “관찰 가능한 동작을 변경하지 않고 기존 코드의 디자인을 개선”하는 것을 의미합니다. 원래 스몰토크 커뮤니티에서 구상되었으나 이제는 주류 개발 기술이 되었습니다. 리팩터링 도구를 사용하면 리팩터링을 매우 쉽게 적용할 수 있지만 개발자가 리팩터링이 수행하는 작업을 이해하고 이 상황에서 도움이 되는 이유를 이해하는 것이 중요합니다. 이 리포지토리는 Refactoring.Guru 프로젝트의 일부입니다.

리팩터링은 모든 개발자가 보유할 수 있는 가장 기본적인 기술 중 하나입니다. 종종 비공식적인 방식으로 언급되지만 리팩터링은 목표, 효과적인 테스트 및 인기있는 리팩터링 기술에 대한 지식을 요구하는 잘 훈련 된 프로세스입니다.