Skip to content

Week 9: Clean Code (QA)

Goal

This week’s goal is to learn by doing, practice clean code, design, and refactoring patterns on real code while internalizing the concepts and your team’s own coding commitments.

Expected Results Before This Week

Weekly Progress Check rules

  • Be prepared to show your results at the beginning of class.
  • Presenting teams are selected randomly each week. The same team may be selected repeatedly.
  • If your team is selected and there is no relevant work recorded before the session, 3 points will be deducted. Any relevant demonstrable work avoids the deduction: the weekly score is then between 0 and +3 points, depending on quality and completeness.
  • A missing expected result can cause a point deduction only once, but you should still catch up: later work may depend on it, and these results usually contribute to the tasks required for your desired grade. More about salary for tasks

How Weekly Progress Checks work · More about penalty and bonus points


This week's expected results

  • Make sure your repository contains enough working source code to inspect and improve during the session: as a rough minimum, have at least one implemented feature or class with around 4–5 meaningful methods. Someone in the team must be able to explain what a randomly selected part of this code does, why it was implemented that way, and how it fits into the project; code that nobody can explain does not count as a useful starting point.
  • Collect at least one example of your own previous code that you are proud of, preferably from the current project but it may come from elsewhere. Record the code or a link to it somewhere traceable in the GitLab project—such as an issue, Markdown note, or wiki page—and briefly explain what makes it a good example and what circumstances or decisions helped produce that result.
  • Collect at least one example of your own previous code that you are not proud of, again preferably from the current project but it may come from elsewhere. Record it in the same traceable way and briefly explain what circumstances, constraints, shortcuts, or decisions led to that result and what you would do differently now. The purpose is not public shaming, but to recognize patterns that can lead to worse code and learn how to avoid them in future work.

Notes for tutors: 

1: TBA

Section section\basic\code_for_humans.md not found.

2: TBA

Section section\basic\my_zen_of_python.md not found.

3: TBA

Section section\basic\the_feeling_i_leave_in_code.md not found.

4: When and How to Refactor

Why is this useful for me?

Things you learn and experience in this session will help you to solve the following tasks:

Background

Activities

5: TBA

Section section\advanced\clean_code_advanced.md not found.