The first step to coding faster

Forget all the Ivory Tower stuff I like to prattle on about, if you want to be a more productive programmer, learn to keep your hands on the keyboard instead of reaching for that mouse.  It'll make the mechanics faster and leave more time for the "thinking work."

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Uncategorized. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.thebirdietoldme.com the birdie

    I totally agree! When I was a kid, all we had was DOS. My mom taught me some commands and the basics of QBASIC. Spent many hours trying to hack the computer lol. Those were the good days :)

  • jak321

    Don’t forget to start at the very beginning: learn to touch type. No looking at the keyboard AT ALL. Although most programmers “multi-finger” hunt-and-peck at a fair rate, most can’t actually type, and its just stupid.

  • ulab

    beginning of a function (even if it outside) the screen by typing ‘ ‘).

    Left out ….
    by typing ‘begin’ in show commands containing….

  • ulab

    Try rewiring all your editors to the same keyboard shortcut. For example, I use Source Insight, VS .net and Editplus. Ctrl + Shift + F searches in files in all three. Ctrl + shift + f11 is for list of windows open.

    For custom rewiring, remember that in VS when you go to Tools–>Option –>Keyboard, you can type the keyword (like split) to show the commands related to that. That way you can narrow/find what you want to wire to keyboard. (The other day I found that there is a macro to beginning of a function (even if it outside) the screen by typing ‘ ‘).

    Backup your settings in VS about once a month. I cannot live without my settings.

    The worst one is sqlwb. The only automation you can do is with those free keys (Ctrl + 1, etc. ). If you select a text and press, say ctrl +3 and Ctrl + 3 is wired to a sproc, the selected text will be passed in as argument to the sproc.

    So I have sprocs (in master)

    create proc sp_listall
    (
    @tablename varchar(50)
    )
    as
    string sql varchar(300);
    set sql = ‘select * from ‘ + @tablename
    exec (sql)

    which lists all the rows in the table. (another sproc for listing all the columns in table)
    Helpful when doing dev work.

    hth

  • http://www.jeffreypalermo.com jpalermo

    Steve,
    You certainly did teach me a TON of keyboard shortcuts, and I thank you.

    With VS.Net bare, it’s pretty hard to achieve this, but since I use Resharper as my IDE inside VS, I reach for my mouse very seldomly.

  • http://iamacamera.org camera

    I created a VisualStudio shortcuts cheat sheet a while back.

    http://iamacamera.org/default.aspx?section=home&id=43

  • http://codebetter.com/blogs/jeremy.miller jmiller
  • John

    A few months ago I did a search for some keyboard shortcuts to make my programming fast but didn’t find a site that helped. Any suggestions? Can you share some shortcuts?

  • http://chrissimmons.ca Chris

    I definitely agree. I used to do my coding in vim, read mail in mutt, and use Ratpoison as my window manager – it’s hard to get used to, but it’s impressive to see the speed at which things can get done without reaching for the rodent.

  • http://blog.robballen.com Robb

    You can have my mouse. I use a Fingerworks Touchstream (stupid @!$%@ are out of business though), so my keyboard IS my mouse.

    However, I totally agree that you shouldn’t ever force anyone to switch devices to get a job done. Hard thing to acheive (and not always possible), but it is a good habit to get into.

  • http://www.cyclechaos.com/ Budlight

    I’m a big believer in using the keyboard, I’m also a big believer in the IBM keyboards with their stick button mouse(not sure of it’s proper name) instead of just the trackpad. I find I’m way more productive using my laptop with some things, than I am with my desktop for this reason. I wish more laptop manufacturers included this, it seems to be getting phased out.

  • http://donie.endofinternet.org/pebble/Steve/ Steve Donie

    Back when I used to do accessibility work, we would encourage developers to take a day and drop their mouse down behind their desk so that they could get a sense of what it was like for a blind person – someone who MUST use only the keyboard. I did this for a long time and have learned tons of keyboard shortcuts. When you’re pairing, always share them with each other and you’ll learn tons quickly.