<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Jakob Külzer</title>
	<atom:link href="http://www.jakusys.de/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jakusys.de/blog</link>
	<description>Ninja Coding Monkey goes Canada</description>
	<lastBuildDate>Fri, 01 Jul 2011 11:20:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<item>
		<title>Comment on My Case Against Code Comments by Perlen, Tüten mit Perlen.</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-19741</link>
		<dc:creator>Perlen, Tüten mit Perlen.</dc:creator>
		<pubDate>Fri, 01 Jul 2011 11:20:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-19741</guid>
		<description>for myselfI think that stuff is usually under documented rather than over documented. Really A Nice....</description>
		<content:encoded><![CDATA[<p>for myselfI think that stuff is usually under documented rather than over documented. Really A Nice&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grails and LiquiBase &#8211; How to use by Working with the Grails Database Migration Plugin &#124; Tomás Lin&#8217;s Programming Brain Dump</title>
		<link>http://www.jakusys.de/blog/2008/09/grails-and-liquibase-how-to-use/comment-page-1/#comment-19535</link>
		<dc:creator>Working with the Grails Database Migration Plugin &#124; Tomás Lin&#8217;s Programming Brain Dump</dc:creator>
		<pubDate>Fri, 24 Jun 2011 08:45:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=313#comment-19535</guid>
		<description>[...] changesets, we use the database diff mechanism provided by the plugin. This is very similar to the liquibase mechanism described here by Jakob Kultzer, but made easier due to the Database Migration plugin&#8217;s [...]</description>
		<content:encoded><![CDATA[<p>[...] changesets, we use the database diff mechanism provided by the plugin. This is very similar to the liquibase mechanism described here by Jakob Kultzer, but made easier due to the Database Migration plugin&#8217;s [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grails and LiquiBase &#8211; How to use by Jakob Külzer</title>
		<link>http://www.jakusys.de/blog/2008/09/grails-and-liquibase-how-to-use/comment-page-1/#comment-18090</link>
		<dc:creator>Jakob Külzer</dc:creator>
		<pubDate>Tue, 10 May 2011 03:48:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=313#comment-18090</guid>
		<description>Hello Imran,
thank you, I&#039;m glad my post is so useful to you. :)</description>
		<content:encoded><![CDATA[<p>Hello Imran,<br />
thank you, I&#8217;m glad my post is so useful to you. <img src='http://www.jakusys.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grails and LiquiBase &#8211; How to use by Imran</title>
		<link>http://www.jakusys.de/blog/2008/09/grails-and-liquibase-how-to-use/comment-page-1/#comment-18073</link>
		<dc:creator>Imran</dc:creator>
		<pubDate>Mon, 09 May 2011 06:17:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=313#comment-18073</guid>
		<description>Hey Jakob. You have done a great job by writing this article and simplifying the database change management through liquibase. I keep on referring to this article every now and then, especially the section, &quot;Using LiquiBase in the Middle of a Project&quot;.  Thanks.</description>
		<content:encoded><![CDATA[<p>Hey Jakob. You have done a great job by writing this article and simplifying the database change management through liquibase. I keep on referring to this article every now and then, especially the section, &#8220;Using LiquiBase in the Middle of a Project&#8221;.  Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My Case Against Code Comments by Jakob Külzer</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-14478</link>
		<dc:creator>Jakob Külzer</dc:creator>
		<pubDate>Tue, 11 Jan 2011 13:31:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-14478</guid>
		<description>@Sakuraba: Interesting point. I agree that that this is a great way to structure bigger entities. Here PHP comes to my mind, it&#039;s inherently more verbose than for example Java. 
But what if you always had your elements in a certain order, let&#039;s say the way eclipse organizes code for you, static fields, static methods, fields, constructors, methods in alphabetical order. Would you still need the banners? I find that I usually find what I&#039;m looking for fast, and if I look for a specific method eclipse&#039;s outline (CTRL-o or CMD-o) does a great job. 
At the same time I try to keep my classes under 100, max 200 lines. Everything above is usually performing too many tasks. Think single responsibility principle. Each class should have only one responsibility and reason to change, and for me that leads to small classes that usually are very straightforward, ergo don&#039;t need much documentation. :)</description>
		<content:encoded><![CDATA[<p>@Sakuraba: Interesting point. I agree that that this is a great way to structure bigger entities. Here PHP comes to my mind, it&#8217;s inherently more verbose than for example Java.<br />
But what if you always had your elements in a certain order, let&#8217;s say the way eclipse organizes code for you, static fields, static methods, fields, constructors, methods in alphabetical order. Would you still need the banners? I find that I usually find what I&#8217;m looking for fast, and if I look for a specific method eclipse&#8217;s outline (CTRL-o or CMD-o) does a great job.<br />
At the same time I try to keep my classes under 100, max 200 lines. Everything above is usually performing too many tasks. Think single responsibility principle. Each class should have only one responsibility and reason to change, and for me that leads to small classes that usually are very straightforward, ergo don&#8217;t need much documentation. <img src='http://www.jakusys.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My Case Against Code Comments by Sakuraba</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-14469</link>
		<dc:creator>Sakuraba</dc:creator>
		<pubDate>Tue, 11 Jan 2011 07:35:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-14469</guid>
		<description>Okay this might sound a bit crazy, but it works great for me:

It is not just members, but also the implementation of interface methods, abstract methods, etc. This way you have a certain &quot;color&quot; for those &quot;structural comments&quot; in your head and your brain can skip that code much quicker when you are actually searching for something else. You dont have to read/understand it, because of the &quot;structural comment&quot; on top of it, you can just pretend that section isnt even there. But for that your brain has to have that color/comment-style stored so that it can skip it without actually telling you what it stands for. I agree that it is bullshit for imports/class definitions, but being able to quickly go through the segments of a class is very nice and a great way to save time if your class is between 400-800 lines, which unfortunately happens rather quick with Java ;) .</description>
		<content:encoded><![CDATA[<p>Okay this might sound a bit crazy, but it works great for me:</p>
<p>It is not just members, but also the implementation of interface methods, abstract methods, etc. This way you have a certain &#8220;color&#8221; for those &#8220;structural comments&#8221; in your head and your brain can skip that code much quicker when you are actually searching for something else. You dont have to read/understand it, because of the &#8220;structural comment&#8221; on top of it, you can just pretend that section isnt even there. But for that your brain has to have that color/comment-style stored so that it can skip it without actually telling you what it stands for. I agree that it is bullshit for imports/class definitions, but being able to quickly go through the segments of a class is very nice and a great way to save time if your class is between 400-800 lines, which unfortunately happens rather quick with Java <img src='http://www.jakusys.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My Case Against Code Comments by Jakob Külzer</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-14461</link>
		<dc:creator>Jakob Külzer</dc:creator>
		<pubDate>Tue, 11 Jan 2011 02:24:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-14461</guid>
		<description>@Mr Z: I agree on the documentation tools, I should have included them. Ah well, it was late when I wrote that. I also like your approach of reading comments before a commit. I usually start commenting when I feel comfortable enough that an API won&#039;t change too much. 


@Sakuraba: I&#039;m not sure if I can agree with that unless the class has a lot of members. And that by itself is a code smell, isn&#039;t it?  


@PhilLo: Good point, I didn&#039;t think of the out-of-sync comment. And I have to confess, I did headers and useless comments too, mostly out of lacking experience. On the other hand it&#039;s all about improving your skillsets, right? 
The legacy part is definitely a sad truth, I&#039;m having my fair share of legacy code... 


@Nicolas: You&#039;ll have to understand the situation that I was in when I wrote this post. Me and my team spent several days of crunch time digging through legacy and newly developed code. I was not amused that the quality of the new code was really really bad. The team that wrote it spent probably more time making their code comments look pretty than actually improving the object design of their code. I guess it was also me venting after several long and frustrating work days. 
With that out of the way, I disagree on the point [1] that arguments against self explanatory comments (that is what I believe you meant, you wrote &quot;code&quot;). Yes, it is kind of pointless to argue about something that is obviously bad, however I tried to make a point about which types of code comments I consider bad or at least non-beneficial. Also, when I went to university, we were told that every element had to be documented which leads to comments documenting the obvious. If only a few grads read this and start questioning what they get taught, I&#039;m happy. 
Regarding [2.], yes, I am too young to remember day&#039;s without SCM. But this is 2011 and SCM are cheap and effective. So when I find large portions of commented out code in newly developed code, I really have to wonder. 
Regarding [3.], you kind of have a point there. However, it&#039;s part of an argument that leads to my final point, &quot;Final Advice&quot;, where I try to explain how to avoid useless comments or write better code. 

I guess my post is poorly titled, I&#039;m don&#039;t believe code comments are useless. In fact,  comments (and here I really think javadoc style comments) are an essential tool to document and explain an API. Every package should have a high level description of its intention and usage. But most comments I encounter at work are useless, obvious and pointless comments of the above categories. 

If time permits, I&#039;m planing to write a post about how to write good comments, so I&#039;m really thankful for every piece of criticism, both positive and negative. 


@Sam: 
I agree, and in fact, 49% of all developers are sub-standard. ;) And to be honest, I don&#039;t consider myself a top developer either, which means I usually stumble about things like bad code comments. On a high or conceptual level comments/documentation are essential, I second that. 


@Anders:
Good point, I haven&#039;t thought about that. You have a point there; I think it comes down to my argument about &quot;documenting the obvious&quot;. If a getter gets documented, it should be more specific than just &quot;returns x&quot;.</description>
		<content:encoded><![CDATA[<p>@Mr Z: I agree on the documentation tools, I should have included them. Ah well, it was late when I wrote that. I also like your approach of reading comments before a commit. I usually start commenting when I feel comfortable enough that an API won&#8217;t change too much. </p>
<p>@Sakuraba: I&#8217;m not sure if I can agree with that unless the class has a lot of members. And that by itself is a code smell, isn&#8217;t it?  </p>
<p>@PhilLo: Good point, I didn&#8217;t think of the out-of-sync comment. And I have to confess, I did headers and useless comments too, mostly out of lacking experience. On the other hand it&#8217;s all about improving your skillsets, right?<br />
The legacy part is definitely a sad truth, I&#8217;m having my fair share of legacy code&#8230; </p>
<p>@Nicolas: You&#8217;ll have to understand the situation that I was in when I wrote this post. Me and my team spent several days of crunch time digging through legacy and newly developed code. I was not amused that the quality of the new code was really really bad. The team that wrote it spent probably more time making their code comments look pretty than actually improving the object design of their code. I guess it was also me venting after several long and frustrating work days.<br />
With that out of the way, I disagree on the point [1] that arguments against self explanatory comments (that is what I believe you meant, you wrote &#8220;code&#8221;). Yes, it is kind of pointless to argue about something that is obviously bad, however I tried to make a point about which types of code comments I consider bad or at least non-beneficial. Also, when I went to university, we were told that every element had to be documented which leads to comments documenting the obvious. If only a few grads read this and start questioning what they get taught, I&#8217;m happy.<br />
Regarding [2.], yes, I am too young to remember day&#8217;s without SCM. But this is 2011 and SCM are cheap and effective. So when I find large portions of commented out code in newly developed code, I really have to wonder.<br />
Regarding [3.], you kind of have a point there. However, it&#8217;s part of an argument that leads to my final point, &#8220;Final Advice&#8221;, where I try to explain how to avoid useless comments or write better code. </p>
<p>I guess my post is poorly titled, I&#8217;m don&#8217;t believe code comments are useless. In fact,  comments (and here I really think javadoc style comments) are an essential tool to document and explain an API. Every package should have a high level description of its intention and usage. But most comments I encounter at work are useless, obvious and pointless comments of the above categories. </p>
<p>If time permits, I&#8217;m planing to write a post about how to write good comments, so I&#8217;m really thankful for every piece of criticism, both positive and negative. </p>
<p>@Sam:<br />
I agree, and in fact, 49% of all developers are sub-standard. <img src='http://www.jakusys.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  And to be honest, I don&#8217;t consider myself a top developer either, which means I usually stumble about things like bad code comments. On a high or conceptual level comments/documentation are essential, I second that. </p>
<p>@Anders:<br />
Good point, I haven&#8217;t thought about that. You have a point there; I think it comes down to my argument about &#8220;documenting the obvious&#8221;. If a getter gets documented, it should be more specific than just &#8220;returns x&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My Case Against Code Comments by Anders</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-14455</link>
		<dc:creator>Anders</dc:creator>
		<pubDate>Mon, 10 Jan 2011 21:28:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-14455</guid>
		<description>Good article. 
I have a question: aren&#039;t getters and setters always nonprivate API, and as such should be documented? I mean, getTemperature() shouldn&#039;t be documented with &quot;gets the temperature&quot;, but with &quot;gets the last measured temperature in degrees C&quot;</description>
		<content:encoded><![CDATA[<p>Good article.<br />
I have a question: aren&#8217;t getters and setters always nonprivate API, and as such should be documented? I mean, getTemperature() shouldn&#8217;t be documented with &#8220;gets the temperature&#8221;, but with &#8220;gets the last measured temperature in degrees C&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My Case Against Code Comments by Sam</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-14447</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Mon, 10 Jan 2011 15:34:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-14447</guid>
		<description>Nice Post! Agreed with most of the stuff you say - certainly not the way to comment stuff. 

You assume that most people are &#039;good programmers&#039;. I&#039;ve seen things that certainly classify as good comments - there are a variety of valid reason why you should write comments! 
(e.g. the functional spec is probably not going to be available to the unfortunate person who needs to fix a bug in the code at mid-night. Explaining why a the code is supposed to throw a particular exception (even though the function spec/Tech spec) clearly specifies it might not be so bad.

I upgraded my opinion of using &#039;loggers&#039; and code technique when possible over comments some months!

Personally I think that stuff is usually under documented rather than over documented.</description>
		<content:encoded><![CDATA[<p>Nice Post! Agreed with most of the stuff you say &#8211; certainly not the way to comment stuff. </p>
<p>You assume that most people are &#8216;good programmers&#8217;. I&#8217;ve seen things that certainly classify as good comments &#8211; there are a variety of valid reason why you should write comments!<br />
(e.g. the functional spec is probably not going to be available to the unfortunate person who needs to fix a bug in the code at mid-night. Explaining why a the code is supposed to throw a particular exception (even though the function spec/Tech spec) clearly specifies it might not be so bad.</p>
<p>I upgraded my opinion of using &#8216;loggers&#8217; and code technique when possible over comments some months!</p>
<p>Personally I think that stuff is usually under documented rather than over documented.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My Case Against Code Comments by Nicolas Frankel</title>
		<link>http://www.jakusys.de/blog/2010/12/my-case-against-code-comments/comment-page-1/#comment-14444</link>
		<dc:creator>Nicolas Frankel</dc:creator>
		<pubDate>Mon, 10 Jan 2011 13:01:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1268#comment-14444</guid>
		<description>Wow, another article against code comments. This is original, you took great risks. Congratulations.

Well, I would like to raise some points:

1. Arguments against self-explanatory code are not valid. This is a low-level as can be. Please, isn&#039;t it evident that this is bad? Do you really need an article to tell us?
2. The famous commented out code. Perhaps you&#039;re too young to remember but there was a time when most projects didn&#039;t use a VCS. Why? Because they were expensive (like IDEs were but this a story for antoher time). The only thing that saved those projects was commenting out code. Now, some people still do it. It&#039;s bad but has nothing to do with comments.
3. Irrelevant comments are also bad. My gosh, is it true? I didn&#039;t know that before.

Again, not to go against the majority of yes-man, but comments are necessary. Why? Because when you work in real life projects, there&#039;s a thing called maintenance. And you do maintenance much more often than true development. In this case, you&#039;re a lot happier to read 10 comments lines that 10 Java files code. How do I know? Because I was the man who had to update features on your crappy code and had to read uncommented Java files. 

Trying to dry your cat in the microwave oven doesn&#039;t make an argument against using the same oven to eat your food.

The only thing left is that comments should explain what, not how (and in any case not paraphrase the code).

So, please stop the comments bashing thread and write something that can really make things go forward.</description>
		<content:encoded><![CDATA[<p>Wow, another article against code comments. This is original, you took great risks. Congratulations.</p>
<p>Well, I would like to raise some points:</p>
<p>1. Arguments against self-explanatory code are not valid. This is a low-level as can be. Please, isn&#8217;t it evident that this is bad? Do you really need an article to tell us?<br />
2. The famous commented out code. Perhaps you&#8217;re too young to remember but there was a time when most projects didn&#8217;t use a VCS. Why? Because they were expensive (like IDEs were but this a story for antoher time). The only thing that saved those projects was commenting out code. Now, some people still do it. It&#8217;s bad but has nothing to do with comments.<br />
3. Irrelevant comments are also bad. My gosh, is it true? I didn&#8217;t know that before.</p>
<p>Again, not to go against the majority of yes-man, but comments are necessary. Why? Because when you work in real life projects, there&#8217;s a thing called maintenance. And you do maintenance much more often than true development. In this case, you&#8217;re a lot happier to read 10 comments lines that 10 Java files code. How do I know? Because I was the man who had to update features on your crappy code and had to read uncommented Java files. </p>
<p>Trying to dry your cat in the microwave oven doesn&#8217;t make an argument against using the same oven to eat your food.</p>
<p>The only thing left is that comments should explain what, not how (and in any case not paraphrase the code).</p>
<p>So, please stop the comments bashing thread and write something that can really make things go forward.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

