a practical guide to being less awful at programming� �or: stop! if you commit that you’ll have to live with it!
sorry, and you are?
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
‘how to be less awful’?
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
prelude: reducing risk
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
the medium-sized problem
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
medium-sized problems
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
how does it happen?
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
the take-away
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
the take-away: a caveat
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
guiding principles
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
thought for the day
"All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections."
David Wheeler (1927-2004)
also inventor of the function call (or ‘Wheeler Jump’!)
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
know your enemy!
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
mutability
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
state & conditionals
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
duplication & abstraction
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
lifetime, visibility, & scope
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
async as standard
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
interface & responsibility
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
beware the OOP rabbit hole
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
design patterns
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
my approach to writing code
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
personal responsibility
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
self documenting code
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
example: porting to consoles
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
that sounds like a lot of work!
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
e.g. explicit state
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
e.g. lifetime & async
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
MVSE summary
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
a final aside…code reviews
* and it’s much more productive than arguing about tabs vs spaces
// a practical guide to being less awful at programming
// Alex Darby - @darbotron
questions etc.
https://www.youtube.com/watch?v=92KFSD3ObrY
https://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey/
https://www.youtube.com/watch?v=KmaGxprTUfI
// a practical guide to being less awful at programming
// Alex Darby - @darbotron