The modules in this topic do not deal primarily with individual language features of Python but with the question: How do I use the features of Python to write program code that has as few errors as possible and is easy to understand, change and extend. The modules in this section are mainly limited to relatively "local" program components like single functions and classes.
Of course, we also go into how to use the relevant language constructs well in the modules that introduce them; the modules in this section delve further into the techniques and also cover aspects that there is no time for in a typical basic or advanced Python course.
Agile Programming: Agile techniques help keep "technical debt" low and keep the software flexible enough to allow the incorporation of new features throughout the life of the project.
The Clean Code / Clean Unit Test in Python module includes the following focus areas:
- Code Styles in Python: PEP-8 and Extensions
- Tools for improving code quality (Linter, Type-Checker)
- Clean Code: Names, comments, functions
- Effective code and best practice in Python
- Testing with Pytest
- Test-first development techniques
- Test Driven Development (TDD)
- Executable specifications (cucumber/behave)
- Refactoring Patterns and refactoring techniques in Python
- Behavior Driven Development (BDD)