~/talk

Slow Down, Compose Yourself

Talkat PyCon Australia 2015 · 2015-07-31..08-04· [python]
links:none on file
slides:none on file

Argues for composition instead of deep inheritance and shows concrete wins: build an in-memory storage for a blog API and swap implementations via clearly defined interfaces, replace heavyweight DB tests to cut runs from minutes to seconds, and use a reactor that runs in memory for Twisted so the full test suite of 3,000 tests in a minute is possible. Demonstrates composition with Django-style views, Twisted backends and cryptography backends, and proves improved testability, faster CI, and simpler fault injection.

AI-written summary · about

  1. 0:00Intro
  2. 1:40No software is unchanging
  3. 1:51Extend, improve, replace
  4. 2:47You write mixins to alter behavour of subclasses, and reduce duplication
  5. 4:13Why you should slow down
  6. 4:48Modularity and testability are two very desirable traits
  7. 5:07Modularity helps testability
  8. 5:17Tests are the only way to validate something works and keeps working
  9. 5:52When designing a system, you might want to aim for these traits
  10. 6:13Composition is when logic is made up of smaller blocks of logic
  11. 7:35Replacing the real components with fake ones reduces the surface area to test
  12. 12:22Write an example of your code being used
  13. 13:01Design the API "experience"
  14. 18:24Testing with Composition
  15. 19:00Test the components in isolation
  16. 19:17Test with the parts integrated
  17. 19:31Correctness at every level
  18. 19:43Object Composition & Function Composition
  19. 22:40Twisted (the newer parts)
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.