Mastering “Clean Code”

We’ve all encountered our share of bad code in our day to day work. Bad code means bugs, delays and unexpected costs popping at the worst possible time. Clean code is the remedy for bad code.
This workshop is a hands-on introduction to the fields of clean code and software craftsmanship – the art of writing maintainable, cost-effective code that is readable, correct for both humans and machines.

The workshop materials are based on two seminal works in the field – Robert C. Martin’s “Clean Code: A Handbook of Agile Software Craftsmanship“ and Steve McConnel’s “Code Complete” and attendees get to practice the theory hands on, in class.

Lectures: Uri Goldstein & Lior Friedman

Intended Audience

  • Software Development Team Leads
  • Software Developers
  • Automation Engineers / Developers in Test


  • At least 1 year of experience developing software


  • Understanding the cost of bad code and the benefits of clean code
  • Identifying bad code through smells and heuristics
  • Understanding and practicing clean code and related principles


  • Definition of clean code
  • SOLID principles
  • Meaningful names
  • Optimal functions and classes
  • Self-documenting code
  • Optimal error handling
  • Smells and heuristics
  • Software craftsmanship


  1. Defining “clean code”
  2. The cost of bad code
  3. Giving meaningful names
    • Revealing intention
    • Ubiquitous language
    • Conventions and notations
  4. Comments and self-documenting code
    • Necessary evil
    • Bad comments
    • Good comments
  5. How to write a good function
    • The single responsibility principle
    • Size, blocks and indenting
    • Side effects and their cost
    • Function arguments
  6. How to write a good class
    • Cohesion
    • Open-closed principle
    • Liskov substitution principle
    • Interface segregation principle
    • Dependency inversion principle
  7. Error handling
    • Return values vs exceptions
    • The null problem
    • Checked exceptions
    • Meaningful exceptions
  8. Software Craftsmanship
    • Personal character
    • Themes
  9. Where to continue learning


Unless otherwise stated, the workshop runs 1 day, 9:30 to 17:30.

We Can Help, Contact Us Today!