«dry» 태그된 질문

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

12
프로젝트간에 작은 코드 스 니펫을 공유하기위한 우수 사례
나는 항상 직장에서 DRY 원칙 을 따르려고 노력합니다 . 게으름에서 코드를 반복 할 때마다 나중에 두 위치에서 해당 코드를 유지해야 할 때 물립니다. 그러나 종종 서로 참조 할 수없는 두 프로젝트에서 재사용 해야하는 작은 방법 (어쩌면 10-15 줄의 코드)을 작성합니다 . 이 방법은 네트워킹 / 문자열 / MVVM 등과 관련이있을 …

15
왜 드라이가 중요합니까?
아주 간단합니다. 왜 모든 경우에 적용 가능한 코드와 확장 가능한 데이터를 작성하고 싶을 때 약간의 미세 조정만으로 동일한 프로세스를 몇 번 반복하면 좋습니까? 조만간 다시 편집 할 필요는 없습니다. 그냥 갈 일이 훨씬 적은 것 같습니다 ... function doStuff1(){/*.a.*/} function doStuff2(){/*.b.*/} function doStuff3(){/*.c.*/} 그리고 내가 뭔가를 추가해야한다면 ... function doStuff4(){/*.d.*/} …
81 code-quality  dry 

3
“상속성 구성”이“건조한 원칙”을 위반하고 있습니까?
예를 들어, 다른 클래스를 확장 할 클래스가 있다고 가정합니다. public class LoginPage { public String userId; public String session; public boolean checkSessionValid() { } } 일부 서브 클래스 : public class HomePage extends LoginPage { } public class EditInfoPage extends LoginPage { } 사실, 서브 클래스에는 재정의 할 메소드가 없으며 …

1
관련이 없지만 거의 동일한 코드를 건조
거의 동일한 코드가 있지만 주 변수에서 상속되지 않고 완전히 다른 유형을 사용합니다. 특히 Roslyn에서 C # 및 VB.NET으로 분석기를 작성 중이며 다음과 같은 유형이 있습니다. Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax 코드가 똑같은 일을하고 있기 때문에 가능한 한 DRY를 유지하고 가능한 한 적은 별도의 (그러나 유형과는 다른) 방법으로 나누거나 두 방법이 있기 때문에 완전히 …
33 c#  design  dry 

