Acceleration - The Productive Programmer
k, 2012-02-21 11:11 — Takács.Ottó
- What most of us might be able to get done in a week, some are able to get done in a day. Why is that? The short answer concerns mastery of the tools developers have at their disposal.
- Developers today are not runningtheir computers, they are walkingthem.
- rarely do consultants get called in to “fix” healthy projects.
ACCELERATION
- The less you interact with your computer, the faster you can go.
- The usefulness of an application list is inversely proportional to its length. This hits developers particularly hard because we have lots of occasional applications special-purpose tools that we may run only one day a month, but that we desperately need when that day arrives.
- Typing is faster than navigation.
- Quicksilver is a great example of an application that looks too simple to be useful when you first install it. Others are Launchy, Colibri, and Enso,FARR, Executor , Promptu Launcher, keybreeze, SlickRun. Colibri implements a small percentage of Quicksilver’s functionality
- Prefer typing over mousing.
- Typeing is faster than navigation
- The classic “No Mouse Required” application is the VI editor. Watching an experienced VI user inspires awe.
- Both VI and Emacs support a very important accelerator: never taking your hands off the character keys. Even reaching down to the arrow keys on a keyboard slows you down because you must return to the home row keys to type characters again. Really useful editors keep your hands in optimum position to input and navigate at the same time.
- Take the time to learn all the hidden keyboard shortcuts of your universe.
Clipboards
- Context switching eats time.
- Having multiple clipboards may not seem like a big productivity gain. But once you get accustomed to having them, it changes the way you work.
- Clipboarding in batches is faster than clipboarding serially.
- Even when you install a multi-clipboard utility, it takes a while before you realize all the situations where it applies. Too often, you install it and promptly forget it’s there.
History
- Those who remember their history aren’t doomed to type it again.
- All shells have a history mechanism, which allows you to recall previous commands and repeat them, with changes if necessary.
- You can search your history to find the command in question faster than you can scan each entry as you walk back through them one at a time.
- In Windows, type the first part of the previous command and then hit F8.
- If you want to see the command history, type F7, which shows your recent history in a list where you can utilize the up and down arrow keys to select the command.
- For Windows, Command Prompt Explorer Bar is a great open source utility that allows you to open a command prompt attached to the bottom of your current Explorer view,
- Embed the command prompt with Explorer to make it easier to switch contexts.
Development accelerators
- When coding, always prefer the keyboard to the mouse.
- IDEs have a huge number of keyboard shortcuts. Learn them all!
- Learn IDE keyboard shortcuts in context, not by reading long lists.
- Key Promoter - for Eclipse. Every time you use the menu to select something, a dialog pops up that tells you the shortcut you could have used and how many times you’ve done it wrong. The same utility, called Key Prompter, exists for Eclipse as well.
- The other key to IDE productivity is live templates. These are snippets of code that represent some chunk of code you use all the time.
- Key Macro tools is like live templates at OS level. Like PhraseExpress or TextMate.
- When you type a complicated construct for the second time, templatize it.
- For any symmetric operation on multiple lines of text, find a pattern and record a macro.
- The more times you perform a particular operation on a chunk of text, the greater the likelihood you’ll do it again.
- Don’t type the same commands over and over again.