«anti-patterns» 태그된 질문

반 패턴은 비 효과적이거나 비생산적 임에도 불구하고 일반적인 행동이나 관행입니다.

6
의미있는 클래스 이름으로 Java 콜렉션을 마스킹하는 좋은 방법 또는 나쁜 방법?
최근에 저는 인간 친화적 인 클래스 이름으로 Java 콜렉션을 "마스킹"하는 습관을 겪었습니다. 몇 가지 간단한 예 : // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } 또는: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, would you …

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

11
오류 변수는 안티 패턴 또는 좋은 디자인입니까?
실행을 중단해서는 안되는 몇 가지 가능한 오류를 처리하기 위해 error클라이언트가 확인하고 예외를 throw하는 데 사용할 수 있는 변수가 있습니다. 안티 패턴입니까? 이것을 처리하는 더 좋은 방법이 있습니까? 이에 대한 예제는 PHP의 mysqli API를 볼 수 있습니다 . 가시성 문제 (접근 자, 공용 및 개인 범위, 클래스 또는 전역 변수)가 올바르게 …


5
라이브러리 내에서 STDIN에서 읽는 반 패턴으로 간주됩니까?
직장에서 진행중인 대규모 프로젝트를위한 라이브러리를 작성하는 동안 전자 메일 주소로 토큰을 보낸 다음 코드로 다시 전달하여 나중에 사용할 수있는 문제가 발생했습니다. 내 동료는 STDIN (Python : 사용)에서 읽은 code = input("Enter code: ")다음 사용자에게 전달하도록 지시했지만 라이브러리는 서버의 백그라운드 작업에 사용될 수 있으므로 나쁜 습관처럼 보입니다. . 나는 이것이 반 …

9
정적 멤버를 제외한 유틸리티 클래스는 C ++의 안티 패턴입니까?
클래스와 관련이없는 함수를 어디에 두어야하는지에 대한 질문 은 C ++에서 유틸리티 함수를 클래스에 결합하는 것이 합리적인지 또는 네임 스페이스에서 자유 함수로 존재하는지 여부에 대한 논쟁을 불러 일으켰습니다. 나는 후자의 옵션이 존재하지 않는 C # 배경에서 왔으므로 자연스럽게 내가 작성한 작은 C ++ 코드에서 정적 클래스를 사용하는 경향이 있습니다. 그러나 몇 …

11
생성자 전용 서브 클래스 : 안티 패턴입니까?
나는 동료와 토론을하고 있었고, 결국 서브 클래 싱의 목적에 대해 직관이 상충되었습니다. 내 직감은 서브 클래스의 주요 기능이 부모의 가능한 범위의 값을 표현하는 것이라면 아마도 서브 클래스가 아니어야한다는 것입니다. 그는 반대 직관을 주장했다. 서브 클래 싱은 객체의 "특정"성을 나타내므로 서브 클래스 관계가 더 적절하다. 직관을보다 구체적으로 설명하기 위해 부모 클래스를 …


3
스트림 요소를 수정하기 위해 peek ()를 사용하는 것이 반 패턴입니까?
내가 스트림을 가지고 있고 스트림 중간에 "풍부하게"하고 싶다고 가정 해 보겠습니다 peek(). 예를 들면 다음과 같습니다. streamOfThings.peek(this::thingMutator).forEach(this::someConsumer); 코드에서이 시점에서 Things를 변경하는 것이 올바른 동작이라고 가정합니다. 예를 들어, thingMutator메소드는 "lastProcessed"필드를 현재 시간으로 설정할 수 있습니다. 그러나 peek()대부분의 상황에서 "보이지만 만지지 마십시오"를 의미합니다. 스트림 요소 peek()를 음소거 하는 데 사용 하는 것이 …

10
어떤 네이밍 안티 패턴이 존재합니까? [닫은]
당신이 그 이름에 도달하는 것을 발견하면, 당신은 이미 무언가를 엉망으로 만들었다는 것을 알고있는 몇몇 이름들이 있습니다. 예를 들면 다음과 같습니다. XxxManager 이것은 클래스가 클래스의 기능을 설명해야하기 때문에 좋지 않습니다. 수업에서 수행 할 수있는 가장 구체적인 단어가 "관리"인 경우 수업이 너무 큽니다. 다른 이름 지정 안티 패턴이 있습니까? 명확히하기 위해, 나는 …

6
값을 다른 표현으로 변환 한 다음 시작된 위치로 다시 변환하는 코드는 어떻습니까? [닫은]
나는 나쁜 프로그래밍 관행에 관한 기사를 읽고 있었다 . 그것은 언급했다- 값을 다른 표현으로 변환 한 다음 다시 시작 위치로 변환하는 "요요 코드"(예 : 10 진수를 문자열로 변환 한 다음 다시 10 진수로 변환하거나 문자열을 채운 후 자르기) 그가 제공하는 특정 예가 왜 프로그램을 작성하는 나쁜 방법인지 이해할 수 없습니다. …

8
여기에 예외를 던지는 것이 반 패턴입니까?
코드 검토 후 디자인 선택에 대해 토론했습니다. 나는 당신의 의견이 무엇인지 궁금합니다. Preferences키-값 쌍을위한 버킷 인 이 클래스 가 있습니다 . null 값은 합법적입니다 (중요). 특정 값은 아직 저장되지 않을 것으로 예상되며 요청시 사전 정의 된 기본값으로 초기화하여 이러한 사례를 자동으로 처리하려고합니다. 논의 된 솔루션은 다음 패턴을 사용했습니다 (참고 : …

7
회사에서 지점을 병합하는 것이 잘못 되었습니까?
최근에 분기 및 병합 및 SCM : 분기 및 병합 입문서-Chris Birmele에 대한 MSDN 기사를 접했습니다 . 이 기사에서 그들은 '빅뱅 병합'이 합병하는 반 패턴이라고 말합니다. Big Bang Merge — 개발 노력이 끝날 때까지 지점 병합을 연기하고 모든 지점을 동시에 병합하려고합니다. 나는 이것이 회사가 생산하는 모든 개발 부서에서하고있는 것과 매우 …

2
역사적으로 성장한 소프트웨어를위한 명명 된 안티 패턴이 있습니까? [닫은]
여러 개발자가 방금 시스템에 새로운 기능을 추가했지만 아무도 전체 아키텍처를 주시하거나 리팩토링을 수행하지 않은 역사적으로 성장한 소프트웨어 시스템을 설명하는 안티 패턴이 있습니까? 관리 / 고객이 지속적으로 새로운 기능을 요구하고 아무도 리팩터링하지 않고 다른 개발자가 이전에 한 일을 추가 할 때 이런 일이 발생한다고 생각합니다. 개발자가 소프트웨어 시스템에 압도되어 현재 작동 …

2
다음의 (안티) 패턴의 이름은 무엇입니까? 장점과 단점은 무엇입니까?
지난 몇 달 동안 나는 다음과 같은 기술 / 패턴에 대해 몇 번 걸려 넘어졌습니다. 그러나 특정 이름을 찾을 수 없으며 모든 장점과 단점에 대해 100 % 확신 할 수 없습니다. 패턴은 다음과 같습니다. Java 인터페이스 내에서 일반적인 방법 세트는 평소와 같이 정의됩니다. 그러나 내부 클래스를 사용하면 인터페이스를 통해 기본 …

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