«refactoring» 태그된 질문

리팩토링은 기존 코드를 재구성하여 외부 동작을 변경하지 않고 내부 구조를 변경하는 훈련 된 기술입니다.

6
TDD를 사용할 때 기능을 제거하는 방법
TDD에 관한 텍스트에서 리팩토링 단계에서 종종 "중복 제거"또는 "가독성 향상"에 대해 읽습니다. 그러나 사용하지 않는 기능을 제거하는 이유는 무엇입니까? 예를 들어, C메소드 a()와 클래스가 있다고 가정 해 봅시다 b(). 이제에 도입 된 방법을 사용 f()하는 것이 좋을 것이라고 생각합니다 C. 실제로 정의 / 설명 된 단위 테스트를 제외한 f()모든 호출을 …

3
TDD 및 리팩토링의 어려움 (또는 왜 이것이 더 고통 스럽습니까?)
나는 TDD 접근법을 사용하도록 가르치고 싶었고 한동안 작업하고 싶었던 프로젝트를 가지고있었습니다. 그것은 큰 프로젝트가 아니기 때문에 TDD의 좋은 후보가 될 것이라고 생각했습니다. 그러나 뭔가 잘못되었다고 생각합니다. 예를 들어 보겠습니다. 높은 수준에서 내 프로젝트는 프로젝트를보다 쉽게 ​​추적하고 관리 할 수있는 Microsoft OneNote 용 추가 기능입니다. 또한 언젠가는 나만의 맞춤형 스토리지와 백엔드를 …

8
개발시 동료와의 거래, 조언이 필요함 [폐쇄]
여기에 무엇이 요청되는지 말하기가 어렵습니다. 이 질문은 모호하거나 모호하거나 불완전하거나 지나치게 광범위하거나 수사적이며 현재 형태로 합리적으로 대답 할 수 없습니다. 다시 열 수 있도록이 질문을 명확하게 설명 하려면 도움말 센터를 방문하십시오 . 휴일 팔년 전에 . 이 질문은 Software Engineering Stack Exchange에서 응답 할 수 있기 때문에 Stack Overflow에서 마이그레이션 …


6
코드베이스를 리팩토링하는 동안 다른 사람들이 신속하게 커밋하는 방법은 무엇입니까?
나는 결국 공개 소스가 될 비공개 프로젝트를 진행하고 있습니다. 우리는 몇 명의 팀원을 보유하고 있으며 앱을 구축 할 수있는 기술을 충분히 갖추고 있지만 깨끗하고 아름답고 가장 중요한 장기 유지 보수 코드를 작성할 수있는 전담 개발자는 아닙니다. 코드베이스를 리팩터링하기로 설정했지만 정기적으로 연락하지 않는 다른 국가의 팀원이 완전히 별도의 것을 업데이트 할 …

7
80 % 이상 변경 한 경우 클래스 파일에서 작성자 이름을 변경해야합니까?
자동화 된 UI 테스트를 위해 기존 Java 테스트 클래스 세트를 리팩토링하고 있습니다. 때때로 나는 수업 파일을 크게 변경하거나 완전히 개조하는 결과를 얻었습니다. 이것은 전체 클래스를 다시 작성할 때 주석 섹션의 저자 이름을 내 것으로 변경해야한다고 생각합니다. 내가 탐욕 스럽습니까? 아니면 내 이름을보고 의심이가는 경우 물어 보는 것이 도움이 될까요?

6
자체 문서화 코드와 Javadocs?
최근에 나는 현재 다루고있는 코드베이스의 일부를 리팩토링하는 일을 해왔다. 나 자신을 더 잘 이해하고있을뿐 아니라 코드를 다루는 다른 사람들이 더 쉽게 이해할 수 있도록하기 위해서다. 나는 그 생각의 측면에 의지하는 경향이 자기 문서화 코드가 좋은 것입니다 . 나는 그것이 더 깨끗하다고 ​​생각하고 코드가 스스로를 말하면 글쎄 ... 훌륭 합니다. 반면에 …

