Back to training

Effective Refactoring with Focus on Design


Do you ever find yourself in the situation when adding new features is slow and painful because of the existing code or architecture and design has obvious issues? Then it is time to learn how to use refactoring effectively, to its real potential.

Who should attend

Programmers with at least 2 years experience


  • Do refactoring as a normal part of the development
  • Never halt production to refactor
  • Solve incrementally the architecture and design issues, based on the current needs

Course Outline

  • Intro. What is good design?
  • Basic code refactoring techniques. Refactor in baby steps
  • Design Principles
  • Overview SOLID Principles and Four Elements of Simple Design
  • When to do performance Optimization
  • Exercise: Use Refactoring with Four Elements of Simple Design & SOLID
  • Effectively use your IDE for refactoring 
  • Single Responsibility Principle, clear names, remove similarities
  • Overview of Design Patterns – solutions to common software design problems
  • Exercise: Use Design Patterns effectively. Debrief: How to use Design Patterns Effectively
  • Exercise: Refactoring to Patterns
  • Remove conditionals – why, how to
  • Exercise: Use Design Patterns to remove conditionals
  • Final debrief. What’s next?


  • Practical knowledge of at least one programming language

Course Delivery

  • 40% coding exercises
  • 30% lectures, explanations
  • 30% Q&A, Feedback, Anti-patterns
  • Demo from trainer
  • Continuous Feedback. Helping participants unblock at any moment during the exercises

Practical details

  • Duration: 2 days, from 09:00 to 17:30
  • Training language: English / Romanian / French

What’s next?


Need a customized workshop? Contact us and we’ll adapt the content as required.