Posts

Showing posts from February, 2016

Sarah and Joe Write Features

I wrote a question for the twitterverse: I assigned a story each to Sarah and Joe. Joe's feature made the company 4x as much as Sarah's, so Joe is the better programmer, right? — Tim Ottinger (@tottinge) February 10, 2016 Give that question a moment's thought and tell me what you think as a knee-jerk reaction. About Joe and Sarah Of course Joe and Sarah are fictional characters. No this isn't a gender question. I thought it would be wrong of me to pick two female names or two male names. I figured that there is really no way that I am going to get out of this without answering to questions (or charges) of gender bias no matter what I do, and so I decided to pick two names roughly at random. It didn't dawn on me that they're both European/American kinds of names until later -- so bias is probably real there. But what if one was an Indian name and the other Chinese? I can see that having all kinds of issues too. So I have two names, and please ...

Naming good is what Position?

I want to drop in a quick note about variable and class naming, one of my favorite hobby horses. I talked a little bit about choosing more completable names already. I think that is very important, and you would be well-served by paying attention to that bit. Today let's consider the serial position effect . In any programming namespace, we're going to come across some naming issues. Here is a non-comprehensive, non-exclusive list: Objects with a common base will want to include the base class name in the derived class, leaving us with MonoNUnitTestRunner derived from NUnitTestRunner derived from TestRunner , possibly breaking naming in its derivation from CodeEvaluationRunner and on and on. Objects in languages with declared interfaces have a tendency to want to declare the interfaces in their names. An iUserAction will have a UserActionImpl in many cases, whose children may follow the prior rule above.  People love naming the patterns they use in implementing an ...