Defuse the IF Strategy

Unleash Adaptive Code!

About Anti-IF Enroll in the workshop Schedule your session

Ready to Break the Chains?

What Is Anti-IF Programming?

Originated by Francesco Cirillo in 2007, the Anti-IF Programming approach has transformed how many perceive IFs and conditionals in software design. 

At the heart of software design lies a simple yet potentially dangerous tool: the conditional 'IF' statement. Undeniably foundational, its use to handle changes in a growth context, dubbed the "IF Strategy", can be a silent saboteur, complicating code and tangling logic. The IF Strategy can lead to debugging problems, never-delivered user stories, technical debt, entangled design, frictions in the team and other inefficiencies. In essence, the IF Strategy can escalate costs and delay software delivery times while degrading internal quality.

Why Was It Started?

A quote or short snippet from Francesco Cirillo: "Hey everyone! I'm Francesco Cirillo. Today, I want to share how a tiny 'IF' changed software design forever."

Join the Movement

  • IF-Skeptic (Supporter): Start your journey with foundational principles.
  • Conditional Commander: Command complex codebases with advanced Anti-IF strategies.
  • Boolean Sovereign: Lead with unparalleled mastery against the Code Monsters.

Who Is It For?

  • Software Developers (Junior and Senior)
  • Project and Tech Leaders
  • Software Quality Assurance Specialists

Get Started

Workshop

Anti-IF Workshop

Trainer: Francesco Cirillo
A 12-hour training on Anti-IF techniques, teaching developers to write clearer, more maintainable code without harmful conditionals.

Mentoring

Programming with Francesco

Embark on a programming journey tailored just for you. From guidance on a current project, dreaming of starting something new, or refining your existing codebase, Francesco's deep-rooted expertise will illuminate your path.

Video Course

Anti-IF Bowling Kata Review

Trainer: Francesco Cirillo
Learn software design by comparing, fixing and expanding three Bowling Kata solutions.

Anti-IF Design Pattern Pack 01

Trainer: Francesco Cirillo
This package covers the Strategy, State, Command, and Observer patterns, demonstrating how to decouple algorithm selection, state transitions, action encapsulation, and state change notifications from the main application logic.

Anti-IF HotDraw Review Pack 01

Trainer: Francesco Cirillo
Analyze HotDraw's real-world implementation of the CRC (Class Responsibility Collaborator) model and how user stories are translated into design and code. Study the design principles and patterns behind how JHotDraw handles drawing, moving, and interacting with figures. Break down JHotDraw's application of the MVC (Model-View-Controller) pattern and its approach to advanced UI components.

Break the Chains of Conditionals!

Testimonials

Carlo Garatti

"If your question is about how to write valuable software, this program is for you!! Through one-on-one lessons with Francesco you will learn how to fit the right techniques and tools in the exact phases of the software development cycle. You will fix and apply these ideas in real cases. And, last but not least, in an enjoyable way!"

Alessandro Ruzzon

"What did I like the most? In this workshop the theory part matches up with the practical part. You don't only hear WHAT TO DO but also HOW TO DO IT, and you start practicing it right away in the labs! That's really what the Workshop is about: real-life practice aimed at consolidating theoretical notions. This approach helps in understanding problems"

Faq

Originated by Francesco Cirillo in 2007, the Anti-IF Programming approach has transformed how many perceive IFs and conditionals in software design. At the heart of software design lies a simple yet potentially dangerous tool: the conditional 'IF' statement. Undeniably foundational, its use to handle changes in a growth context, dubbed the "IF Strategy", can be a silent saboteur, complicating code and tangling logic. The IF Strategy can lead to debugging problems, never-delivered user stories, technical debt, entangled design, frictions in the team and other inefficiencies. In essence, the IF Strategy can escalate costs and delay software delivery times while degrading internal quality.

Questions