World Congress 2024 Aug 20, 2024 Session details

Identifying code smells

Benjamin Bischoff

Are hidden 'bloaters' and 'change preventers' sabotaging your architecture? Learn to spot these foundational code smells to mitigate technical debt and write highly testable, scalable software.

Pause
Mute Enter Fullscreen
#1 about 4 min

Defining code smells and identifying deeper system problems

Setting the scope of code smells as surface-level indicators of bad design helps teams communicate efficiently and maintain testable code.

#2 about 7 min

Identifying bloater smells like long methods and classes

Breaking down oversized components and replacing primitive obsessions with custom types improves code readability and validation.

#3 about 5 min

Spotting common object-oriented programming abusers in applications

Avoiding misused object-oriented mechanisms like excessive switch statements or passing down unneeded behavior ensures proper design structure.

#4 about 4 min

Handling change preventers that hinder ongoing software development

Removing divergent change and shotgun surgery problems makes scaling code architectures significantly easier.

#5 about 4 min

Removing dispensable code layers and unnecessary structural elements

Eliminating lazy classes, dead code, and speculative generality prevents codebases from accumulating useless complexity.

#6 about 4 min

Addressing couplers that create inappropriate intimacy between classes

Fixing feature envy, message chaining, and middleman classes reduces dangerous tight coupling between independent modules.

#7 about 1 min

Tackling code smells during routine peer code reviews

Integrating code smell identification directly into development workflows ensures persistent adherence to clean architecture principles.

Matching moments

2:25 min

Identifying code smells as indicators for refactoring

Kamila Santos · LIVE

4:01 min

Identifying common code smells in testing suites

Gil Zilberfeld · LIVE

3:02 min

Refactoring architectural messes like the big ball of mud

Mustafa Toroman · WWC 2021

2:53 min

Applying patterns and principles to maintain code analyzability

David Tielke David Tielke · WWC 2025

1:53 min

Reducing accidental complications in software architecture

Nadeen Hussein Nadeen Hussein · WWC 2024

6:24 min

Applying key software design rules to test code

Gil Zilberfeld · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

Designing APIs That Survive AI Agents at Scale

Phani Pendurthi

Mastercard, Principal Software Engineer

Phani Pendurthi
Open session

World Congress 2026 North America

The spectrum of agentic coding: From vibe coding to high-quality software engineering

YK Sugi

Developer Experience Manager at Eventual

YK Sugi
Open session

World Congress 2026 North America

Red Teaming Your LLM App -- A Hands-On Threat Model You Can Reuse

Saloni Garg

Senior ML Engineer at Adobe

Saloni Garg
Open session

World Congress 2026 North America

Don’t kill my Vibes - Simple Steps to Stay Secure when Vibe Coding

Isaac Evans

Co-founder & CEO of Semgrep

Isaac Evans