~/talk

I did the API wrong - Tales of a Library Maintainer

Talkat Clojure/conj 2015 · 2015-11-16..11-18· [developer-experience]
slides:none on file

A Clojure library (Liberator) released in 2009 accumulates 320 commits and real users, forcing a maintainer to fix API mistakes rather than redesign. Problems include silent bugs like a missing question mark keyword that makes handlers be ignored, too-many-keyword knobs, macros that block composability, and inconsistent error/state handling. Fixes shown include adding an optional map first-argument to stay backward compatible, explicit exception handlers, and documentation of the execution/context model.

AI-written summary · about

  1. 0:00Start
  2. 7:44A case of miscommunication
  3. 9:03Use a dedicated error handling model
  4. 9:18Whatever error model you choose
  5. 11:30Not so many docstrings...
  6. 17:12macro apply anyone?
  7. 22:43Clojure users expect nil punning
  8. 23:39Missing error handling
  9. 26:02Problems with too many atoms
  10. 30:35Nice to avoid endless passing of handles
  11. 32:47Out of band documentation
  12. 33:50TODO Liberator uses the ring interface
~/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.