«code-smell» 태그된 질문

"코드 냄새"가 무엇인지 아닌지를 결정하는 것은 주관적이며 언어, 개발자 및 개발 방법론에 따라 다릅니다. 일부 기법이 "코드 냄새"인지 묻기 전에, 해당 기법을 사용한 경우 특정 프로젝트에 어떤 영향을 미칠지 스스로에게 물어보십시오. 단순히 "코드 냄새"인지 아닌지를 묻는 것은 너무 주관적입니다.

4
논리적으로 절차적인 소프트웨어를 OO 언어로 작성하는 가장 깨끗한 방법
나는 전기 기술자이고 내가 무슨 짓을하는지 모르겠습니다. 내 코드의 미래 관리자를 저장하십시오. 최근에는 기능이 논리적으로 "절차 적"인 여러 개의 작은 프로그램 (C #)을 작업하고 있습니다. 예를 들어, 그중 하나는 다른 데이터베이스에서 정보를 수집하고 해당 정보를 사용하여 일종의 요약 페이지를 생성 한 후 인쇄 한 다음 종료하는 프로그램입니다. 이 모든 것에 …

8
날짜 (코드 냄새)에 따라 UI (또는 기타) 기능을 켜고 끌 수 있습니까?
ASP.NET 2.0으로 작성된 끔찍한 시스템에 일부 기능을 추가해야합니다. 문제는 특정 제품에 특정 날짜 이후에 시작된 비즈니스에 대해 설정해야하는 UI 기능이 있고 (다른 제품이 꺼진 경우) 페이지가 기존 비즈니스에 대해 동일하게 표시되어야한다는 것입니다. 날짜 기반 JavaScript UI 스위치에 대한 아이디어를 본능적으로 찾고 구 비즈니스와 신 비즈니스에 대한 웹 컨트롤을 "비수용 적"으로 …

5
테스트 가능한 코드 작성과 추론 적 일반성 피하기
오늘 아침에 일부 블로그 게시물을 읽고, 그리고 운 좋게 발견 한 이것 : Customer 인터페이스를 구현하는 유일한 클래스가 CustomerImpl 인 경우 실제로는 런타임에 대체 할 것이 없기 때문에 다형성 및 대체 가능성이 없습니다. 가짜 일반성입니다. 인터페이스를 구현하면 복잡성이 추가되고 구현이 하나 뿐인 경우 불필요한 복잡성을 추가한다고 주장 할 수 있습니다. …

3
TDD Mock 통화 확인-안티 패턴입니까?
나는 1 년 동안 TDD를 해왔고, 그것에 대해 꽤 기분이 좋고, 테스트 스위트를 좋아합니다. 그러나 최근에 많은 모의 통화 확인을 수행하고 있음을 알았습니다. 예를 들어 리포지토리를 주입 할 서비스가 있습니다. 단위 테스트에서 리포지토리를 모의 테스트하고 테스트하는 메소드 내에서 호출되었는지 확인합니다. 그런 다음 반환 된 결과가 올바른지 확인합니다 (다른 테스트에서). 내 …

4
함수를 호출하는이 방법이 나쁜 습관입니까?
다음 코드가 있습니다. public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } 나는 이런 식 LatLng으로 다른 수업에 무엇이 있는지 아는 책임을 제거한다고 생각합니다 …

4
다양한 상태를 나타내는 정수 코드를 반환하는 함수 재 작업
아래 샘플을 포함시킨 끔찍한 코드를 물려 받았습니다. 이 특정 안티 패턴의 이름이 있습니까? 리팩토링에 대한 몇 가지 권장 사항은 무엇입니까? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User found with password …

3
깨끗한 코드와 하이브리드 객체 및 기능 부러워
그래서 최근에 코드에 몇 가지 주요 리팩토링을 만들었습니다. 내가하려고했던 주요 작업 중 하나는 클래스를 데이터 객체와 작업자 객체로 분리하는 것이 었습니다. 이것은 Clean Code 의이 섹션에서 영감을 얻었습니다 . 하이브리드 이 혼동은 때때로 반 객체와 반 데이터 구조 인 불행한 하이브리드 데이터 구조로 이어집니다. 중요한 기능을 수행하는 함수가 있으며, 모든 …

4
이벤트 리스너 모델이 필요한 증상이있는 "코드 냄새"는 무엇입니까?
이벤트 리스너 접근이 필요함을 나타내는 코드베이스의 증상은 무엇입니까? 다른 클래스의 디자인 타임 세트에서 정의되지 않은 여러 클래스에 의해 호출되어야하는 클래스가있을 때 일종의 신호 프레임 워크가 필요하지만 다른 상황이 무엇인지 듣고 싶습니다. 이벤트 기반 모델로 변경하여 개선되었습니다.


2
단위 테스트 :“리팩토링하고 공동 작업자가 없다면 코드 냄새가나요?”
Roy Osherove의 The Unit of Unit Testing을 읽고 있습니다. 저자는 코드 냄새에 대한이 노트를 가지고있는 7.2 절 유지 보수 가능한 테스트 작성에있다. 참고 : 외부 테스트에서 볼 수 있도록 내부 상태를 리팩터링 할 때 코드 냄새 (코드 디자인 또는 로직에 문제가 있음)로 간주 될 수 있습니까? 공동 작업자를 노출시키기 위해 …

2
객체가 소유자를 많이 알고 있으면 코드 냄새가 나는가?
Delphi 2007 응용 프로그램에서 우리는 다음과 같은 많은 구성을 사용하고 있습니다 FdmBasic:=TdmBasicData(FindOwnerClass(AOwner,TdmBasicData)); FindOwnerClass는 현재 구성 요소의 소유자 계층 구조를 위로 이동하여 특정 클래스 (예 : TdmBasicData)를 찾습니다. 결과 객체는 필드 변수 FdmBasic에 저장됩니다. 우리는 주로 데이터 모듈을 전달하는 데 사용합니다. 예 : 보고서를 생성 할 때 결과 데이터는 압축되어 TdmReportBaseData …

4
설정 전용 속성을 사용하지 않는 것이 좋은 이유는 무엇입니까?
오늘 직장에서 동료 중 한 명이 내 코드를 검토하고 set-only 속성을 제거하고 대신 메서드를 사용하도록 제안했습니다. 우리 둘 다 다른 일로 바빴 기 때문에 그는 Property Design"프레임 워크 디자인 지침"책 의 섹션 을 보라고 말했습니다 . 이 책에서 작가는 다음과 같이 피했다. 게터보다 접근성이 더 넓은 세터가있는 속성 그리고 왜 …

12
C #의 속성 통합 연산자
C #의 null-coalescing 연산자를 사용하면 코드를 줄일 수 있습니다 if (_mywidget == null) return new Widget(); else return _mywidget; 아래로: return _mywidget ?? new Widget(); C #에서 갖고 싶은 유용한 연산자는 객체의 속성을 반환하거나 객체가 null 인 경우 다른 값을 반환 할 수있는 연산자입니다. 교체하고 싶습니다 if (_mywidget == null) …
9 c#  code-smell  null 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.