완전한 Java 애플리케이션에서 배치 리팩토링을 수행하는 방법을 찾고 있습니다. 즉, 메소드 메소드 인수를 최종적으로 마무리 할 수 있습니다.Java 메소드 인수를 최종적으로 만들기위한 일괄 리팩토링
여기에있는 누군가가 그런 도구에 대해 알고 있습니까? 또는 Java 소스를 파싱하고 이러한 변경 사항으로 확장 될 수있는 항목.
완전한 Java 애플리케이션에서 배치 리팩토링을 수행하는 방법을 찾고 있습니다. 즉, 메소드 메소드 인수를 최종적으로 마무리 할 수 있습니다.Java 메소드 인수를 최종적으로 만들기위한 일괄 리팩토링
여기에있는 누군가가 그런 도구에 대해 알고 있습니까? 또는 Java 소스를 파싱하고 이러한 변경 사항으로 확장 될 수있는 항목.
IntelliJ에서 최종 변경 될 모든 필드, 로컬 변수 또는 매개 변수를 변경하기 위해 대량 변경을 수행 할 수 있습니다.
옵션을 사용하여 코드 분석을 수행하고 "적용 적용"을 전역 적으로 수행하면 이상한 경우에 항상 100 % 올바르게 표시되지는 않으므로 컴파일을 계속하십시오.
쿨! 아마도 IntelliJ에게 기회를 주어야 할 것 같습니다. 나는 SVN에서 물건을 검사하는 것에 문제가 있었기 때문에 그리 멀지 않았습니다. –
대단히 감사합니다 !!! :-) –
Eclipse 또는 NetBeans에서 그러한 리팩터링에 대해 알지 못합니다. 그러나 괜찮은 정규식 대체가 트릭을 수행합니다. 그렇게해서는 안되는 장소에서 우연히 수행하지 않도록하기 위해 수동으로 교체 할 때마다 확인하십시오. 하지만 수백 가지 수업이있는 경우 실제로는 실현 가능하지 않을 수 있습니다. 이 경우 모든 곳에서 바꾸기를 수행 한 다음 이전 버전과의 diff를 확인하는 것이 유용 할 수 있습니다.
어떤 인수도 덮어 쓰기되어 최종적으로 작성되지 않아야하며, 컴파일하는 동안 명확 해집니다.
Netbeans 7.1beta는 "Inspect and Transform"과 비슷한 것을 시작했습니다. 이미 사용 가능한 예는 사용되지 않은 가져 오기 문을 제거하는 것입니다. 나는이 검사를하는 것이 시간 문제라고 생각한다. –
@JanGoyvaerts 흥미 롭습니다! 보다 강력한 리팩토링은 언제나 좋습니다. 사용하지 않은 가져 오기에 대해서는 Ctrl + Shift + i 키를 사용하여 가져 오기를 수정해야하며 사용되지 않는 항목은 제거해야합니다. 적어도 7.0.1에서는 그렇게합니다. –
Peter Lawrey가 말했듯이 IntelliJ는 그렇게합니다.
분석 -> 코드를 검사 -은 "코드 스타일의 문제"섹션에서>가 정의 프로파일
을, 당신은 :
이 필드를
This inspection reports any fields which may safely be made final. A static field may
be final if it is initialized in its declaration or in one static class initializer, but
not both. A non-static field may be final if it is initialized in its declaration or in
one non-static class initializer or in all constructors.
Powered by InspectionGadgets
지역 최종 수 있습니다 변수 또는 매개 변수는 최종 일 수 있습니다.
This inspection reports parameters or local variables, found in the specified inspection
scope, that may have a final modifier added.
Use check boxes in the inspection options below, to define whether parameters or local
variables (or both) are to be reported.
이렇게하면 안전하게 될 수있는 변수를 최종적으로 만 작성하지만, 찾으려는 변수는 최종이 아닌 상태로 남습니다. 아직도, 그것들을 발견하는 방법입니다.
관심의 대상에서이 작업을 수행하려는 이유는 무엇입니까? – NPE
@aix 솔직히 말해서 필요하지 않은 것처럼 보일 수도 있습니다. 그러나 나는 또한이 스타일을 채택했다. 실수로 메소드 인수를 재 할당하지 않게합니다. 대부분이 문제는 아니지만 인수를 최종적으로 마무리하려는 노력은 거의하지 않습니다. 또한 다른 인수가 일관되게 인수가 끝나지 않은 인수가있는 경우이 인수를 재 지정하려는 경우 (예 : 문자열을 자른 버전으로 바꾸는 경우) 즉시 명확합니다. –
나는이 아이디어에 동정적이지만, 나의 방법은 일반적으로 너무 작아서 단지 여분의 소리 일 뿐이다. 나는 그것을 잠시 시도했지만 포기했다 - 자바는 이미 읽기가 어려웠다. –