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 |