코드 냄새 32 — 싱글 톤

세계에서 가장 많이 사용되고 유명한 디자인 패턴이 우리에게 큰 해를 끼치고 있습니다.

Unsplash에 Maria Teneva의 사진

문제점

  • 커플 링
  • 테스트 가능성
  • 우발적 인 구현 문제.
  • 다중 스레딩 문제.
  • 오염되는 정적 메서드.
  • 개체 생성 계약 위반.
  • Bijection 불일치.
  • 메모리 문제.
  • 조기 최적화.
  • 코드 냄새 20 — 조기 최적화
  1. 그것을 피하십시오.
  2. 상황에 맞는 고유 한 개체를 사용합니다.
  3. 벤치 마크 개체 생성.
  • 데이터베이스 액세스
  • 글로벌
  • 로거
  • 도우미
  • 코드 냄새 22 — 도우미

잘못된

신은 전형적인 싱글 톤의 예입니다.

권리

발각

이것은 디자인 패턴입니다. 우리는 정책으로 그것을 피해야합니다.

'getInstance ()' 와 같은 패턴에 대한 linter 규칙을 추가 하여 새로운 개발자가이 안티 패턴으로 코드를 감염시킬 수 없도록 할 수 있습니다 .

태그

  • 글로벌

이것은 이미 커뮤니티에서 인정한 역사적 실수입니다. 그럼에도 불구하고 게으른 개발자들은 그것을 계속해서 가져옵니다. 우리는 그 단점에 대한 합의에 도달해야합니다.

처지

코드 냄새 06 — 너무 영리한 프로그래머 코드 냄새 25 — 패턴 남용자

더 많은 정보

다이어그램은 모델이 아닙니다. 모델은 다이어그램이 아닙니다. 그것은 추상화, 개념의 집합 및 그들 사이의 관계입니다.

에릭 에반스

소프트웨어 엔지니어링 훌륭한 인용문

이 기사는 CodeSmell 시리즈의 일부입니다.

코드에서 냄새 나는 부분을 찾는 방법

Suggested posts

도메인 이름에 대한 정보 찾기

Brian P. Hogan의 Small, Sharp 소프트웨어 도구에서 발췌

도메인 이름에 대한 정보 찾기

facebook.com에 요청하면 컴퓨터가 도메인 이름을 조회하여 해당 도메인 이름을 IP 주소로 변환하므로 컴퓨터가 해당 연결을 만들 수 있습니다.

UI 디자인의 D-word와 L-word. 언어가 중요합니다. 인종 차별하지 마십시오.

UI 디자인의 D-word와 L-word. 언어가 중요합니다. 인종 차별하지 마십시오.

우리의 언어는 우리의 생각, 태도 및 행동을 형성할 수 있는 강력한 도구입니다. 무해해 보이는 용어도 해로운 편견과 고정관념을 영속화할 수 있습니다.

Related posts

FY24의 탄소 제거 자금 조달

경로 전반에 걸친 Carbon180의 세출 요청 내역

FY24의 탄소 제거 자금 조달

Alyson Lee, 공무 관리 고문 연방 정부의 연간 예산 책정 과정은 이산화탄소 제거(CDR) 기금 마련을 위한 노력의 핵심입니다. 매년 Carbon180은 내년의 자금 흐름을 안내하기 위해 다양한 의회 사무소에 요청을 제출합니다.

Work Week에서의 학습은 생각보다 중요합니다.

Work Week에서의 학습은 생각보다 중요합니다.

우리는 종종 우리에게 좋다고 알고 있는 것을 구현하는 데 어려움을 겪고 있습니다. 중요한 다른 사람에게 우리가 그들을 사랑한다고 말하는 것부터 해적처럼 이야기하는 것을 기억하는 것까지, 그들이 이미 그런 일을 하고 있기 때문에 하루, 일주일 또는 한 달의 이벤트가 필요하지 않다고 주장하는 사람들이 항상 있을 것입니다.

그 위협 아카이브: Vol 7 블랙 바스타

그 위협 아카이브: Vol 7 블랙 바스타

오늘날의 상호 연결된 세계에서 사이버 공격의 위협은 그 어느 때보다 만연해 있습니다. 사이버 범죄자와 국가 행위자는 지속적으로 취약점을 악용하고 귀중한 데이터를 도용하여 모든 규모의 조직에 상당한 위험을 초래합니다.

지구를 구하고 돈을 버는 방법

지구를 구하고 돈을 버는 방법

페트병, 유리병, 알루미늄캔, 그린에너지 패키지를 무심코 버린 적이 몇 번이나 되셨나요? 재활용에 대한 대가로 무언가를 얻을 수 있기를 몇 번이나 바랐습니까? 당신이 대부분의 사람들과 같다면 대답은 아마도 여러 번일 것입니다. 재활용은 종종 번거로움, 자질구레한 일 또는 즉각적이거나 실질적인 혜택을 가져오지 않는 의무로 간주됩니다.