~/talk

From Problem to Solution

Talkat App Builders Switzerland 2019 Β· 2019-04-29..04-30Β· [software-architecture]
slides:none on file

A simple network client that starts with four testable branches grows to 96 branches after adding auth, background tasks and a request counter, so the code becomes brittle. The fix is to extract three responsibilities into a RequestBehavior protocol (additional headers, before-send, after-success/after-failure), provide an empty request behavior and a combined request behavior, and implement small behaviors (auth header needs two tests). Result: decoupling, easy logging and timing, reusability and clear testability.

AI-written summary Β· about

  1. 0:00Introduction
  2. 0:48Welcome
  3. 1:05Presentation Overview
  4. 2:22Code Complexity
  5. 2:39Code Walkthrough
  6. 3:46No Code Gets to Stay Good
  7. 4:02The Tangled Mess
  8. 4:49Single Responsibility Principle
  9. 5:18Line Length
  10. 5:38Cyclomatic Complexity
  11. 6:17Singletons
  12. 7:07What do we need
  13. 7:18Feeling the pain
  14. 8:26Abstract code
  15. 8:43Sliced code
  16. 9:23Background task identifier
  17. 9:56Background task responsibility
  18. 10:41Step 2 Develop abstraction
  19. 11:57The magic step
  20. 13:59Default
  21. 14:26Abstracts
  22. 14:43Dont repeat yourself
  23. 15:42Code doesnt look the same
  24. 16:44Duplication is cheaper
  25. 17:18Empty request behavior
  26. 18:01Combined request behavior
  27. 18:32Combined request behaviors
  28. 19:30AuthToken header
  29. 19:40Mock out user defaults
  30. 20:10Network activity indicator behavior
  31. 20:41Log every error
  32. 21:04How long are requests
  33. 21:21Override before send
  34. 21:54Why do this again
  35. 22:22Handle
  36. 22:39Reuse
  37. 23:02Separate code
  38. 23:17Look at code
  39. 23:27Error logger
  40. 23:48Pablo Picasso
~/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.