<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.aspnetzone.de/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>Search results matching tags 'Clean Code Developer' and 'Architektur'</title><link>http://www.aspnetzone.de/search/SearchResults.aspx?o=DateDescending&amp;tag=Clean+Code+Developer,Architektur&amp;orTags=0</link><description>Search results matching tags 'Clean Code Developer' and 'Architektur'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>Katastrophenfall ‘NULL’?</title><link>http://www.aspnetzone.de/blogs/juergengutsch/archive/2010/05/03/katastrophenfall-null.aspx</link><pubDate>Mon, 03 May 2010 11:29:00 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:217105</guid><dc:creator>Jürgen Gutsch</dc:creator><description>&lt;P&gt;Mit seinem Beitrag &lt;A href="http://blog.thomasbandt.de/39/2331/de/blog/kleiner-helper-fuer-linq-to-sql-tolistordefault-update.html"&gt;Kleiner Helper für Linq to Sql: ToListOrDefault() &lt;/A&gt;hat &lt;A href="http://blog.thomasbandt.de"&gt;Thomas Bandt&lt;/A&gt; am Wochenende eine Diskussion zum Thema “Null als Rückgabewert” angestoßen (man beachte die Kommentare). Wie nicht anders zu erwarten (:-P), wurde die Diskussion natürlich auch von &lt;A href="http://www.ralfw.de/"&gt;Ralf Westphal&lt;/A&gt; aufgenommen: &lt;A href="http://ralfw.blogspot.com/2010/05/null-oder-nicht-null-das-ist-hier-die.html"&gt;Null oder nicht Null, das ist hier die Frage&lt;/A&gt; (auch hier die Kommentare beachten). &lt;/P&gt;
&lt;P&gt;Weiter ging es wieder Bei &lt;A title="Thomas Bandt" href="http://blog.thomasbandt.de/"&gt;Thomas Bandt&lt;/A&gt; mit dem Beitrag &lt;A href="http://blog.thomasbandt.de/39/2333/de/blog/null-verstaendnis.html"&gt;Null Verständnis&lt;/A&gt; der es tatsächlich auf 40 Kommentare gebracht hat. Auch &lt;A href="http://www.gmbsg.com"&gt;Ilker Cetinkaya&lt;/A&gt; konnte es sich diesmal nicht verkneifen ebenfalls etwas zu dem Thema zu schreiben: &lt;A href="http://www.gmbsg.com/null-toleranz/"&gt;Null Toleranz&lt;/A&gt;, vorauf hin Ralf schlagfertig reagierte: &lt;A href="http://ralfw.blogspot.com/2010/05/es-hilft-nichts-dass-es-darauf-ankommt.html"&gt;Es hilft nichts, dass es darauf ankommt – nicht nur beim Null-Problemo [OOP 2010]&lt;/A&gt; und Ilkers Haltung kritisierte. [Update] Ilkers Antwort folgte gestern relativ schnell: &lt;A href="http://www.gmbsg.com/kein-yin-ohne-yang-kein-null-ohne-pointer/"&gt;Kein Yin ohne Yang, kein Null ohne Pointer&lt;/A&gt;&amp;nbsp;(Auch hier bitte unbedingt die Kommentare lesen)&lt;/P&gt;
&lt;P&gt;Ein scheinbar vorläufiges Fazit zur Diskussion schreibt Thomas in seinem letzten Beitrag zum Thema Null: &lt;A href="http://blog.thomasbandt.de/39/2334/de/blog/null-erkenntnis-ganz-im-gegenteil.html"&gt;Null Erkenntnis? Ganz im Gegenteil.&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[UPDATE] &lt;BR&gt;Eben hat sich auch der Karsten zum Thema geäußert: &lt;A href="http://www.aspextra.de/2010/05/03/handwerk-clean-vs-pragmatisch/"&gt;#Handwerk: Clean vs. pragmatisch?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Was hier fast wie ein Sportbericht aussieht, ist ein Diskussion über ‘Null’ als Rückgabewert und über eine fehlende Regel zu dem Thema ob und wann ‘Null’ als Rückgabe erlaubt ist, oder nicht.&lt;/P&gt;
&lt;P&gt;Verschiedenste Lösungen kommen in allen Beiträgen und deren Kommentaren vor. So unter anderem:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Exception statt ‘Null’ 
&lt;LI&gt;Leere Objekte statt ‘Null’ 
&lt;LI&gt;‘Null’ nur passend zur Kategorie 
&lt;LI&gt;‘Null’ nur mit Vorsicht 
&lt;LI&gt;it depends 
&lt;LI&gt;‘Null’ im Katastrophenfall &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Katastrophenfall ‘NULL’&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Und dieser letzte Punkt ist eigentlich der einzige, an dem ich mich wirklich anstoße:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://www.gmbsg.com"&gt;Ilker Cetinkaya&lt;/A&gt; [&lt;A title=http://www.gmbsg.com/null-toleranz/ href="http://www.gmbsg.com/null-toleranz/"&gt;http://www.gmbsg.com/null-toleranz/&lt;/A&gt;] &lt;BR&gt;Ich gebe in einigen Methoden NULL zurück. Meistens genau dann, wenn ich wirklich damit ausdrücken möchte, dass etwas katastrophales passiert ist.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Wenn etwas eine Katastrophe ist, sollte diese Katastrophe nur in wirklich unvermeidbaren Ausnahmen auftreten. In diesem Fall kann auch eine Ausnahme erzeugt werden. Ich bin in so einem Fall tatsächlich für eine Exception, statt einer ‘Null’ (Punkt 1).&lt;/P&gt;
&lt;P&gt;Als Webentwickler dagegen bin ich der Ansicht das man die Erzeugung von Exceptions unbedingt mit Vorsicht genießen sollte und nur dann einsetzen sollte, wenn es wirklich unvermeidbar ist. Den Exception Handling kostet Performance. Exceptions sollten also auch Exceptions bleiben und “exceptionally used” werden. Im Web ist es IMHO wichtiger Fehler zu vermeiden, als für jeden möglichen Fall eine neue Exception zu erzeugen. Zum Thema “Fehler vermeiden” gehört IMHO auch, das Auslösen von Exceptions vermeiden, wenn es sich irgendwie vermeiden lässt. Aus diesem Grund sollte der erste Punkt “Exceptions statt ‘Null’” ebenfalls mit Vorsicht genossen werden.&lt;/P&gt;
&lt;P&gt;Und was ‘Null’ als Rückgabewert angeht, enthalte ich mich fürs erste (was spezielle Regeln angeht) und bleibe Beobachter dieser Grundlagendiskussion. Ich bin mir einfach selber noch nicht schlüssig, was hier richtig und was falsch ist. Die Rückgabe von ’Null’ ist bequem, harmlos und tastbar, kann also nicht grundlegend falsch sein. &lt;/P&gt;
&lt;P&gt;Im Moment tendiere ich noch zu dem Punkt “it depends” ;-)&lt;/P&gt;
&lt;DIV style="TEXT-ALIGN:left;PADDING-BOTTOM:4px;MARGIN:0px;PADDING-LEFT:4px;PADDING-RIGHT:4px;PADDING-TOP:4px;" class=wlWriterHeaderFooter&gt;&lt;A href="http://dotnet-kicks.de/kick/?url=http://www.aspnetzone.de/blogs/juergengutsch/archive/2010/05/03/katastrophenfall-null.aspx"&gt;&lt;IMG border=0 alt="DotNetKicks-DE Image" src="http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=http://www.aspnetzone.de/blogs/juergengutsch/archive/2010/05/03/katastrophenfall-null.aspx&amp;amp;bgcolor=3169AD&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000"&gt;&lt;/A&gt;&lt;/DIV&gt;</description></item></channel></rss>