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 · World Congress 2021

2:53 min

Applying patterns and principles to maintain code analyzability

David Tielke David Tielke · World Congress 2025

1:53 min

Reducing accidental complications in software architecture

Nadeen Hussein Nadeen Hussein · World Congress 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

September 24, 2026 · 16:10–16:40

Stage 2

The Death of the Code Review

Laurie Voss

Head of Developer Relations

Laurie Voss
Open session

World Congress 2026 North America

September 24, 2026 · 16:10–16:40

Outdoor Stage

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

September 25, 2026 · 14:50–15:20

Stage 1

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

September 25, 2026 · 12:20–12:50

Stage 9

Designing APIs That Survive AI Agents at Scale

Phani Pendurthi

Mastercard, Principal Software Engineer

Phani Pendurthi
Open session

World Congress 2026 North America

September 25, 2026 · 12:55–13:25

Stage 7

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

September 24, 2026 · 15:30–16:00

Stage 3

The New Bottleneck in Software Development

Aditya Jayaprakash

Co-Founder & CEO at Blacksmith

Aditya Jayaprakash