~/talk

Core Software Design Principles for Programmers

slides:none on file

Argues concrete rules: every piece of knowledge needs a single authoritative source (DRY) — illustrates a shipping app that duplicated validation in Java and JavaScript and suggests Ajax, code generation or writing validation once in Kotlin that compiles to JVM and JS. Recommends write tests first and automate repetitive tasks (automations saved time and increased company profit). Warns against huge functions (example of a 40,000-line method refactored down to 30,000), advocates SLAP, OCP via interfaces, LSP (inheritance only for substitutability) and DIP for decoupling and easier testing.

AI-written summary · about

  1. 0:00Introduction to design principles
  2. 1:05Why design principles matter
  3. 2:52DRY principle explained
  4. 9:16Automation and DRY effort
  5. 12:07YAGNI principle and minimalism
  6. 16:01Single responsibility principle
  7. 26:46SLAP and function cohesion
  8. 38:11Open/Closed principle
  9. 43:07Liskov Substitution principle
  10. 47:27Dependency Inversion principle
  11. 51:42Applying principles wisely
  12. 55:15Q&A and closing
~/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.