<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devpinoy.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>jokiz : design guidelines</title><link>http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx</link><description>Tags: design guidelines</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>single letter variable names</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2007/01/08/single-letter-variable-names.aspx</link><pubDate>Mon, 08 Jan 2007 00:37:02 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:7552</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=7552</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=7552</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2007/01/08/single-letter-variable-names.aspx#comments</comments><description>&lt;blockquote&gt; &lt;p&gt;If j(i) &amp;lt; 1 Then m = m + j(i - 1) Else m = m + j(i - 1) - 1&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Single letter variables are good for iterators, but if integer variables will involve coditions such as the statement above, better use a more descriptive variable or refactor the said line to a method with a descriptive name.&amp;nbsp; I guess if you're using vb6/vba, you cannot escape from transitioning values between 0 index to 1 index conditionals.&lt;/p&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=7552" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/techie/default.aspx">techie</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>to derive or not to derive from ApplicationException</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2006/06/27/ApplicationExceptionUseless.aspx</link><pubDate>Tue, 27 Jun 2006 10:13:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:3707</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=3707</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=3707</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2006/06/27/ApplicationExceptionUseless.aspx#comments</comments><description>remember the rule to always derive custom exceptions from ApplicationException?&amp;nbsp; so you thought that the CLR never throws an ApplicationException?&amp;nbsp; Krzysztof Cwalina (co-author of Brad Adams in the famous Framework Design Guidelines book) blogs about the exception (pun) &lt;a href="http://blogs.msdn.com/kcwalina/archive/2006/06/23/644822.aspx"&gt;here&lt;/a&gt;.&amp;nbsp; &lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=3707" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>Do not call overridable methods in constructors</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2006/05/25/Do-not-call-overridable-methods-in-constructors.aspx</link><pubDate>Thu, 25 May 2006 09:12:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:3208</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=3208</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=3208</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2006/05/25/Do-not-call-overridable-methods-in-constructors.aspx#comments</comments><description>I noticed that Resharper 2.0 highlighted (meaning it is against a rule) a call to a virtual method in a constructor in one of my business objects.&amp;nbsp; It gave me the following information information in msdn (&lt;a&gt;http://msdn2.microsoft.com/en-us/library/ms182331.aspx&lt;/a&gt;)&lt;br&gt;&lt;br&gt;Looking at the sample code from the link above, the base class calling the virtual method.&amp;nbsp; I expect the override to be called eventhough the subclass is not yet fully instantiated.&amp;nbsp; Does it mean that other languages expect the base class virtual method to be called when the subclass is not yet instantiated?&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=3208" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/resharper/default.aspx">resharper</category></item><item><title>String Property construct</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2006/04/18/String-Property-construct.aspx</link><pubDate>Tue, 18 Apr 2006 00:25:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:2748</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=2748</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=2748</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2006/04/18/String-Property-construct.aspx#comments</comments><description>anybody who is also using this construct for string properties?&amp;nbsp; we rarely want our string properties to be null and since it is a reference type, we have to have handling for it.&amp;nbsp; can you see any disadvantage of such construct?&lt;br&gt;&lt;br&gt;[code language="C#"]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public string StringProperty&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _stringProperty; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; set&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(value == null) value = string.Empty;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; //Do whatever&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;[/code]&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=2748" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>TDS Protocol</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2006/02/26/TDS-Protocol.aspx</link><pubDate>Sun, 26 Feb 2006 07:24:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:1883</guid><dc:creator>jokiz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=1883</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=1883</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2006/02/26/TDS-Protocol.aspx#comments</comments><description>&lt;P&gt;For most of you who have been using stored procedures and following the MS guidelines in .NET Application Development, you must have been using SET NOCOUNT ON as stated in &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/ScaleNetChapt12.asp"&gt;Chapter 12 of the Improving .NET Application Performance and Scalability&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Although the MSDN docs was enough to tell me that with NOCOUNT set to OFF (man, their keyword sucks, the one often used should be the default variable, this is just like IsPostBack for ASPNET), the row count data which is often not needed is always transferred, I wanted to know the internals of the data being passed between SQL Server and the client application.&amp;nbsp; I was lucky to find this &lt;A href="http://www.freetds.org/tds.html"&gt;TDS Documentation&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;As many of you know, SQL Server uses this Tabular Data Stream Protocol in passing data.&amp;nbsp; The TDS documentation was able to give me a snapshot of how data is being transferred between SQL Server and the SQLClient Data Provider.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.freetds.org/tds.html"&gt;http://www.freetds.org/tds.html&lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=1883" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/SQL/default.aspx">SQL</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>Naming Guidelines</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/11/10/Naming-Guidelines.aspx</link><pubDate>Wed, 09 Nov 2005 13:16:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:404</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=404</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=404</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/11/10/Naming-Guidelines.aspx#comments</comments><description>&lt;P&gt;In response to dehranph's comment on my previous post (&lt;a href="http://community.devpinoy.org/blogs/joeycalisay/archive/2005/11/08/401.aspx"&gt;http://community.devpinoy.org/blogs/joeycalisay/archive/2005/11/08/401.aspx&lt;/A&gt;), it reminded me of the naming guidelines in .NET.&lt;/P&gt;
&lt;P&gt;His comment was about the DeleteCustomer method which has a Customer object as parameter, which we both agreed to be redundant and should have been just a Delete method with a Customer instance as parameter.&lt;/P&gt;
&lt;P&gt;It's very important for me to follow the naming guidelines for readability.&amp;nbsp; As for the scenario cited, it also shortens codes because for me, i hate it when I can't fit a single method call or an if test in just one line (especially if I'm using an 800x600 resolution).&lt;/P&gt;
&lt;P&gt;In addition, naming classes with an acronym (two or three letter of the project name) before each classes is a PITA for me.&amp;nbsp; It's the primary purpose of namespaces in .NET!&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=404" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>OOP-Encapsulation issues</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/11/08/OOP_2D00_Encapsulation-issues.aspx</link><pubDate>Tue, 08 Nov 2005 12:14:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:401</guid><dc:creator>jokiz</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=401</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=401</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/11/08/OOP_2D00_Encapsulation-issues.aspx#comments</comments><description>&lt;P&gt;As I was refactoring some of our codes, what struck me was the idea of object oriented programming particularly encapsulation.&lt;/P&gt;
&lt;P&gt;For example, we have this &lt;STRONG&gt;Customer &lt;/STRONG&gt;object which is distinct with its &lt;STRONG&gt;CustomerID &lt;/STRONG&gt;property.&amp;nbsp; We needed to have versioning for the said entity and so we introduced an additional&amp;nbsp;&lt;STRONG&gt;Version &lt;/STRONG&gt;integer property.&amp;nbsp; I've been seeing routines throwing &lt;STRONG&gt;CustomerID &lt;/STRONG&gt;alongside &lt;STRONG&gt;Version &lt;/STRONG&gt;to refer to a particular &lt;STRONG&gt;Customer &lt;/STRONG&gt;object.&amp;nbsp; Ideally (from what I know), the said routines should be just interacting with an instance of Customer object in the first place.&amp;nbsp; The versioning should have been implemented internally through encapsulation and calling routines should be unaware about versioning which should've been handled by the &lt;STRONG&gt;Cutomer &lt;/STRONG&gt;class himself.&lt;/P&gt;
&lt;P&gt;I hate to see codes throwing and consuming PK's of business entities as parameters and not instances of business entities.&amp;nbsp; Anyone who wants to shed a light on these?&amp;nbsp; Am I on the right track?&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=401" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/oop/default.aspx">oop</category></item><item><title>ArgumentNullException - API design hall of shame</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/06/22/ArgumentNullException-_2D00_-API-design-hall-of-shame.aspx</link><pubDate>Tue, 21 Jun 2005 21:21:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:3679</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=3679</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=3679</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/06/22/ArgumentNullException-_2D00_-API-design-hall-of-shame.aspx#comments</comments><description>&lt;span id="BlogViewId"&gt;&lt;p&gt;I have read this before but just want to make a permanent reference to it in this blog.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Brad Adams explains why the ArgumentNullException class violates the Design Guidelines &lt;a href="http://blogs.msdn.com/brada/search.aspx?q=argumentnullexception&amp;amp;p=1"&gt;here&lt;/a&gt;&amp;nbsp;for not following the exception constructor patterns.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/brada/search.aspx?q=argumentnullexception&amp;amp;p=1"&gt;http://blogs.msdn.com/brada/search.aspx?q=argumentnullexception&amp;amp;p=1&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=3679" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>Designing .NET Class Libraries Series</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/04/25/Designing-.NET-Class-Libraries-Series.aspx</link><pubDate>Mon, 25 Apr 2005 06:30:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:3661</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=3661</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=3661</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/04/25/Designing-.NET-Class-Libraries-Series.aspx#comments</comments><description>&lt;span id="BlogViewId"&gt;&lt;p&gt;I've seen a part of this (Brad Adams
presentation on Naming)&amp;nbsp;perhaps a month ago, I just discovered that it
is a part of a good set of webcasts worth seeing.&amp;nbsp; Can't wait to see
Brian Pepin's presentation (design time guru).&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/netframework/programming/classlibraries/"&gt;http://msdn.microsoft.com/netframework/programming/classlibraries/&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=3661" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>Code Complete 1st edition</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/04/21/Code-Complete-1st-edition.aspx</link><pubDate>Thu, 21 Apr 2005 06:18:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:3396</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=3396</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=3396</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/04/21/Code-Complete-1st-edition.aspx#comments</comments><description>&lt;span id="ctl03_lblPermalink"&gt;I was reading Steve McConnell's first
edition of Code Complete and the book is highly recommended.&amp;nbsp; Although
the sample uses old languages like pascal and c, and some topics does
not apply to current programming languages, I love the way he presents
his arguments on how to do things the right way.&amp;nbsp; Although one might
not agree on all his suggestions/views, it is worth reading and
knowing&amp;nbsp;his guidelines in coding.&amp;nbsp; The second edition is obviously on
my books-to-buy list.&lt;/span&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=3396" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>Hungarian Notation </title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/03/29/Hungarian-Notation-.aspx</link><pubDate>Tue, 29 Mar 2005 05:42:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:40</guid><dc:creator>jokiz</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=40</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=40</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/03/29/Hungarian-Notation-.aspx#comments</comments><description>&lt;P&gt;I started programming with C and used Hungarian notation since then.&amp;nbsp; It was very helpful back then to instantly know what type the variable is from its name.&lt;/P&gt;
&lt;P&gt;When I started programming in .NET using Visual Studio, Intellisense made a major breakthrough and helped a lot.&amp;nbsp; You just point your mouse over a variable and intellisense will provide you with its underlying type.&amp;nbsp; Not to mention the automatic dropdown of object members after a dot(.) operator.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Upon seeing a number of codes on the net and knowing the &lt;A href="http://blogs.msdn.com/brada/articles/361363.aspx"&gt;preferred convention &lt;/A&gt;of on naming variables, I started to realize that I'm beginning to hate Hungarian Notation.&amp;nbsp; I don't want to see those &lt;STRONG&gt;str&lt;/STRONG&gt; prefixes on string variables, etc.&amp;nbsp; And besides, if you follow today's standard naming guidelines, you can deduce from the variable names their types.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=40" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category></item><item><title>Property Naming WTF </title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/03/18/Property-Naming-WTF-.aspx</link><pubDate>Fri, 18 Mar 2005 04:53:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:38</guid><dc:creator>jokiz</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=38</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=38</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/03/18/Property-Naming-WTF-.aspx#comments</comments><description>&lt;p&gt;I got tired of seeing a common property of our controls (since it is part of an interface) and this week, I got fed up and can’t take it anymore seeing them.&amp;nbsp;&lt;br&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;strong&gt;AlignmentInContainer&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;You might suggest &lt;strong&gt;ContainerAlignment&lt;/strong&gt; but layout properties obviously relates the control to its immediate parent container.&amp;nbsp; Just like Anchor and Dock properties, the &lt;strong&gt;container&lt;/strong&gt; word is unnecessary.&amp;nbsp; I renamed it to just:&lt;br&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;strong&gt;Alignment&lt;/strong&gt;&lt;br&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;br&gt;&lt;/p&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;blockquote dir="ltr" style="margin-right:0px;"&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=38" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/controls/default.aspx">controls</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/rants/default.aspx">rants</category></item><item><title>Rethrowing exceptions, the right way</title><link>http://devpinoy.org/blogs/joeycalisay/archive/2005/02/21/Rethrowing-exceptions_2C00_-the-right-way.aspx</link><pubDate>Mon, 21 Feb 2005 04:04:00 GMT</pubDate><guid isPermaLink="false">99090821-4da1-4a75-98c2-a35884625ff7:33</guid><dc:creator>jokiz</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/rsscomments.aspx?PostID=33</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://devpinoy.org/blogs/joeycalisay/commentapi.aspx?PostID=33</wfw:comment><comments>http://devpinoy.org/blogs/joeycalisay/archive/2005/02/21/Rethrowing-exceptions_2C00_-the-right-way.aspx#comments</comments><description>&lt;p&gt;I have read the &lt;a href="http://www.codeproject.com/useritems/exceptionbestpractices.asp"&gt;Exception Handling Best Practices article&lt;/a&gt; in .NET in CodeProject and all this time I thought that rethrowing exceptions is this way:&lt;/p&gt;&lt;blockquote&gt;[code language="C#"]&lt;br&gt;&lt;p&gt;try&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Some code that throws an exception&lt;br&gt;}&lt;br&gt;catch (Exception ex)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // some code that handles the exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ex;&lt;br&gt;}&lt;br&gt;[/code]&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I just learned that it should have been this way:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;[code language="C#"]&lt;br&gt;try&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Some code that throws an exception&lt;br&gt;}&lt;br&gt;catch (Exception ex)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // some code that handles the exception&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw;&lt;br&gt;}&lt;br&gt;[/code]&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Reason:&amp;nbsp; &lt;strong&gt;Stack Trace Preservation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Currently, I still don’t have a solid understanding on .NET Exceptions, its internals, etc.&amp;nbsp; I still have to do a number of readings about them…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devpinoy.org/aggbug.aspx?PostID=33" width="1" height="1"&gt;</description><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/techie/default.aspx">techie</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/tips/default.aspx">tips</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/best+practices/default.aspx">best practices</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/design+guidelines/default.aspx">design guidelines</category><category domain="http://devpinoy.org/blogs/joeycalisay/archive/tags/exceptions/default.aspx">exceptions</category></item></channel></rss>