shredbx logo
shredbx shredbx shredbx shredbx Personal
  • Home
  • Lab
  • Portfolio
  • Experience
  • Services
  • Profile
  • Contact
AClaude
  • Home
  • Lab
  • Portfolio
  • Experience
  • Services
  • Profile
  • Contact
Andrei Solovev
Knowledge
Search knowledge... ⌘K
Knowledge

Patterns

Design, architectural, and idiom-level patterns — with their anti-pattern counterparts.

Anti-Patterns

programming-by-coincidence

Anti-pattern of relying on accidental behavior without understanding why code works

craftsmanshipanti-patternsreliabilitymaintainabilitypragmatic-programmer
smell-alternative-classes-with-different-interfaces

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-comments

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-data-class

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-data-clumps

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-divergent-change

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-duplicated-code

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-environment

Anti-patterns related to build and development environment setup that create friction and complexity in the development process.

clean-codecode-smellmaintainabilityenvironment
smell-feature-envy

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-functions

Anti-patterns related to function design including too many arguments, output arguments, flag arguments, and dead functions.

clean-codecode-smellmaintainabilityfunctions
smell-general

General code smells covering duplication, abstraction levels, dependencies, dead code, inconsistency, and other fundamental anti-patterns.

clean-codecode-smellmaintainabilitygeneral
smell-global-data

Code smell indicating the dangerous use of globally accessible mutable data

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-hydration-unsafe-init

Anti-pattern where a component's initial render reads browser-only APIs (localStorage/sessionStorage/window/document/matchMedia) or render-time values (Date.now, new Date, Math.random, unzoned toLocale*) so server and client first-render disagree, breaking hydration.

sveltesveltekithydrationssrcode-smellnavigation
smell-inappropriate-intimacy

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-incomplete-library-class

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-insider-trading

Code smell indicating modules trading data in excessive secret ways (updated from Inappropriate Intimacy)

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-large-class

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-lazy-class

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-lazy-element

Code smell indicating program elements that are not earning their keep (updated from Lazy Class)

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-long-method

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-long-parameter-list

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-loops

Code smell indicating imperative loops that could be replaced with pipeline operations

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-message-chains

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-middle-man

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-mutable-data

Code smell indicating overuse of mutable state that makes reasoning about code difficult

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-mysterious-name

Code smell indicating names that fail to communicate intent clearly

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-names

Anti-patterns related to naming that reduce code readability, searchability, and expressiveness.

clean-codecode-smellmaintainabilityreadabilitynames
smell-parallel-inheritance-hierarchies

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-primitive-obsession

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-refused-bequest

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-repeated-switches

Code smell indicating repeated switch/case logic across the codebase (updated terminology from Switch Statements)

refactoring-fowlercode-qualitymaintainabilitycode-smell2nd
smell-shotgun-surgery

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-speculative-generality

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-switch-statements

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-temporary-field

Anti-pattern indicating need for refactoring

refactoring-fowlercode-smellmaintainability
smell-tests

Anti-patterns in test code that reduce test effectiveness, maintainability, and reliability.

clean-codecode-smellmaintainabilityreliabilitytests
shredbx logo shredbx shredbx shredbx shredbx Andrei Solovev

Solution Architect & Lead Software Engineer

ExperiencePortfolioResearch & ExperimentsEducationCertificationSkills
GitHub ↗LinkedIn ↗Email ↗
AVAILABLE FOR NEW PROJECTS
// MY LATEST BEATS
Hobby & Interests

Lab

  • The Lab
  • Framework
  • Components
  • Packages
  • Games
  • Process (SDLC)
  • Knowledge
  • Blog

Andrei

  • Portfolio
  • Experience
  • Services
  • Profile
  • Contact
  • Lifestyle

Team

  • Team
  • Andrei
  • Claude

Legal

  • Privacy
  • Terms
  • Cookies
© 2026 shredbx.com. All rights reserved. — Andrei Solovev |