Skip to content


The productive programmer – JFokus day 1

The first session I visited at JFokus this  year was Neal Ford’s the productive programmer. His presentation was from his book The productive programmer, which I haven’t read (but I might now).

The presentation was about both the little things and more philosophical discussions on how to become more productive as a programmer. I have heard and use most of it already, but it is never out of place with a reminder. Here’s the summary:

Accelerate

  • Graphical user interfaces are slow. I. e. using the mouse is slow. Learn the short cuts and use a shell instead.
  • Check out windows explorer address bar (ctrl-d)
  • Check out the number fox plug-in
  • clcl – a clip board extension to windows to get more than one clip board
  • Context switching eats time
  • Command prompt here power toy
  • Bash here
  • Command prompt explorer bar
  • Mouse feed for eclipse
  • Read through Eclipse help and make a cheat sheet of short cuts you find useful
  • Make templates for recurring things you do
  • Use the auto-hot key

Focus

  • To remove annoying Windows baloon tips: Tweek UI
  • Screen dimmers: Jedi concentrate
  • Google desktop search with any text file plug-in
  • file explorer rooted view
  • Use virtual desktop (virtua win)

Canonicality

  • DRY principle
  • Use subversion plug-in to export check-in comments via RSS
  • Schema spy for getting a graph of the database

Automation

  • One command build. Not several steps to build the system
  • CI
  • Remove commented out code, if you need old code it is in the version control system.
  • Selenium IDE – record scenarios to reproduce bug situations
  • Bash script for reading through log files
  • Solving problems by hand makes you dumber. Automating instead builds assets which makes you smarter.

Don’t shave yaks!

Composed method

  • One method only responsible for one thing. This makes the method shorter and clearer – clean code book…
  • GoF template method
  • Works fine with TDD

TDD

  • Think of it as Test Driven Design instead of Development

Static analysis

  • Findbugs
  • PMD – source code control
  • cpd – copy paste detector

Good Citizenship

  • Do not always generate get/set-methods, keep encapsulation
  • You do not need to unit test get/set
  • When handling objects – go from one known state to antoher. immutable objects.
  • Only use static methods on stateless objects

Yagni

  • You Ain’t Gonna Need It
  • Do not make premature assumptions/descision like BDUF
  • Only do what needs to be done right now

Slap

  • Single level of abstraction
  • Combine with Composed Method
  • Makes the code more readable

Polyglot programming

Use different programing languages for different problems.

Posted in Programming.

Tagged with .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.