3
모놀리스에서 마이크로 서비스로 마이그레이션 할 때 외래 키 제약 조건을 처리하는 방법은 무엇입니까?
우리 팀은 단일 ASP.NET 응용 프로그램에서 .NET Core 및 Kubernetes로 마이그레이션하고 있습니다. 코드 변경이 예상대로 진행되는 것처럼 보이지만 팀에서 데이터베이스와 관련하여 많은 불일치가 발생합니다. 우리는 현재 전체 비즈니스에 대한 모든 데이터를 저장하는 다소 큰 SQL Server 데이터베이스를 보유하고 있습니다. 우리는 코드를 하나의 (논리적) 데이터베이스의 카탈로그 데이터, 다른 데이터베이스의 인벤토리 데이터, …

7
코드 리팩토링 시간을 정당화하는 방법?
70k LOC 이상의 매우 큰 프로젝트가 있어야합니다. 이 프로젝트에는 Core Framework 및 다른 부분에서도 일부 코드 리팩토링이 필요합니다. 리팩토링 프로젝트를 시작할 때 정해진 시간이 없었습니다. 그러나 시간이 흐르면서 40 명 이상의 개발자가 프로젝트를 공동으로 진행했습니다. 내 관점에서 볼 때 필연적입니다. 적절한 소프트웨어 개발 원칙을 주장하고 방어하는 데있어 핵심은 무엇입니까?

3
요구 사항을 기다리는 동안 조잡한 코드에 대한 영향이 적은 리팩토링 및 코드 정리
나는 엄청나게 느슨한 제품의 기존 코드베이스를 물려 받았습니다. 근본적인 디자인은 불행히도 완전한 리 팩터 (HIGH 커플 링, LOW 응집력, 코드 중복, 기술 설계 문서 없음, 단위 테스트 대신 통합 테스트) 없이는 거의 할 수없는 일입니다. 이 제품은 역사, 위험에 대한 내성이 거의없는 중요한 "현금 소"고객에 대한 높은 노출, 그리스인을 홍당무하게 …

8
다른 사람이 리팩토링 문제가 있습니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식에 의해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 육년 전 …

6
열거 형은 코드 냄새가 아닌 경우는 언제입니까?
양도 논법 나는 객체 지향 실습에 관한 많은 모범 사례를 읽었으며, 읽은 거의 모든 책은 열거 형이 코드 냄새라고 말하는 부분을 가지고있었습니다. 열거 형이 유효 할 때 설명하는 부분을 놓친 것 같습니다. 따라서 열거 형이 코드 냄새 가 아니며 실제로 유효한 구조 가되는 지침 및 / 또는 사용 사례를 찾고 …

5
과도한 메소드 과부하를 피하는 방법은 무엇입니까?
우리는 응용 프로그램의 소스 코드에 꽤 많은 장소가 있습니다. 한 클래스에는 동일한 이름과 다른 매개 변수를 가진 많은 메소드가 있습니다. 이러한 메소드에는 항상 '이전'메소드의 모든 매개 변수와 하나 이상의 매개 변수가 있습니다. 그것은 긴 진화 (레거시 코드)와 이러한 생각 (믿습니다)의 결과입니다. " A를 수행하는 메소드 M이 있습니다. A + B를 …

1
3의 규칙에서 세 번째까지 기다릴 이유가 있습니까?
Wikipedia에서 " Rule of Three "라는 기사 를 보았습니다. 3의 규칙은 복제 된 코드 조각이 새로운 프로 시저로 대체되어야하는시기를 결정하기위한 코드 리팩토링 경험 법칙입니다. 코드를 한 번 복사 할 수 있지만 동일한 코드를 세 번 사용하면 새 프로 시저로 추출되어야합니다. 이 규칙은 Martin Fowler가 리팩토링에 도입했으며 Don Roberts에 귀속되었습니다. 나는 …

7
일반적인 코드로 코드를 리팩터링하는 방법은 무엇입니까?
배경 C # 프로젝트를 진행 중입니다. 저는 C # 프로그래머가 아니며 주로 C ++ 프로그래머입니다. 그래서 기본적으로 쉽고 리팩토링 작업이 할당되었습니다. 코드는 엉망입니다. 거대한 프로젝트입니다. 고객이 새로운 기능과 버그 수정을 통해 빈번한 릴리스를 요구함에 따라 다른 모든 개발자는 코딩하는 동안 무차별 대입 방식을 취해야했습니다. 코드는 유지 관리가 불가능하며 다른 모든 …

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