Disillusionment with CorePlot – An Unfortunate Realization

CorePlot.jpg

As part of migrating from my old MacBook Pro to the new one I got today, I did an 'svn update' on the CorePlot repo - just to see if anything had changed since I'd put in that fix for the Core Animation NSDecimal encoding issue. I was surprised, and a little saddened by what I saw.

Virtually all the changes I'd made were gone. All the comments - Gone. The files looked exactly like the skeleton files I'd seen in the project. I had no idea that's what Drew thought was done. I didn't. Not even close.

Drew's checkin comment was pretty insightful:

Reduced the interface of new CPPlotRange class to make it 'minimal but complete'. Also removed a lot of commentary in the class, which wasn't really necessary, and just made understanding the class more difficult.

Removed the function 'CPMakePlotRange'. It was a quasi-initializer for the old struct, and has been superseded by a class method.

While I understand the comment minimal but complete, I don't think that's what Apple does on it's - init methods. There are a ton of them taking all different kinds of (relevant) data types: double, NSDecimal, NSDecimalNumber - all were valid in this case, but Drew has decided that only the NSDecimal one was needed.

Furthermore, I don't agree at all with his assessment of the comments. I'm clearly a comment-focused person. I live it every single day of my professional life. But it seems that Drew is of the belief that code should be simple enough to be self-documenting, and that's something I simply cannot work with.

So it makes me sad to say that I have no further desire to work with, or even use the CorePlot framework. I respect Drew's ability to do what he wants, but he's going to lead it down the path of a poorly documented pile of junk in a few years. I'd rather stick with commercial and live with the licensing issues and costs. In the end, Drew isn't going to take any real responsibility for the code, and yet he's completely unwilling to see the value of good, solid, commenting.

Too bad.