Even if you already know some smells and refactoring, deliberate practice on specific exercises will up your game. In this hands on session, you will practise recognizing different smells, learn a vocabulary of smells, and learn how to make code less smelly with specific refactorings.
You’ll receive a free deck of refactoring cards, and we work through a small piece of smelly code, identify its’ code smells and refactor to let its’ intentions shine through.
In case you are not familiar with code smells:
Often, you feel there are some things just not right with the code you’re currently working wit. It is not always clear what exactly the problem is, but you can see some indicators of underlying problems. Many years ago, Extreme Programming founder and Agile pioneer Kent Beck coined the term ‘code smell’ for these indicators: a code smell is a symptom of something that’s probably not right in code or in the design, even though the root cause might not be immediately apparent.
Different code smells have names like ‘comments’ or ‘long method’. This provides you and your team members a language to talk about code quality. To reduce smells in code, we apply refactorings in small steps (refactoring = improving the design of code without changing its behaviour). Often after applying a refactoring we uncover new smells.
Smells and refactorings cards let you quickly learn an extended refactoring vocabulary. The cards and vocabulary make it it easier to tackle larger design changes by series of smaller refactorings while communicating your ideas with your colleagues.
Willem van den Ende is an eXtreme Programming pioneer. As a developer and coach he guides organisations in better software development with agile/lean principles and practices since 1999
To buy tickets to see this fantastic talk, and many others like it head over to our ticket page.
Need help planning which sessions to attend? We've provided a breakdown of our various session types below.
A presentation and discussion of real-life (not theoretical) experiences of the application (or mis-application) of Agile and Lean practices. Case studies and experience reports include some discussion of lessons learned and an indication of how novel the work is.
Participants learn a new approach, tool or technology through using it to solve one or more practical exercises. Any software/hardware requirements are disclosed in the session description.
A session focused around some specific tool, technique or issue. Primarily led by the speaker, tutorials usually include some elements of interactivity or individual / group exercise.
An in-depth working session on a specific topic. May include paper presentations.