Video: Software that Fits in Your Head - Dan North
Video: Software that Fits in Your Head - Dan North |
Software that Fits in Your Head - Dan North
software is not the point
productive != effective
to getting the business impact
understanding code
code I know (new
code no-one knows (middle)
code everyone knows
cared for
entropy
Short software Half-Life
half-life (physics) know precisely half will decay in certain time, dunno which
How long would you need to go away, before half of the code has been completely rewritten?
typically years
~6weeks
fearlessly rewrite code
I know more now
design considerations
well written code shows
what it does
NOT purpose
NOT what is not there (decisions)
purpose: why it's there
responsibility: what it owns (and what not)
lifecycle
documentation = why something is there
write component test and docs
TDD != tests
Article: Mike Nigard, architecture decision records
decision we made
people who made it
things we considered
things we discarded
so this we ended
extra credit:
this is the problem it solves
these risks are introduced
-> stays in version control
static != stable
complexity metric:
"bigger than my head"
if have to page up and down, it's too much
coping mechanisms
analysis
actively ignoring
mocking and stubbing
painkillers for complexity
what fits in my head?
language
clojure
1 way to do something
scala
least opinionated
multiple dialects in 1 code base
framework
what would James do?
shared values
microservices?
hard shell
pass messages
"little computers passing messages"
-- Alan K
-> inventor of OO
object != entity
object does things with entities
think about component by looking at the messages
microservices!
closing message
Video: Software that Fits in Your Head - Dan North |