Clean code

3 essays tagged Clean code · All articles

2025

  1. Django without the mess: repositories for data, services for rules

    Why selectors are a trap for cleaning up fat Django models, and how repositories for data access plus services for business rules keep the layers apart.

    7 min read

  2. Django REST Framework: when (and when not) to override serializers and viewsets, part 2

    Part 2 covers ViewSets: when to override create versus perform_create, how update, partial_update, and perform_update fit together, and a cheat sheet for where each kind of logic goes.

    6 min read · Django REST Framework overrides, part 2 of 2

  3. Django REST Framework: when (and when not) to override serializers and viewsets, part 1

    Part 1 covers serializers: which methods to override for validation, saving, and output formatting, and what logic does not belong in a serializer at all.

    4 min read · Django REST Framework overrides, part 1 of 2