Gustav Brock
Gustav at cactus.dk
Fri Jun 27 04:42:13 CDT 2008
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