«dry» 태그된 질문

DRY는 "자신을 반복하지 마십시오"의 줄임말입니다. 이 패러다임은 코드와 데이터 중복성을 피하도록 옹호합니다.

3
단일 어설 션 단위 테스트가 DRY 원칙을 위반하지 않습니까?
단위 테스트를 작성할 때마다 테스트가 실패 할 때 디버깅을 쉽게하기 위해 항상 테스트마다 단일 어설 션을 시도했습니다 . 그러나이 규칙을 따르면 각 테스트에서 동일한 코드를 지속적으로 복사하고 더 많은 테스트를 통해 다시 읽고 유지 관리하기가 더 어려워집니다. 단일 어설 션 테스트는 DRY를 위반합니까? 그리고 방법마다 하나의 테스트를하는 것과 같이 좋은 …

10
테스트 대 자신을 반복하지 마십시오 (건조)
왜 시험을함으로써 자신을 반복하는 것이 그렇게 장려 되는가? 테스트는 기본적으로 코드와 동일한 것을 표현하는 것으로 보이므로 코드의 복제 (개념이 아닌 구현)입니다. DRY의 궁극적 목표가 모든 테스트 코드의 제거를 포함하지 않습니까?
11 testing  dry 

5
아키텍처 설명 문서가 DRY 원칙을 위반합니까?
DRY 원리 (자신을 반복하지 말 것) 는 "모든 지식은 시스템 내에서 하나의 명백하고 권위있는 표현을 가져야한다"고 말합니다. 대부분의 경우 이것은 코드를 의미하지만 종종 설명서로 확장되기도합니다. 모든 소프트웨어 시스템은 선택 여부에 상관없이 아키텍처를 가지고 있다고합니다. 다시 말해, 구축 한 소프트웨어에는 구조가 있으며 "구축 된"구조는 소프트웨어의 아키텍처입니다. 빌드 된 소프트웨어 시스템에는 아키텍처가 …

3
DRY 또는 Command-Query-Separation을 타협해야합니까?
최근에는 명령 및 쿼리 방법 인 방법을 리팩토링했습니다. 하나의 명령 방법과 하나의 쿼리 방법으로 분리 한 후 코드에서 명령을 호출 한 다음 쿼리에서 값을 얻는 여러 위치가 있음을 알았습니다. 이것은 DRY 원칙을 위반하는 것처럼 보입니다. 그러나 해당 공통 코드를 메소드로 랩핑하는 경우 해당 메소드는 명령과 쿼리입니다. 이것이 허용됩니까?

6
DRY 원리의 해석
지금은 코딩에서 DRY (Do n't Repeat Yourself)라는 개념으로 어려움을 겪고 있습니다. 너무 복잡해지기를 두려워하는이 기능을 만들고 있지만 DRY 원칙을 따르려고합니다. createTrajectoryFromPoint(A a,B b,C c,boolean doesSomething,boolean doesSomething2) 내가 말을해야이 기능은 3 개 입력 매개 변수를 다음 함수는 부울 조합 주어진 약간 다른 것을 할 것 doesSomething등을 doesSomething2. 그러나 내가 겪고있는 문제는이 …
10 java  design  dry 

3
중복 코드를 제거하는 방법 (일반)?
OO 언어 (예 : Java로 제한되지 않음)에서 발생 범위에 따라 중복 코드를 어떻게 수정합니까? 나는 예를 들어 시작할 것이다. 동일한 클래스 (범위)에서 추출 방법 리팩토링 (수정)을 수행하십시오. 동일한 계층 구조 (범위)의 클래스에서 추출 방법 및 풀업 (수정)을 수행합니다. ...

7
건조 원칙 위반
이 반 패턴의 이름이 어딘가에있을 것입니다. 그러나 나는 반 패턴 문헌에 대해 잘 알지 못한다. 다음 시나리오를 고려하십시오. or0클래스의 멤버 함수입니다. 더 좋든 나쁘 든 클래스 멤버 변수에 크게 의존합니다. 프로그래머 A가 와서을 or0호출하는 대신 기능이 필요합니다 or0. 프로그래머 A는 전체 클래스를 복사하고 이름을 바꿉니다. 내가 or0말했듯이, 기능에 대한 멤버 …

5
코드를 확장하기 어려운 추상화가 너무 많음
코드베이스에서 추상화가 너무 많거나 적어도 처리하는 데 문제가 있습니다. 코드베이스의 대부분의 메소드는 코드베이스의 최상위 A를 취하도록 추상화되었지만이 상위의 하위 B에는 이러한 메소드 중 일부의 논리에 영향을주는 새로운 속성이 있습니다. 문제는 입력이 A로 추상화되고 A 에이 속성이 없기 때문에 해당 속성에서 해당 속성을 확인할 수 없다는 것입니다. B를 다르게 처리하는 새로운 …

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