«refactoring» 태그된 질문

리팩토링은 기존 코드를 재구성하여 외부 동작을 변경하지 않고 내부 구조를 변경하는 체계화 된 기술입니다. 코드 리팩토링에 대한 개방형 질문은 Stack Overflow에서 주제를 벗어 났지만 코드 검토에는 적합 할 수 있습니다.

23
너무 많은 (6+) 매개 변수가있는 메서드를 리팩터링하는 가장 좋은 방법은 무엇입니까?
때때로 불편한 매개 변수 수가있는 메소드를 발견합니다. 종종 그들은 생성자 인 것 같습니다. 더 나은 방법이 있어야 할 것 같지만 그것이 무엇인지 모르겠습니다. return new Shniz(foo, bar, baz, quux, fred, wilma, barney, dino, donkey) 매개 변수 목록을 표현하기 위해 구조체를 사용하려고 생각했지만, 문제를 한 곳에서 다른 곳으로 옮기고 그 과정에서 …
102 refactoring 

11
누군가 사용하지 않는 코드를 삭제 (또는 유지)하는 장점을 설명 할 수 있습니까?
프로젝트에서 사용하지 않는 코드를 삭제해야한다는 말을 많이 들었습니다. 그러나 나에게 "왜?"는 명확하지 않습니다. 삭제하지 않은 포인트는 다음과 같습니다. 코드가 이미 작성되었으며 노력이 소요됩니다. 코드는 구문 및 실제 환경에서 테스트 될 수 있습니다. 잘 구성되어 있으면 (그룹화, 개별 패키지, 느슨하게 결합 된 등) 전체 코드 분석이나 리팩토링에 방해가되지 않습니다. 나중에 코드가 …
102 refactoring 

1
ReSharper를 사용하여 기존 인터페이스에 메서드 추출
인터페이스를 구현하는 클래스에 새 메서드를 추가하고 있으며 "Extract Interface"리팩토링을 사용하고 인터페이스에 메서드를 추가하는 것을 좋아합니다. 그러나 ReSharper가 이미 존재하는 인터페이스에 메소드 서명 추가를 지원하지 않는 것 같습니다. 내가 뭔가 놓친 것 같은 느낌이 든다. 어떻게 든 할 수 있다고 확신한다. 먼저 인터페이스에 메서드 서명을 추가해야 할 수도 있지만 이것이 제가 …

14
Vim에서 리팩토링
물론 IDE에서 리팩토링 할 수 있다는 사실은 많은 사람들에게 귀중한 일입니다. 코딩 할 때는 거의하지 않지만 다른 소스를 편집 할 때는 시도해 볼 수 있습니다. Vim의 여러 파일에서 이러한 사소한 작업을 어떻게 수행합니까? Ruby 리팩토링을위한 이 플러그인 을 찾았 지만 "모든"언어는 어떻습니까?
99 vim  refactoring 

7
Vim에서 변수 이름 변경
많은 단일 문자 변수 이름을 포함하는 Vim을 통해 많은 C / Perl 코드를 읽으려고합니다. 코드를 읽는 동안 변수의 이름을 좀 더 의미있는 것으로 변경하여 나머지 부분을 더 빨리 읽을 수 있도록 도와주는 명령이 있으면 좋을 것입니다. Vim에이 작업을 신속하게 수행 할 수있는 명령이 있습니까? 나는 정규식이 작동하지 않을 것이라고 생각합니다. …

30
어떤 C # 용 ReSharper 4+ 라이브 템플릿을 사용하십니까? [닫은]
현재이 질문은 Q & A 형식에 적합하지 않습니다. 사실, 참고 문헌 또는 전문 지식이 답변을 뒷받침 할 것으로 기대하지만이 질문은 토론, 논쟁, 여론 조사 또는 확장 된 토론을 유도 할 가능성이 높습니다. 이 질문이 개선되고 다시 열릴 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으세요. 휴일 팔년 전에 …

