«refactoring» 태그된 질문

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

17
팀의 리팩토링 우선 순위를 어떻게 정할 수 있습니까?
매일 작업하는 코드베이스에는 자동화 된 테스트, 일관성없는 이름 지정 및 "이 이유는 무엇입니까?", "필요한지 확실하지 않음"또는 "이 방법의 이름이 잘못되었습니다"와 같은 수많은 주석이 없으며 코드가 소스 컨트롤을 사용한다는 사실에도 불구하고 "변경 로그" 우리의 코드베이스는 리팩토링을 사용할 수 있습니다. 우리는 항상 버그를 수정하거나 새로운 기능을 추가하는 작업을 수행하므로 코드를 더 효율적이고 …

9
리팩토링하기 전에 단위 테스트를 작성하는 방법은 무엇입니까?
"리팩토링 할 때 단위 테스트를 어떻게 유지합니까?"와 유사한 질문에 대한 질문에 대한 답변을 읽었습니다. 필자의 경우 시나리오는 우리가 가지고있는 일부 표준을 검토하고 따라야 할 프로젝트가 주어 졌다는 점에서 약간 다릅니다. 현재 프로젝트에 대한 테스트는 전혀 없습니다! 서비스 계층에서 DAO 유형 코드를 혼합하지 않는 등 더 잘 수행 할 수 있다고 …

12
코드 검토를 통해 보이 스카우트 규칙 및 기회 적 리팩토링 조정
나는 보이 스카우트 규칙 에 대한 위대한 신자입니다 . 모듈을 체크 아웃 할 때보 다 항상 깨끗하게 점검하십시오. "원래 작성자가 누구든, 모듈을 개선하기 위해 항상 작은 노력을 기울이면 어떤 결과를 얻었습니까? 결과는 어떻습니까? 우리 모두는이 단순한 규칙을 따랐고, 우리는 소프트웨어 시스템의 끊임없는 열화의 종말을 보게 될 것입니다. 대신 우리의 시스템은 …

2
“기능 부러움”코드 란 무엇이며 왜 코드 냄새로 간주됩니까?
SO 에 대한 이 질문 에서는 OP가 생각하는 기능 부러움 코드를 수정하는 방법에 대해 설명합니다 . 이 멋진 문구가 인용 된 또 다른 예는 최근 프로그래머가 여기 에 주어진 대답에 있습니다 . 나는 그 대답에 대한 정보를 묻는 의견 을 들었지만 Q & A를 따르는 프로그래머가 feature-envy 라는 용어의 의미를 …

11
계단식 리팩토링을 피하려면 어떻게해야합니까?
프로젝트가 있습니다. 이 프로젝트에서는 기능을 추가하기 위해 기능을 리팩터링하고 기능을 추가하기 위해 프로젝트를 리팩터링했습니다. 문제는 내가 끝났을 때 그것을 수용하기 위해 약간의 인터페이스 변경이 필요하다는 것이 밝혀졌습니다. 그래서 변경했습니다. 그런 다음 소비하는 클래스는 새로운 인터페이스 측면에서 현재 인터페이스로 구현할 수 없으므로 새로운 인터페이스도 필요합니다. 이제 3 개월 후 거의 무관 …

14
함수에서 파라미터를 주문하는 가장 좋은 방법은 무엇입니까?
때때로 (드물게), 적절한 양의 매개 변수를 취하는 함수를 만드는 것이 가장 좋은 경로 인 것 같습니다. 그러나 내가 할 때 종종 매개 변수의 순서를 임의로 선택하는 것처럼 느낍니다. 나는 가장 중요한 매개 변수를 먼저 사용하여 "중요도 순서"로 이동합니다. 더 좋은 방법이 있습니까? 선명도를 높이는 매개 변수를 정렬하는 "모범 사례"방법이 있습니까?

