Charlotte Foust
cfoust at infostatsystems.com
Fri Jun 27 10:18:06 CDT 2008
Class modules, absolutely, when they're pure classes. But when you are working with WinForms, comments help a lot. And if you want anyone else, including yourself a year down the line, to remember WHY you did it that way, even in a class module, comments are still valuable!! Charlotte Foust -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Friday, June 27, 2008 7:54 AM To: Discussion concerning Visual Basic and related programming issues. Subject: Re: [dba-VB] Getting TextReader from strings... I also agree. Class modules can almost be completely self explanatory. Drew -----Original Message----- From: dba-vb-bounces at databaseadvisors.com [mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of Gustav Brock Sent: Friday, June 27, 2008 4:42 AM To: dba-vb at databaseadvisors.com Subject: Re: [dba-VB] Getting TextReader from strings... Hi Shamil > I do not argue, OK? :) OK, that's also how I understood your comments. I see your point. There's a big difference between code modules like that of Rocky's with 2000 lines and a series of small functions and classes where all variables and methods and properties are given names which clearly indicate the purpose. Unfortunately, the XML commenting method I haven't used yet ... /gustav >>> shamil at smsconsulting.spb.ru 27-06-2008 11:06 >>> Hi Gustav, I do not argue, OK? :) The point is that inline commenting is becoming less and less important/useful (and imposes too much costs to be true) as nowadays (r-)evolutionary agile Test_Driven-Design (TDD) programming practices progress: when applied by experienced agilist these practices result in small max 10-15 code lines "self-explaining" streamlined methods. Classes/Modules and Methods DO have XML comments, where the purpose of classes/modules/methods and all their parameters are described with needed level of destabilization, as well as additional remarks to explain the purpose and usage of method in details if needed are supplied but usually no inline comments in code at all. I have seen somewhere an article from Martin Fawler or maybe another famous agilist who were "pushing" this approach. And I do use it and I like it - this is why I write about it :) (IOW I'm not arguing for the purpose of "pure" arguing but I'm referring to everyday practices, which I do follow with successfully finished projects and satisfied customers with some of them being also experienced developers...) The everyday practice in TDD is that you can "mercilessly refactor" a well covered by Unit/Integration tests piece of code several times a day, and if it has inline comments then they become a trouble (they result in additional significant support costs) as you need to modify them as often as you refactor your code. But with clean streamlined code every class, interface, method, parameter is usually self-explaining therefore class level and method level comments are usually good enough... Thank you. -- Shamil P.S. Very mature IMO article on Agile and XP: "Is Design Dead?" - http://martinfowler.com/articles/designDead.html _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com The information contained in this transmission is intended only for the person or entity to which it is addressed and may contain II-VI Proprietary and/or II-VI Business Sensitive material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, copying, disclosure, dissemination, or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. _______________________________________________ dba-VB mailing list dba-VB at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-vb http://www.databaseadvisors.com