I’ve always been a stickler for coding style. In fact, many (many) years ago, my boss deputized me as the code police and even gave me a sheriff’s badge. I have since mellowed considerably on the finer details, but I still insist on consistency. Like many software developers, I have a knack for noticing inconsistencies, to the point that they distract me when I’m trying to understand or modify code. I’ve still got my personal preferences, but I can cope with a codebase that deviates from them, at least if it does so consistently.
When I’m writing code, I give myself plenty of time to think about naming. Good names are one of the best ways to produce code that can be read and understood. In fact, I’ve come to believe that good names make most code comments unnecessary. I try not to be unreasonable about it – not every name is worth pondering for 15 minutes. But I do take my time with names that can’t be easily changed – repository names, the public API of published libraries, web service APIs, etc.
LINQPad is an indispensable tool for C# developers. It’s great for experimenting and for one-off data munging. I even used it this weekend to write a script for my wife: it reads data from a text file, runs a basic brute-force algorithm, and builds a Word document from the results. The premium version of LINQPad is totally worth it (especially if your employer foots the bill).
Workflowy is by far the website that I would miss the most if it was gone, both in my personal and my professional life. It is the perfect note-taking tool for my brain. I have always loved outlines and bullet lists, and Workflowy combines the two into an outstanding user interface for creating, editing, finding, marking as completed, and even sharing with others. Even if I didn’t need the features of Workflowy Pro, I’d pay for it anyway because it is the productivity tool I was always waiting for.
SmartGit has been one of my favorite development tools since we moved from Subversion to Git for source control. You’d think that someone who has been tinkering with computers for 35 years would be comfortable on the command line, but memorizing arcane command-line syntax is just not something that my brain is good at, so I love a good user interface, and SmartGit provides an excellent one for Git, supporting just about every feature of the
git command line tool, in a way that I can understand and remember.
I just added an Atom feed to this blog. Which makes this as good a time as any to mention Feedly, one of my favorite websites. Remember Google Reader and RSS feeds? Feedly filled the gaping hole that Google Reader left behind, and there are still plenty of blogs and websites out there that support RSS/Atom feeds. It’s a great way to keep tabs on a large number of websites without having to visit them all. One of these days, the number of websites with feeds that I want to follow might drop to the point where I don’t need it any more, but for now I find Feedly very useful.