Starting From Scratch

I believe that everyone hates the feeling of starting from scratch, regardless of age or experience. This will cause people who should know better to make bad decisions, even misleading people who are conscious of the effect. In my mental model of knowledge, I split skills between three major mastery levels: Those we can use [...]

Buddy, Can You Spare A Namespace?

C++, Namespaces, and Macros You’re a careful C++ programmer. You use namespaces obsessively, your classes are well-organized, and your files are carefully placed in a nice hierarchy. Name collisions aren’t going to strike your code! Well, you actually can’t guarantee that: Namespaces are completely ignored by the macro preprocessor. Short of drastic measure (such as [...]

Norvig, Atwood, and Comments

Steve McConnell on Comments Jeff Atwood recently wrote an article on comments in source code. He discusses a few different approaches to commenting a Newton’s method square root function, and describes the pros and cons. His reasoning was (unsurprisingly) influenced by Steve McConnell. Good code is its own best documentation. As you’re about to add [...]