5
많은 작은 클래스 대 논리적 (그러나) 복잡한 상속
좋은 OOP desing, 깨끗한 코드, 유연성 및 미래의 코드 냄새 방지 측면에서 무엇이 더 좋은지 궁금합니다. 클래스로 표현해야하는 매우 유사한 객체가 많이있는 이미지 상황. 이러한 클래스는 특정 기능이없고 데이터 클래스 만 있으며 이름 (및 컨텍스트)에 따라 다릅니다. 예 : Class A { String name; string description; } Class B { …

9
중복 코드를 제거하기위한 복잡성 추가
일반 기본 클래스에서 모두 상속되는 여러 클래스가 있습니다. 기본 클래스에는 여러 유형의 객체 모음이 포함되어 있습니다 T. 각 자식 클래스는 개체 컬렉션에서 보간 된 값을 계산할 수 있어야하지만 자식 클래스는 다른 유형을 사용하므로 계산은 클래스마다 조금씩 다릅니다. 지금까지 코드를 클래스에서 클래스로 복사 / 붙여 넣기하고 각각을 약간 수정했습니다. 그러나 이제 …

8
'using'키워드를 사용할 때 DRY 원칙을 구현하는 방법은 무엇입니까?
다음 방법을 고려하십시오. public List<Employee> GetAllEmployees() { using (Entities entities = new Entities()) { return entities.Employees.ToList(); } } public List<Job> GetAllJobs() { using (Entities entities = new Entities()) { return entities.Jobs.ToList(); } } public List<Task> GetAllTasksOfTheJob(Job job) { using (Entities entities = new Entities()) { return entities.Tasks.Where(t => t.JobId == …

3
디커플링 트럼프가 REST에서 DRY를 제거합니까?
기존 Java API의 기능을 대부분 공개하기 위해 REST API를 작성 중입니다. 두 API 모두 조직 내에서 사용하기위한 것입니다. 외부 용으로 디자인 할 필요는 없습니다. 두 API 모두에 영향을 주지만 REST API를 구현하고 있습니다. Java API는 로컬 응용 프로그램에 계속 사용되지만 ( "종료되지는 않음") REST API는 중요한 새로운 개발에 사용됩니다. Java …
19 java  api  rest  coupling  dry 

4
한 곳에서 클라이언트 측 및 서버 측 유효성 검사 관리
나는 하나가있는 경우 보드에 100 % 야 한다 확실히 클라이언트 측 및 서버 측 데이터 유효성 검사를 모두 사용합니다. 그러나 내가 작업 한 프레임 워크와 환경에서 내가 본 접근 방식은 결코 건조하지 않았습니다. 대부분의 경우 계획이나 패턴이 없습니다. 유효성 검사는 모델 사양에 작성되고 유효성 검사는 뷰의 형식으로 작성됩니다. (참고 : …

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

6
호출자의 입력 매개 변수 유효성 검사 : 코드 복제?
함수의 입력 매개 변수를 확인하는 가장 좋은 곳은 어디입니까? 코딩 스타일을 개선하고 싶을 때이 문제에 대한 모범 사례 또는 일부 규칙을 찾으려고 노력합니다. 언제 그리고 무엇이 더 낫습니다. 이전 프로젝트에서는 함수 내부의 모든 입력 매개 변수를 확인하고 처리했습니다 (예 : null이 아닌 경우). 이제 여기에 일부 답변과 Pragmatic Programmer 책에서 …

5
커플 링을 늘리지 않고 DRY를 적용 할 수 있습니까?
함수 F를 구현하는 소프트웨어 모듈 A가 있다고 가정합니다. 다른 모듈 B는 F '와 동일한 기능을 구현합니다. 중복 코드를 제거하는 방법에는 여러 가지가 있습니다. A가 B의 F '를 사용하게하십시오. B가 A의 F를 사용하게하십시오. F를 자체 모듈 C에 넣고 A와 B가 모두 사용하도록하십시오. 이러한 모든 옵션은 모듈간에 추가 종속성을 생성합니다. 커플 링을 …

3
DRY 및 OOD에 의한 코드 커플 링 소개
DRY와 코드 커플 링에 대한 지침을 찾고 있습니다. 코드를 복제하는 것을 좋아하지 않으며 관련없는 모듈 간의 코드 커플 링도 좋아하지 않습니다. 따라서 복제가 도입 된 후 1 년 동안 동일한 중복 코드를 찾으면 중복 코드를 리팩터링합니다. 그러나 실제 환경이 훨씬 더 예측하기 어려운 상황이 점점 더 많이 발생하고 있으며 코드를 …
14 design  dry  coupling 

2
Const C ++ DRY 전략
사소한 C ++ const 관련 중복을 피하기 위해 const_cast는 작동하지만 non-const를 반환하는 개인 const 함수는 그렇지 않은 경우가 있습니까? Scott Meyers의 Effective C ++ 항목 3에서 정적 캐스트와 결합 된 const_cast는 중복 코드를 피하는 효과적이고 안전한 방법 일 수 있다고 제안합니다. const void* Bar::bar(int i) const { ... return variableResultingFromNonTrivialDotDotDotCode; …
14 c++  dry  const 

5
데이터 유효성 검사를 지원하는 ORM의 경우 데이터베이스에도 제약 조건이 적용되어야합니까?
내 (ActiveRecord) 모델 외에도 데이터베이스 수준에서 제약 조건을 항상 적용했습니다. 그러나 이것이 정말로 필요한지 궁금합니다. 작은 배경 최근에 모델에 대한 기본 자동 타임 스탬프 생성 방법을 단위 테스트해야했습니다. 일반적으로 테스트는 모델의 인스턴스를 작성하고 유효성 검증없이 저장합니다. 그러나 테이블 정의에서 null을 허용하지 않는 다른 필수 필드가 있으므로 ActiveRecord 유효성 검사를 건너 …
13 database  orm  validation  dry 

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