Victor Rentea

Trainer and Consultant
With 20 years of experience, Victor Rentea (@VictorRentea) is a Java Champion who dedicated his career to training and inspiring thousands of engineers in over 150 companies worldwide. Based on the lessons learned from the trenches, he gave many top-rated talks at conferences in Europe and online. You can meet Victor online at his monthly events for European Software Crafters, the world’s largest community on improving code quality.

Workshop topic:
Clean Code for C#

Time & Date:
May 26th & 27th, online | 9am-5pm CEST

This workshop is for you if you are:

  • Developer looking to improve the quality of its code.
  • Senior/Tech Lead/Coach/Chapter Lead trying to help others develop their coding skills

After this workshop you will be able to:

  • Identify common Code Smells and compare various ways to fix them.
  • Refactor safely by splitting large changes in small baby-steps.
  • Boost your productivity and focus by mastering your IDE refactoring support.
  • Become a better team player by coding, reviewing, and pairing like a pro.
  • Learn the subtle best practices of your programming language.

What to expect: Refactoring exercises mixed with debates on design alternative, ethics, and teamwork, in an entertaining style spiced with real-life stories and analogies.

Agenda

Fundamentals 

  • Principles: SRP, DRY, SLAb, CQS 
  • When to Refactor: boy-scout, pre-done, pre-change, post-frustration, repent
  • Teamwork: conventional commits, Code Review / Pair Programming tips

Top Code Smells & ways to fix them

Expressive Code

  • Naming variables, methods, and constants
  • Function signature: numbers of parameters, flags, defaults args, parameter objects
  • Function depth and cognitive complexity
  • The 3 rules of a clean switch
  • Error handling best practices: exceptions, collecting errors

Clean Object-Oriented Programming (OOP)

  • Extracting new Value Objects
  • Encapsulation: move behavior next to state and enforce data invariants
  • Micro-types vs primitive obsession

Clean Functional Programming (FP)

  • Pure Functions in practice
  • Immutable Objects: implementation, pros/cons
  • Replacing loops with functional pipelines 
  • FP misuse and abuse

IDE Refactoring: extract/inline variables, methods, parameters, constants & interfaces, and much more

Refactoring Legacy Code (optional): Mikado Method, Golden Master Testing

Code Review of 1-3 prep-assignments (~1 hour)

Live Refactoring of samples provided by the audience (1-2 hours), if any

Hands-on: participants refactoring in pair-programming (~2 hours)

* If you're interested in this program, please contact us at info@itkonekt.com to find out more about availability and prices.