How to setup your development workflow to keep your code clean

  • 07-12, 13:45–15:15, Liffey Hall 2
  • 07-12, 15:30–17:00, Liffey Hall 2

All times in Europe/Dublin

Clean code is something every developer should aim for, but how to make sure code is actually clean? How much should be invested in that endeavor? Whose responsibility is it?

In this workshop, we will go through all the aspects and stages to setup your development workflow to help you take ownership of the quality of your code.

We will take a simple application as a starting point and simulate a full development cycle, including coding in the IDE and opening a pull request on GitHub. We will create a CI pipeline triggering code quality monitoring using Sonar tools. More specifically, we will be using SonarCloud as a central platform to monitor code quality and SonarLint to detect issues directly in the IDE.

At the end of the workshop, you will be ready to enable such integration for your own projects.


Making sure to keep a clean codebase during the lifetime of a project is no easy task. Once technical debt starts accruing, we might feel it’s pointless to try to revert the trend.

Throughout the workshop, we’ll use a small Flask application and simulate the review of a new feature and see how we can make sure to deliver clean code at each stage of the development workflow.

To follow the workshop in the best conditions, it would be good to meet the following prerequisites:

  • Have an account on GitHub and be logged-in
  • Have git and an IDE ready (preferably PyCharm or VSCode)
  • Optionally: have a Python virtual environment ready to run the application locally

The application lives in the following GitHub repository: https://github.com/SonarEuroPython/sonar-europython

Attendees will be invited to fork this repository in their personal organization in order to follow the workshop.


Expected audience expertise: Domain

some

Expected audience expertise: Python

some

Abstract as a tweet

Clean code is something every developer should aim for, but how to make sure code is actually clean? How much should be invested in that endeavor? Whose responsibility is it?

See also: Workshop slides (2.6 MB)

I work for Sonar in Geneva, Switzerland where I develop static code analysis tools for Python.

When not working, I'm usually found snowboarding or hiking in the mountains.