Back to training

Refactoring Workshop


Do you ever find yourself in the situation when:

  • Adding new features is very slow because of the existing code?
  • Developers complain about architecture and design issues?
  • Your teams ask for one month (or more) to refactor the code?

Then it is time to learn how to do refactoring correctly.

Who should attend

Participants have had professional experience on at least 2 years working experience in C#, Java, Javascript, C++ or PHP.

Why should attend

At the end of this 2-day workshop, you will know how to:

  • 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

In this workshop, you will learn through many practical exercises done under the supervision of experienced refactorers:

  • Basic code refactoring techniques
  • Refactor in baby steps
  • How to effectively use your IDE for refactoring (only applies to Visual Studio, Visual Studio + ReSharper, Eclipse or IntelliJ Idea. It might apply to other tools who have similar refactoring features.)

Topics covered

  • Introduction to refactoring
  • Doing Refactoring Manually
  • Common refactorings: Rename variable/field/method/class/parameter, Extract method, Extract class, Extract interface, Change method signature, Pull up, Push down etc.
  • Baby steps: refactor and have it working every few minutes
  • Refactoring tools
  • Baby steps with a refactoring tool

Special topics, depending on the attendees requests:

  • Pure functions technique
  • Refactoring conditionals
  • Replace inheritance with delegation


Participants must be proficient in one of Java, C#, C++, php or JavaScript.

Participants need a laptop with:

  • A ready to use development environment: compiler, standard frameworks etc.
  • git / msysgit for source control
  • A text editor suitable for programming. Eg. SciTe/UltraEdit for Windows, gedit/kate for Linux, TextMate for MacOS
  • For C#: Visual Studio, Resharper, NUnit, moq
  • For Java: Eclipse / IntelliJ Idea, JUnit, mockito

Practical details

  • Included: welcome coffee, lunch and coffee breaks
  • Training language: English/Romanian/French
  • Participants will receive a certificate of attendance

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