8
C #에서 여러 문자열 요소 바꾸기
이 작업을 수행하는 더 좋은 방법이 있습니까? MyString.Trim().Replace("&", "and").Replace(",", "").Replace(" ", " ") .Replace(" ", "-").Replace("'", "").Replace("/", "").ToLower(); 하나의 작업으로 유지하기 위해 문자열 클래스를 확장했지만 더 빠른 방법이 있습니까? public static class StringExtension { public static string clean(this string s) { return s.Replace("&", "and").Replace(",", "").Replace(" ", " ") .Replace(" ", …

5
Visual Studio 2015에서 누락 된 리팩터링 메뉴
Visual Studio 2015에서 오른쪽 클릭 컨텍스트 메뉴를 찾는 데 문제가 있습니다. 내 프로젝트 나 작업중인 파일에 문제가 없다는 것을 알고 있습니다. Visual Studio 2013에서 오른쪽 클릭 컨텍스트 리팩터링 메뉴를 찾을 수 있습니다. 그러나 Visual Studio 2015에서는 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴에 리 팩터 컨텍스트 메뉴가 없습니다. 어디로 갔습니까? 어떻게 …

16
Ctrl + R, Ctrl + R 명령이 작동하지 않음
Visual Studio 2008에서 Ctrl+ R, Ctrl+ R명령 을 사용하여 변수의 이름을 바꾸려고합니다. 하단에 다음과 같은 오류 메시지가 표시됩니다. "키 조합 ( Ctrl+ R, Ctrl+ R)은 현재 사용할 수없는 명령 (& Rename ...)에 바인딩되어 있습니다." 나는 그것을 실행하고 있지 않거나 파일 수정을 금지 할 수 있다고 생각할 수있는 모든 것을 실행하고 …

6
IntelliJ에서 Java 클래스의 메서드를 재정렬하는 간단한 방법은 무엇입니까?
IntelliJ의 클래스 소스 파일 내에서 수동으로 코드를 잘라내어 붙여 넣는 것보다 더 간단한 방법이 있습니까? 요즘에는 레거시 코드를 리팩토링하는 동안이 기능이 자주 필요합니다. 예를 들어 소스 코드에서 관련 메서드를 서로 가깝게 이동하는 경우입니다. Eclipse AFAIK에는 IntelliJ의 구조보기와 유사한보기가 있으며 여기에서 메소드를 끌어서 놓을 수 있습니다. 그러나 이것은 IntelliJ에서 작동하지 않으며 …


10
리팩토링이란 무엇이며 코드 만 수정하는 것은 무엇입니까?
리팩토링은 "기능이 변경되지 않도록 프로그램의 구조를 변경하는 것"이라는 것을 알고 있습니다. 나는 대학에서 마지막 해 프로젝트에서 함께 일하고있는 몇몇 사람들과 이야기를 나누었고 그들이 리팩토링에 대해 훨씬 더 광범위한 (더 나은 단어를 원하기 위해)보기를 가지고 있다는 사실에 놀랐습니다 . 리팩토링을 메서드 추출 및 클래스 이름 바꾸기와 같은 것으로 간주합니다. 또한 (자바와 …

8
"서명 된 / 서명되지 않은 불일치"경고 (C4018)를 어떻게 처리합니까?
저는 고성능과 낮은 메모리 오버 헤드를 염두에두고 C ++로 작성된 많은 계산 코드로 작업합니다. STL 컨테이너 (대부분 vector)를 많이 사용하며 거의 모든 단일 함수에서 해당 컨테이너를 반복합니다. 반복 코드는 다음과 같습니다. for (int i = 0; i < things.size(); ++i) { // ... } 그러나 서명 된 / 서명되지 않은 …
80 c++  refactoring 

12
리팩토링 목적으로 속성 만있는 클래스를 갖는 것이 괜찮습니까?
30 개의 매개 변수를 사용하는 메서드가 있습니다. 매개 변수를 가져 와서 하나의 클래스에 넣어서 하나의 매개 변수 (클래스)를 메소드에 전달할 수있었습니다. 리팩토링의 경우 모든 매개 변수가 포함되어 있더라도 모든 매개 변수를 캡슐화하는 개체를 전달하는 것이 완벽하게 괜찮습니까?
79 c#  oop  refactoring 

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.