Video: Software that Fits in Your Head - Dan North
April 13th, 2019
[ ] Article: Documenting Architecture Decisions - Michael Nygard
[ ] OO = "little computers passing messages" Alan K
[ ] replaceable component architecture
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
GOTO 2016 • Software that Fits in Your Head • Dan North
https://www.youtube.com/watch?v=4Y0tOi7QWqM
17,242 views views
Published on Sep 27, 2016
Description
This presentation was recorded at GOTO Amsterdam 2016
http://gotoamst.nl
Dan North - Agile Troublemaker, Developer, Originator of BDD ABSTRACT Software gets complicated fast. Most of good architecture and design practise is about trying to slow the rate at which software gets complicated. You can't stop it, it's a form of entropy. You can only slow it down and do your level best to stay on top [...] Download slides and read the full abstract here:
https://gotocon.com/amsterdam-2016/pr...
https://twitter.com/gotoamst
https://www.facebook.com/GOTOConference
http://gotocon.com