<?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 on: Are you using Hungarian notation?</title>
	<atom:link href="http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/feed/" rel="self" type="application/rss+xml" />
	<link>http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/</link>
	<description>Code, 3D, Games, Linux and much more...</description>
	<lastBuildDate>Mon, 09 Nov 2009 03:12:38 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: ent</title>
		<link>http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/comment-page-1/#comment-61</link>
		<dc:creator>ent</dc:creator>
		<pubDate>Tue, 11 Apr 2006 01:05:53 +0000</pubDate>
		<guid isPermaLink="false">http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/#comment-61</guid>
		<description>Yes, I finished it. I wrote a little review. :-)</description>
		<content:encoded><![CDATA[<p>Yes, I finished it. I wrote a little review. <img src='http://entland.homelinux.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto</title>
		<link>http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/comment-page-1/#comment-59</link>
		<dc:creator>Alberto</dc:creator>
		<pubDate>Wed, 05 Apr 2006 22:58:05 +0000</pubDate>
		<guid isPermaLink="false">http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/#comment-59</guid>
		<description>I definitely agree ent. m_ is really useful for C++. And I&#039;ve never liked this notation to give information about a variable type (f_ , i_, bla, bla). Some time ago, when development tools weren&#039;t too advance, well I could understand using it but, nowadays, it doesn&#039;t make any sense for me. Just an example, if you are using Visual Studio 2005, the code editor gives you a bunch of information about a variable just moving the cursor over it. And I know there were some addons that did the same on older version of Visual Studio. There is no need for redundancy. 

PS: ent, did you finish reading &quot;Conceptual Blockbusting&quot;?</description>
		<content:encoded><![CDATA[<p>I definitely agree ent. m_ is really useful for C++. And I&#8217;ve never liked this notation to give information about a variable type (f_ , i_, bla, bla). Some time ago, when development tools weren&#8217;t too advance, well I could understand using it but, nowadays, it doesn&#8217;t make any sense for me. Just an example, if you are using Visual Studio 2005, the code editor gives you a bunch of information about a variable just moving the cursor over it. And I know there were some addons that did the same on older version of Visual Studio. There is no need for redundancy. </p>
<p>PS: ent, did you finish reading &#8220;Conceptual Blockbusting&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ent</title>
		<link>http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/comment-page-1/#comment-58</link>
		<dc:creator>ent</dc:creator>
		<pubDate>Wed, 05 Apr 2006 01:45:07 +0000</pubDate>
		<guid isPermaLink="false">http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/#comment-58</guid>
		<description>Microsoft doesn&#039;t recommend Hungarian notation anymore, of that is what I think. I think that a strict Hungarian notation is bad but a light hungarian notation may be useful for C++.

Hungarian notation for scope is really useful, adding a m_ to member variables is not only useful to indicate that you are using a member variable but to avoid name conflicts in the typical Get/Set function. If someone admits scope information in the variable names, following the same reasoning type information should be accepted too (at least, a simple one). Simple type information like an i_ for integer, ui for unsigned, sz for char* and f_ for floats can give you extra information that sometimes you cannot easily get from the context (and that you could get from Intellisense or VisualAssist but most of the times this won&#039;t work).

For example, reading this code (under a code review):

&lt;code&gt;val = a  + b - c - d;&lt;/code&gt;


This expression may get your attention depending of the types involved (integers or floats). For example, if they are floats you must be sure that a, b, c and d are sorted properly to get the maximum precision in the operation.

Yesterday I was thinking in leaving this notation and now I am convinced that it is still really useful. I only have to relax the rulex a bit.</description>
		<content:encoded><![CDATA[<p>Microsoft doesn&#8217;t recommend Hungarian notation anymore, of that is what I think. I think that a strict Hungarian notation is bad but a light hungarian notation may be useful for C++.</p>
<p>Hungarian notation for scope is really useful, adding a m_ to member variables is not only useful to indicate that you are using a member variable but to avoid name conflicts in the typical Get/Set function. If someone admits scope information in the variable names, following the same reasoning type information should be accepted too (at least, a simple one). Simple type information like an i_ for integer, ui for unsigned, sz for char* and f_ for floats can give you extra information that sometimes you cannot easily get from the context (and that you could get from Intellisense or VisualAssist but most of the times this won&#8217;t work).</p>
<p>For example, reading this code (under a code review):</p>
<p><code>val = a  + b - c - d;</code></p>
<p>This expression may get your attention depending of the types involved (integers or floats). For example, if they are floats you must be sure that a, b, c and d are sorted properly to get the maximum precision in the operation.</p>
<p>Yesterday I was thinking in leaving this notation and now I am convinced that it is still really useful. I only have to relax the rulex a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Manolete</title>
		<link>http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/comment-page-1/#comment-57</link>
		<dc:creator>Manolete</dc:creator>
		<pubDate>Wed, 05 Apr 2006 00:30:50 +0000</pubDate>
		<guid isPermaLink="false">http://entland.homelinux.com/blog/2006/04/04/are-you-using-hungarian-notation/#comment-57</guid>
		<description>With all the evangelising done by Microsoft Press, I find myself using Hungarian notation systematically at work, both to denote scope and typing, as well as some semantic information such as the format of a string. However, I personally find this practice a convoluted workaround for the shortcomings of some compilers (and sometimes the C++ language itself), in particular for type denomination; actually, most recent compilers provide adequate warnings for the implicit promotion of arithmetic types, and singed/unsigned operations (comparisons, shifts, etc). As for character and string types (acz, sz, autf16z, wtf…) it seems like a lack of good conventions. Also, the nature of variables of constructed types like arrays and pointers should be given by the context, and not by the name, as there are much more subtle details (ownership, persistence) that require a deeper understanding of the code by the programmer and Hungarian notation does not cover. 

With regard to scope naming conventions, I think C++ actually needs them, since the compiler cannot possibly report most of the semantic errors that the misuse of these variables may lead to. Perhaps the syntax could be changed as to make the programmer more aware (e.g. removing the ellipsis of “this-&gt;” in member functions) but this would be also quite cumbersome. Anyway, still lot of room for improvement for programming languages… something we should be happy about, isn’t it?

My 2p

Manolete</description>
		<content:encoded><![CDATA[<p>With all the evangelising done by Microsoft Press, I find myself using Hungarian notation systematically at work, both to denote scope and typing, as well as some semantic information such as the format of a string. However, I personally find this practice a convoluted workaround for the shortcomings of some compilers (and sometimes the C++ language itself), in particular for type denomination; actually, most recent compilers provide adequate warnings for the implicit promotion of arithmetic types, and singed/unsigned operations (comparisons, shifts, etc). As for character and string types (acz, sz, autf16z, wtf…) it seems like a lack of good conventions. Also, the nature of variables of constructed types like arrays and pointers should be given by the context, and not by the name, as there are much more subtle details (ownership, persistence) that require a deeper understanding of the code by the programmer and Hungarian notation does not cover. </p>
<p>With regard to scope naming conventions, I think C++ actually needs them, since the compiler cannot possibly report most of the semantic errors that the misuse of these variables may lead to. Perhaps the syntax could be changed as to make the programmer more aware (e.g. removing the ellipsis of “this-&gt;” in member functions) but this would be also quite cumbersome. Anyway, still lot of room for improvement for programming languages… something we should be happy about, isn’t it?</p>
<p>My 2p</p>
<p>Manolete</p>
]]></content:encoded>
	</item>
</channel>
</rss>
