Victor Rentea
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.