21
비전문가에게 리팩토링을 어떻게 설명합니까?
기술이 아닌 사람 (일반적으로 PHB 또는 고객)에게 리팩토링 (및 기술 부채)을 설명하는 방법은 무엇입니까? ( " 눈에 띄는 차이 가 없는데 한 달 동안 작업 비용이 듭니까 ?!") 업데이트 지금까지 모든 답변에 감사드립니다.이 목록은 적절한 사람들을 지적 할 수있는 몇 가지 유용한 유사점을 제공 할 것이라고 생각합니다 (PHB에 대한 참조를 …

5
최종 사용자 명명법이 변경 될 때 코드와 데이터의 이름을 얼마나 바꾸어야합니까?
오래 전에 워크 플로 대기열에 이미지를 추가 한 후 사용자가 이미지를 "수락"할 수있는 기능을 추가했습니다. 우리는 잘못된 용어를 사용했으며 사용자는 실제로 이미지를 "승인"했습니다. 인터페이스에서 승인 승인을 변경하는 것은 쉽습니다. 한 단어 만 바꾸면됩니다. 그러나 CSS 클래스 이름에서 데이터베이스 값에 이르기까지 "accept"라는 단어로 모든 레이어를 프로그래밍했습니다. 버튼을 녹색으로 바꾸는 CSS 클래스 …

15
스프린트 하나보다 오래 걸리는 리팩토링을 어떻게 처리합니까?
500K 줄 이상의 코드베이스로 작업합니다. 리팩토링이 심각하게 필요합니다. 일반적인 2 주 스프린트보다 오래 걸리는 리팩토링 노력이 확인되었습니다. 이 사이트의 다른 답변에서 제안한 것처럼 작은 작업으로 나눌 수 없습니다. 반복 종료시 제품이 작동해야하며 부분 리팩토링은 항목 간의 종속성이 끔찍하므로 시스템을 사용할 수없는 상태로 둡니다. 그렇다면이 장애물에 접근하는 가장 좋은 방법은 무엇입니까? …

10
부풀린 GUI 코드 작성을 피하는 가장 좋은 방법은 무엇입니까?
GUI 코드로 작업 할 때마다 코드가 다른 종류의 코드보다 빠르게 팽창하는 경향이 있습니다. 또한 리팩토링하기가 더 어려워 보입니다. 다른 종류의 코드에서는 꽤 쉽게 리팩터링 할 수 있습니다. 대규모 클래스를 더 작은 기능으로 분해 할 수 있습니다. 대부분의 GUI 프레임 워크를 사용하면 위젯 / 컨트롤 / 클래스가 필요한 프레임 워크에 바인딩됩니다. …
48 refactoring  gui 

7
리팩토링의 잠재적 가치를 측정하는 방법
기술 부채가있는 오래된 대규모 프로젝트에서 리팩토링 코드의 이점을 어떻게 안정적으로 추정하거나 측정 할 수 있습니까? 예를 들어, 이전 언어로 작성된 소프트웨어 스택 솔루션 내에 일부 구성 요소가 있고 최신 언어로 작성된 일부 구성 요소가 있다고 가정하십시오. 개발 팀은 새로운 기능과 버그 수정을이 솔루션에 지속적으로 추가하고 있습니다. 개발자는 기존의 오래된 언어 …

8
코드 유지 관리 : 일관성을 유지하기 위해 새 코드를 확장 할 때 나쁜 패턴을 유지합니까?
프로젝트의 기존 모듈을 확장해야합니다. 나는 그 방식이 마음에 들지 않습니다 (복사 / 붙여 넣기 코드와 같은 많은 안티 패턴 관련). 여러 가지 이유로 완전한 리팩터링을 수행하고 싶지 않습니다. 내가해야합니까 : 기존 관리자가 잘못 생각하더라도 다음 관리자에게 혼란을주지 않고 코드베이스와 일관성을 유지하기 위해 기존 규칙을 사용하여 새로운 메소드를 작성합니까? 또는 코드에 …


6
큰 파일의 리팩토링을 처리하는 가장 좋은 방법은 무엇입니까?
나는 불행히도 소프트웨어 품질 지침이 항상 따르지 않는 일부 파일이있는 더 큰 프로젝트를 진행하고 있습니다. 여기에는 여러 가지 고유 한 기능이 포함 된 큰 파일 (2000-4000 줄 읽기)이 포함됩니다. 이제이 큰 파일을 여러 개의 작은 파일로 리팩토링하려고합니다. 문제는 이들이 너무 커서 여러 지점의 여러 사람 (포함)이이 파일을 작업하고 있다는 것입니다. …

6
SQL이 더 리팩터링되지 않는 이유는 무엇입니까? [닫은]
누구나 새로운 개발자가 긴 기능을 작성한다는 것을 알고 있습니다. 진행하면서 코드를 더 작은 조각으로 나누는 것이 더 좋아지고 경험에 따라 그렇게하는 것이 중요합니다. SQL을 입력하십시오. 예, 코드에 대한 SQL 사고 방식은 코드에 대한 절차 적 사고 방식과 다르지만이 원칙은 적용 가능한 것처럼 보입니다. 다음과 같은 형식의 쿼리가 있다고 가정 해 …

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