Letters from Readers

Letters From Readers

In January, On VB columnist Joe Kunk wrote a column entitled "To Comment or Not to Comment." This article evoked some spirited debate about the costs and benefits of commenting code. Most respondents vigorously supported commenting, but a few offered a counter argument.

Comments are a clue as to what the developer was thinking when he wrote the comment. As long as you keep that in mind, comments are useful to have. But I'd rather not duplicate info in a comment that's already evident in the code. Sparse, value-added comments are good. Comments for the sake of comments are bad!

Rolling Meadows, Ill.

I've seen places where comments have been useful: for example, if you change code in a way that looks obvious but something unexpected will happen. However, in general, comments clutter the code that's written by experts for experts to read. My guess is that for every time a comment has added to my understanding, there have been an equal number of comments that clouded my knowledge of what was actually going on. I almost never read the comments until I have an understanding of what the code is doing.

New Zealand

While no one can be completely against comments, I kind of fall into the anti-comment camp. I'm a Smalltalk programmer and, to my mind, most Smalltalk code typically has too few comments -- where too few means practically none. But in Smalltalk we (mostly) get away with this because Smalltalk is a good-quality object-oriented language and object-oriented languages tend to result in more readable code. Also, Smalltalk uses named method parameters. Named method parameters make code much easier to follow and make comments much less necessary. I've never understood why most of the object-oriented languages that came after Smalltalk abandoned named parameters in favor of C-style argument lists.

Calgary, Alberta, Canada

About the Author

This story was written or compiled based on feedback from the readers of Visual Studio Magazine.

comments powered by Disqus


  • How to Create a Machine Learning Decision Tree Classifier Using C#

    After earlier explaining how to compute disorder and split data in his exploration of machine learning decision tree classifiers, resident data scientist Dr. James McCaffrey of Microsoft Research now shows how to use the splitting and disorder code to create a working decision tree classifier.

  • Microsoft: Move from Traditional ASP.NET to 'Core' Requires 'Heavy Lifting'

    There are plenty of reasons to move traditional ASP.NET web apps -- part of the old .NET Framework -- to the new cross-platform direction, ASP.NET Core, but beware it will require some "heavy lifting," Microsoft says.

  • Purple Blue Nebula Graphic

    How to Compute Disorder for Machine Learning Decision Trees Using C#

    Using a decision tree classifier from a machine learning library is often awkward because it usually must be customized and library decision trees have many complex supporting functions, says resident data scientist Dr. James McCaffrey, so when he needs a decision tree classifier, he always creates one from scratch. Here's how.

  • Blazor's Future: gRPC Is Key

    Blazor guru Steve Sanderson detailed what Microsoft is thinking about the future of the revolutionary project that enables .NET-based web development using C# instead of JavaScript, explaining how gRPC is key, along with a new way of testing and a scheme for installable desktop apps.

  • Don't Do It All Yourself: Exploiting gRPC Well Known Types in .NET Core

    If you're creating business services that send dates and decimal data then you may be concerned that gRPC services don't support the relevant data types. Don't Panic! There are solutions. Here's how to use them.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events