The Productive Programmer session was based on the book The Productive Programmer, presented by the author. Below is a quick outline of the session. I'll be honest, this session was kind of long and I may have nodded off in a couple of places.
The slides have not been posted yet; I'll try to remember to update this post when they become available.
Mechanics
accelerators
typing is faster than navigating
use gui tricks to minimize mousing
multiple clipboards
pushd/popd
command line/file explorer integration
use shortcuts instead of menu entries
templates/macros
focus
ergonomics
get a comfortable chair
dual monitors
good keyboard/mouse
developers should have root
war rooms instead of cubicle farms
locus of attention: The Humane Interface by Jef Raskin
pop-ups/distracting dialogs
screen dimmers
internet/games
instant messaging/email/twitter
maintain concentration
turn off notifications
don't keep email open
turn off instant messaging
put on headphones
create office “quiet time”
the higher the level of concentration, the denser the ideas
focus techniques
search > navigation
replace file hierarchy navigation with search
rooted views
use virtual desktops (virtuawin)
Canonicality
define things once
Automation
Practice
composed method
divide your program into methods that perform one (and only one) identifiable task
strip generic code out to new methods
test driven development/design
creates consumption awareness
forces mocking of dependent code
static analysis
cpd – copy/paste detector
citizenship
bunch of java stuff (ZZzzZzzzzZzZzz.....)
yagni (you ain't gonna need it)
build what you need now, don't indulge in speculative development
increases software entropy
don't need frameworks for everything
Avalon is a framework for building frameworks
question authority
that's the way it's always been done
know when to break the rules
non-intuitivity
pair programming
produces code 15% less efficiently than two programmers working independently, but with 15% fewer defects
single level of abstraction principle
keep all code of a method at the same level of abstraction
polyglot programming
leverage existing platforms with languages targeted at specific problems
many different languages that compile down to JVM byte-code
not “resume driven development”; the right tool for the job
every nuance
learn all the “back alleys” of your chosen language
$1000 plumber: $1 dollar for closing a valve, $999 for knowing which valve to close
anti-object
- ?? (ZzzZZzzzZZZzzzzz....)
- ?? (ZzzZZzzzZZZzzzzz....)
No comments:
Post a Comment