~/talk

Gilding the Rose: Refactoring-Driven Development

Talkat ACCU 2023 · 2023-04-19..04-22· [developer-experience]
slides:none on file

Walks the Gilded Rose kata from a tangled C# updateQuality method (16 ifs, 3 elses, quality assigned up to four times, indentation level 6) to a tested, incremental refactor: replace counting loops with foreach/range, shrink conditionals, extract a quality adjustment value computed once, clamp with min/max, add conjured items via tests, then replace hard‑coded string checks with regexes and a rule table (find first matching rule using LINQ) to yield a compact, declarative rule engine that preserves behavior while making future changes trivial.

AI-written summary · about

  1. 0:00Introduction
  2. 1:27Gilded Rose origins
  3. 12:26Legacy system analysis
  4. 21:30Code structure analysis
  5. 31:59Refactoring purpose
  6. 43:58Meaningful tests
  7. 51:19First refactoring steps
  8. 1:00:05Conditional logic refactor
  9. 1:15:18Refactoring steps
  10. 1:24:23Paradigm shifts
  11. 1:32:23Continuous refactoring
~/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.