우리의 코드베이스에서 일반적으로 사용하는 방법 중 하나는 철자가 잘못되었습니다.
이것은 단순히 철자가 틀리기 때문에 단순히 나를 자극하지는 않지만 더 중요하게는 처음 입력 할 때 항상 이름이 잘못되도록합니다 (그리고 나서 "오, 맞습니다.
원래 방법을 약간 변경하고 있습니다. 난 그냥 괴물 방법의 이름을 바꿀 수 있습니까?
우리의 코드베이스에서 일반적으로 사용하는 방법 중 하나는 철자가 잘못되었습니다.
이것은 단순히 철자가 틀리기 때문에 단순히 나를 자극하지는 않지만 더 중요하게는 처음 입력 할 때 항상 이름이 잘못되도록합니다 (그리고 나서 "오, 맞습니다.
원래 방법을 약간 변경하고 있습니다. 난 그냥 괴물 방법의 이름을 바꿀 수 있습니까?
답변:
난 그냥 괴물 방법의 이름을 바꿀 수 있습니까?
즉, 코드가 API로 릴리스 된 경우 일반적으로 철자가 틀린 메소드를 그대로두고 올바른 이름의 메소드로 전달해야합니다 ( 언어가 해당 기능을 지원하는 경우 사용되지 않음으로 표시 ).
이러한 리팩토링을 피해야하는 경우가 있습니다.
메소드가 공용 인터페이스에서 사용되는 경우 정규 예제의 맞춤법 참조 자 에 HTTP 리퍼러 지금 철자를 변경하면 너무 많은 영향을 줄 것이기 때문에, 잘못된 맞춤법이 유지되고있다.
코드베이스가 테스트에 포함되지 않은 경우 모든 리팩토링은 회귀 테스트를 수행 할 수 있도록 테스트 코드를 수행해야합니다. 테스트 중이 아닌 코드베이스를 리팩토링하는 것이 특히 위험합니다. 시간이 많으면 테스트를 추가하여 시작하십시오. 당신이 시간 압력 하에서 일하는 경우, 미묘한 버그가 발생할 위험을 감수하는 것이 정시에 배송하려는 경우 최선의 방법은 아닙니다.
이 방법을 비정상적인 방식으로 사용할 수있는 경우 (Ctrl + F 또는 자동 리팩토링 도구를 통해) 실제로 사용하기가 불가능합니다. 예를 들어 C #에서는 리플렉션을 통해 메서드를 호출하여 Visual Studio의 이름 바꾸기 대화 상자를 사용할 수 없습니다. JavaScript에서는 inside라는 함수 eval()
를 찾기가 어렵습니다. PHP에서 변수 변수는 문제를 일으킬 수 있습니다.
프로젝트의 규모가 크고 다른 팀이이 방법을 사용할 수있는 경우 이것은 첫 번째 요점과 비슷합니다. 즉, 다른 팀에 제공하는 인터페이스는 공용 인터페이스로 간주 될 수 있습니다.
인생에 중요한 프로젝트를 다루는 경우. 방법의 이름을 변경하고 환자가 승인 된 방사선 또는 셔틀이 속도를 잘못 계산하는 열 배를받지 않도록하기 위해 몇 개월의 서류 작업을 정당화하는 데 맞춤법 오류가 너무 중요하지 않을 수 있습니다.
다른 상황에서는 메소드 이름을 자유롭게 바꾸십시오.
나는 몇 달 전에 (다른 이유로) 이것을했습니다. 내가 취한 단계 (언어는 Perl이었다) :
얼마 후 이전 이름의 메소드를 제거하십시오.
물론, 마일리지는 다를 수 있습니다.
기존 코드를 손상시키지 않는 좋은 방법은 다음과 같이 새 메소드 이름을 이전 메소드에 연결하는 것입니다.
private void MyNewMethodName()
{
TheOldMethodName();
}
그런 다음 이전 방법을 더 이상 사용하지 않는 것으로 표시합니다 (언어가이를 지원하는 경우). 이렇게하면 기존 코드가 계속 작동하며 코드베이스에서 오래된 철자법 실수를 모두 점차적으로 제거 할 수 있습니다. 결국 메소드 본문을 복사하여 새 메소드에 붙여넣고 이전 메소드를 삭제할 수도 있습니다.
/ 편집 ivo가 주석에서 말했듯이 : 더 좋은 방법은 코드를에서 TheOldMethodName
로 옮기고 MyNewMethodName
이전에서 새 메소드를 호출하는 것입니다. 이것은 또한 코드가 속한 곳을 개발자가 이해하는 데 도움이되는 이점이 있습니다.