<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   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/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Seite 2 - Entwicklung</title>
    <link>http://www.michael-fuchs.net/seren/</link>
    <description>...Wanderungen durch Realität und Cyberspace.</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 1.5.3 - http://www.s9y.org/</generator>
    <pubDate>Fri, 07 May 2010 21:46:15 GMT</pubDate>

    <image>
        <url>http://www.michael-fuchs.net/images/michael_fuchs_klein.jpg</url>
        <title>RSS: Seite 2 - Entwicklung - ...Wanderungen durch Realität und Cyberspace.</title>
        <link>http://www.michael-fuchs.net/seren/</link>
        <width>118</width>
        <height>143</height>
    </image>

<item>
    <title>Probleme mit NUnit und .NET 4.0</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/981-Probleme-mit-NUnit-und-.NET-4.0.html</link>
            <category>Arbeit</category>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/981-Probleme-mit-NUnit-und-.NET-4.0.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=981</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=981</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    &lt;em&gt;(english version below)&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Gestern Abend verzweifelte Fehlersuche: Beim Benutzen von &lt;a href=&quot;http://www.nunit.org/&quot; target=&quot;_blank&quot;&gt;NUnit&lt;/a&gt; stellte ich ein seltsames Verhalten fest. Die einzelnen Tests liefen problemlos durch, jedoch war ein vernünftiges Debuggen nicht mehr möglich. Visual Studio behauptete, dass keine Debuggersymbole geladen seien [1] und so wurden keine Breakpoints mehr angesprungen.&lt;br /&gt;
 Völliger Blödsinn natürlich, ich war mir ganz sicher dass ich die richtigen Einstellungen getroffen hatte.&lt;br /&gt;
&lt;br /&gt;
Nach einer Stunde herumsuchen war dann klar: Alle Optionen sind so wie sie sein sollen. Nun war gute Rat teuer. Bis mir einfiel, welche Änderung es seit dem letzten Testlauf gegeben hatte: Das Frameworkversion war von 3.5 auf 4.0 verändert worden. Schnell mal probeweise wieder die ältere Version eingestellt und siehe da: es geht. &lt;br /&gt;
Das Problem findet sich dann bei NUnit selbst. Die Binaries wurden mit .NET 2.0 erstellt. Kann man auch problemlos mit eigenen Projekten verwenden die 3.0 oder 3.5 nutzen, ab 4.0 geht es aber nicht.&lt;br /&gt;
&lt;br /&gt;
Glücklicherweise ist NUnit aber OpenSource, also flugs den Sourcecode besorgt und mit .NET 4.0 Unterstützung neu gebaut. Naja, so schnell ging es dann nicht [2], aber nach getaner Arbeit funktionierte alles wieder so wie es sollte.&lt;br /&gt;
&lt;br /&gt;
Wer das gleiche Problem hat, sich aber das Neukompilieren ersparen will, kann die erzeugten Binaries auf &lt;a href=&quot;http://blog.http.net/allgemein/probleme-mit-nunit-und-net-4-0/&quot; target=&quot;_blank&quot;&gt;http://blog.http.net/allgemein/probleme-mit-nunit-und-net-4-0/&lt;/a&gt; herunterladen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Short english version: &lt;strong&gt;Problems with NUnit and .NET 4.0&lt;/strong&gt;&lt;br /&gt;
If you use NUnit with a .NET 4.0 project, you have to recompile NUnit with the same framwork. Otherwise breakpoints are not working [1]. &lt;br /&gt;
You can download a .NET 4.0 - NUnit version at &lt;a href=&quot;http://blog.http.net/allgemein/probleme-mit-nunit-und-net-4-0/&quot; target=&quot;_blank&quot;&gt;http://blog.http.net/allgemein/probleme-mit-nunit-und-net-4-0/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[1] The breakpoint will not currently be hit. No symbols have been loaded for this document.&lt;br /&gt;
&lt;br /&gt;
[2] Anscheinend fehlen mehrere Dateien in dem Source-Archiv, daher musste ich erst einmal eine Weile Abhängigkeiten prüfen bis die Kompilierung erfolgreich war.  
    </content:encoded>

    <pubDate>Fri, 07 May 2010 23:46:15 +0200</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/981-guid.html</guid>
    
</item>
<item>
    <title>Eine Frage des Designs</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/899-Eine-Frage-des-Designs.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/899-Eine-Frage-des-Designs.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=899</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=899</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Den meisten Spaß macht es natürlich, wenn man in eigenem Auftrag entwickelt. Dann wird alles so, wie man es sich vorgestellt hat [1]. Allerdings verdient man meist auch nicht allzu viel Geld damit.&lt;br /&gt;
&lt;br /&gt;
Damit kommt eine Komponente ins Spiel, die mehr oder weniger konkrete Vorstellungen davon hat, was am Ende herauskommen soll: der Auftraggeber.&lt;br /&gt;
Das Problem ist nun: Wie vermittelt man diesem Auftraggeber die Unterschiede zwischen &lt;strong&gt;Will ich!&lt;/strong&gt; und &lt;strong&gt;Geht!&lt;/strong&gt;? &lt;br /&gt;
Oder noch schlimmer, zwischen &lt;strong&gt;Will ich! Geht auch!&lt;/strong&gt; und &lt;strong&gt;Sollte man aber nicht so machen&lt;/strong&gt;?&lt;br /&gt;
&lt;br /&gt;
Das schlimmste Art von Entwicklung ist Webdesign. Im ungünstigsten Fall kommt der Kunde mit einer obskuren Layoutvorstellung und will diese entgegen jede Rat auch so umgesetzt haben. Und zum Schluss kommt dann tatsächlich &lt;span style=&quot;background-color:#e5d4e4; padding:0 0.5em;&quot;&gt;ein Design in Altrosa&lt;/span&gt; heraus. *grusel*&lt;br /&gt;
&lt;br /&gt;
Aber auch Kunden ohne konkrete Vorstellungen können mit schlechtem Geschmack alles zunichte machen. So erging es mir vor Jahren einmal. Unser Designexperte hatte zwei wirklich gute Vorschläge aufwändig vorbereitet. Damit die nicht so einsam aussahen bat ich noch um einen dritten. &quot;Das kann auch schnell und schmutzig gehen, ist ja nur als Kontrast zu den anderen beiden.&quot;&lt;br /&gt;
Natürlich fand der Kunde diese in dreißig Minuten zusammengeschusterte Machwerk grandios. Zu meinem Entsetzen. Nur eine Änderung wollte er haben: Das ziemlich hässliche Orange sollte durch ein noch ekelhafteres Dunkelgrün ersetzt werden.&lt;br /&gt;
&lt;img width=&quot;64&quot; height=&quot;32&quot; style=&quot;border: 0px; padding-left: 5px; padding-right: 5px;&quot; src=&quot;http://www.michael-fuchs.net/seren/uploads/Smilies/puke.gif&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Kommen dann noch Wünsche hinzu, die sämtlichen Prinzipien des Web widersprechen kann man sich nur noch eines sagen: &quot;Hoffentlich weiß niemand, dass ich dafür verantwortlich bin!&quot; &lt;img src=&quot;http://www.michael-fuchs.net/seren/templates/mfuchs/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Ich wünsche also jedem einen Auftraggeber, der soviel Verstand besitzt dass er sich auch beraten lässt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;[1] Vorausgesetzt die eigenen Fähigkeiten reichen dafür aus.&lt;/em&gt;  
    </content:encoded>

    <pubDate>Sun, 29 Nov 2009 22:46:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/899-guid.html</guid>
    
</item>
<item>
    <title>Kopfschmerzen</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/883-Kopfschmerzen.html</link>
            <category>Entwicklung</category>
            <category>Fun</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/883-Kopfschmerzen.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=883</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=883</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    &lt;blockquote&gt;&lt;pre&gt;Dim &lt;a href=&quot;http://de.wikipedia.org/wiki/Salt_%28Kryptologie%29&quot; target=&quot;_blank&quot;&gt;salt&lt;/a&gt; As String = &quot;Was schönes buntes kann auch manchmal Kopfschmerzen machen!&quot;&lt;/pre&gt;&lt;/blockquote&gt; &lt;img src=&quot;http://www.michael-fuchs.net/seren/templates/mfuchs/img/emoticons/eek.png&quot; alt=&quot;:-O&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; Was immer der Programmierer da nimmt, er sollte weniger davon schlucken.  
    </content:encoded>

    <pubDate>Wed, 21 Oct 2009 11:04:32 +0200</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/883-guid.html</guid>
    
</item>
<item>
    <title>Eigenentwicklung</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/794-Eigenentwicklung.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/794-Eigenentwicklung.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=794</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=794</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Als Entwickler neigt man irgendwie dazu, für alle Probleme eine eigene Lösung zu bauen. Völlig egal ob es schon zwanzigtausend ähnliche Systeme auf dem Markt gibt. Man verzettelt sich dabei leicht. Ein Kollege formulierte das Problem so: &lt;blockquote&gt;Eigentlich brauchst Du nur ne Kalenderfunktion,&lt;br /&gt;
&lt;br /&gt;
aber die Groupwares taugen nichts.&lt;br /&gt;
&lt;br /&gt;
Also musst Du eine eigene schreiben.&lt;br /&gt;
&lt;br /&gt;
Als Du damit beginnst, stellst Du fest, dass Du ja eigentlich was zum Loggen brauchst.&lt;br /&gt;
&lt;br /&gt;
Und dann, dass Du viele Aufgaben hast.&lt;br /&gt;
&lt;br /&gt;
Dann brauchst Du nen Bugtracker für die Aufgaben.&lt;br /&gt;
&lt;br /&gt;
Um den zu schreiben &#039;nen OR-Mapper.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
nachdem Du das Betriebsystem geschrieben hast, um Deine eigene fertige Datenbank darauf zu hosten, stellst Du fest, dass ein Papierkalender ja auch ganz OK wäre.&lt;/blockquote&gt; Hm, ich bastele gerade an einem einfachen Groupwaresystem und einer Projektverwaltung. Leider haben meine vorherigen Recherchen wirklich keine passende Lösungen ans Tageslicht gebracht. Oder ich bin zu anspruchsvoll.  
    </content:encoded>

    <pubDate>Fri, 19 Jun 2009 23:45:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/794-guid.html</guid>
    
</item>
<item>
    <title>Leer</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/745-Leer.html</link>
            <category>Arbeit</category>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/745-Leer.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=745</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=745</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Der VB-Quellcode des Tages lautet: &lt;blockquote&gt;&lt;pre&gt;Try&lt;br /&gt;
&lt;br /&gt;
Catch ex As Exception&lt;br /&gt;  Throw ex&lt;br /&gt;End Try&lt;/pre&gt;&lt;/blockquote&gt; Schön das manche Programmierer wirklich sichergehen und alle Eventualitäten abfangen wollen.  &lt;img src=&quot;http://www.michael-fuchs.net/seren/templates/mfuchs/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;   
    </content:encoded>

    <pubDate>Fri, 09 Jan 2009 11:36:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/745-guid.html</guid>
    
</item>
<item>
    <title>&quot;missing separator&quot; mit make</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/744-missing-separator-mit-make.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/744-missing-separator-mit-make.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=744</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=744</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    &lt;blockquote&gt;&lt;pre&gt;&lt;strong&gt;Makefile:2: *** missing separator.  Stop.&lt;/strong&gt;&lt;/pre&gt;&lt;/blockquote&gt; Nanu, was habe ich falsch gemacht? Zumal die Makefile ja eben noch unter Windows funktionierte. Unter Linux jedoch nicht. Seltsam.&lt;br /&gt;
&lt;br /&gt;
Am Dateiformat kann es eigentlich auch nicht liegen, Notepad++ speichert Zeilenumbrüche brav nach UNIX-Art. Nachdem ich die Datei mit &lt;strong&gt;vi&lt;/strong&gt; geöffnet habe und dort ganz viele rote Zeilen sehe, befrage ich die Suchmaschinen noch ein bisschen. Und das Ergebnis ist wirklich idiotisch. Ich habe Notepad++ und gedit so eingestellt, dass sie keine Tabulatoren speichern, sondern automatisch in zwei Leerzeichen umwandeln. &lt;strong&gt;make&lt;/strong&gt; besteht aber darauf, dass die rules eines target mit einem Tabulator beginnen.&lt;br /&gt;
&lt;br /&gt;
Wer ist eigentlich auf diese bescheuerte Idee gekommen? Welchen Sinn hat es ausgerechnet auf Tabs zu bestehen? Hat vielleicht historische Gründe, aber warum kann &lt;strong&gt;make&lt;/strong&gt; nicht etwas toleranter werden?&lt;br /&gt;
&lt;br /&gt;
Unter Windows wurde meine Makefile übrigens von Borlands TurboMake interpretiert. Dieses stört sich nicht an Leerzeichen.  
    </content:encoded>

    <pubDate>Thu, 08 Jan 2009 12:00:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/744-guid.html</guid>
    
</item>
<item>
    <title>Benutzerfreundliche Passwörter</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/721-Benutzerfreundliche-Passwoerter.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/721-Benutzerfreundliche-Passwoerter.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=721</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=721</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Eine neuer Benutzeraccount wird eingerichtet und der Systemadministrator oder das Programm selbst muss ein Passwort vergeben. Es sollte möglichst lang und kompliziert sein, damit der Benutzer es nach dem ersten Anmelden sofort ändert. Hierfür bietet sich die Verwendung einer &lt;a href=&quot;http://de.wikipedia.org/wiki/Universally_Unique_Identifier&quot; target=&quot;_blank&quot;&gt;UUID&lt;/a&gt; an. Die Wahrscheinlichkeit dass zwei UUIDs gleich sind, ist sehr gering. Damit ist natürlich auch ein Angriff darauf recht schwierig. Und das Format ist hinreichend kompliziert, dass kaum jemand solch ein Passwort auswendig lernen wird.&lt;br /&gt;
Normalerweise sehen UUIDs so aus: &lt;blockquote&gt;0FB33339-5388-4CAC-B976-12F88785F4E0&lt;/blockquote&gt; Beim Einsatz für Passwörter sollte man aber die Bindestriche zwischen den Gruppen weglassen und lieber dieses Format nehmen: &lt;blockquote&gt;0FB3333953884CACB97612F88785F4E0&lt;/blockquote&gt; Ohne die Bindestriche können Benutzer einfach auf das Passwort doppelt klicken und es so markieren. Werden die Bindestriche gesetzt, ist eine manuelle Markierung durch Bewegen der Maus nötig. Und dabei ist es für viele Benutzer schwierig das Passwort richtig zu &quot;treffen&quot;. Oftmals werden am Anfang oder am Ende Leerzeichen mitkopiert.  
    </content:encoded>

    <pubDate>Fri, 21 Nov 2008 10:26:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/721-guid.html</guid>
    
</item>
<item>
    <title>Programmieren mit Schlagworten</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/546-Programmieren-mit-Schlagworten.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/546-Programmieren-mit-Schlagworten.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=546</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=546</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Die Art und Weise, wie wir programmieren entwickelt sich immer weiter. Strukturiert, prozedural, modular, schließlich objektorientiert. &lt;br /&gt;
Zur Zeit ist die Phase der Schlagwort-Programmierung aktuell. Schlagworte wie &lt;a href=&quot;http://de.wikipedia.org/wiki/Framework&quot;  target=&quot;_blank&quot;&gt;Framework&lt;/a&gt;, &lt;a href=&quot;http://de.wikipedia.org/wiki/Dependency_Injection&quot;  target=&quot;_blank&quot;&gt;Dependency Injection&lt;/a&gt;, &lt;a href=&quot;http://de.wikipedia.org/wiki/Gesch%C3%A4ftsobjekt&quot;  target=&quot;_blank&quot;&gt;Business Objects&lt;/a&gt;. Besonders gerne werden solche Worte von Redakteuren der &quot;Fachliteratur&quot; genutzt, in Zeitungen mit wohlklingenden Namen wie &quot;Der Entwickler&quot;, &quot;DotNetPro&quot;, etc. In den gleichen Zeitungen bieten diese Redakteure dann Schulungen an, bei denen man für 4000 EUR (für 2 Tage) dann die Verwendung dieser modernen Technologien lernt.&lt;br /&gt;
&lt;br /&gt;
Der Grundgedanke, der hinter allem steckt, ist die Generalisierung. Nichts doppelt schreiben, sondern Altes wiederverwenden.&lt;br /&gt;
&lt;br /&gt;
Wenn man in den Quellcode sieht und dann den gleichen Code hintereinander wiederfindet, nur jedes Mal auf eine andere Liste von Dateien angewandt, kann man berechtigterweise fragen, warum der Programmierer solches nicht eine eigene Funktion ausgelagert hat. &lt;br /&gt;
Sieht man die Objekte Kunde und Lieferant, die beide über die gleichen Eigenschaften (Adresse, Ansprechpartner, Telefon, E-Mail, etc.) verfügen, liegt es doch sehr nahe beide von einer Klasse namens Kontakt abzuleiten.&lt;br /&gt;
Die Generalisierung sollte natürlich nicht übertrieben werden. Sonst landet man eventuell bei folgendem Szenario:&lt;br /&gt;
Für einen Zeitschriftenverlag soll ein Abrechnungssystem für Abonnements entwickelt werden. Doch weil der Projekleiter gerne generalisiert und die Chance wittert in den nächsten zwei Jahren auch einem Pizzalieferdienst ein Abrechungssystem zu verkaufen, wird es soweit generalisiert, dass es für beide Zwecke einsetzbar ist.&lt;br /&gt;
Nun kann das System also beides, nur nichts richtig. Vielleicht kann es auch erst einmal gar nichts, weil die Entwickler so sehr abstrahieren müssen, dass die Arbeit zehnmal solange dauert, als wenn man einfach zwei Systeme entwickelt hätte.&lt;br /&gt;
&lt;br /&gt;
Es ist also wichtig, den richtigen Mittelweg zu finden. Wenn es um immer wiederkehrende Techniken wie Datenbank-Ein-/Ausgabe geht, lohnt es sich auch immer wieder auf die gleichen Komponenten zurückzugreifen. Fertige Frameworks wie &lt;a href=&quot;http://ibatis.apache.org/&quot;  target=&quot;_blank&quot;&gt;iBatis&lt;/a&gt; sorgen dabei für eine Zeitersparnis, die die nötige Einarbeitungszeit schon bei einem mittleren Projekt rechtfertigt.&lt;br /&gt;
&lt;br /&gt;
Kommt man jedoch in den Bereich der spezielleren Anwendungslogik, sollte man mit dem Generalisieren vorsichtig sein. Vielleicht kann man dann wirklich bei zukünftigen Projekten Zeit sparen, vielleicht muss man aber dann auch die generalisierten Komponenten wieder aufwendig einbauen und spart eigentlich nichts. Irgendwann steigt einem der Kunde aufs Dach, weil das Projekt zehn Monate im Verzug ist.&lt;br /&gt;
Fängt man dann noch mit speziellen Techniken wie Dependency Injection oder Microkernel an, verliert man irgendwann auch den Überblick und die Kontrolle über den Code. Natürlich kann man Software so entwickeln, dass alles von außen steuerbar ist. Sei es mit Parametern oder Konfigurationsdateien. Die Wartbarkeit eines Systems wird damit aber nicht unbedingt gefördert. Im Gegenteil, andere Entwickler die später ebenfalls mitarbeiten wollen, müssen sich irgendwann durch fünfzig verschiedene Dateien lesen, um eine Programmfunktion zu verstehen. Und das nur, weil irgendein Programmierer die totale Technologiegeilheit verspürt. Lieber sollte man seine Zeit in eine gute Dokumentation investieren.  
    </content:encoded>

    <pubDate>Tue, 11 Mar 2008 12:40:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/546-guid.html</guid>
    
</item>
<item>
    <title>Dünne Linien bei dia</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/498-Duenne-Linien-bei-dia.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/498-Duenne-Linien-bei-dia.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=498</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=498</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Eine Sache die mich an &lt;a href=&quot;http://live.gnome.org/Dia&quot;  target=&quot;_blank&quot;&gt;dia&lt;/a&gt; etwas stört, sind die recht Dicken Linien in der Ansicht. Zum Einen sieht es unschön aus, zum Anderen ist es schwerer Text zu lesen, der direkt an einer Linie steht. Besonders wenn Unterstriche enthalten sind.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;../rubriken/seite2/2008/01-29/fett.png&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;br /&gt;
Ein kleiner Trick schafft Abhilfe: Die Zoomstufe auf 99,99% stellen und schon springt sie wieder auf 100% zurück, die Linien sind nun aber viel dünner.&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;../rubriken/seite2/2008/01-29/schlank.png&quot; alt=&quot;&quot; /&gt;&lt;/div&gt; Das funktioniert allerdings nur, wenn die Kantenglättung deaktiviert ist.  
    </content:encoded>

    <pubDate>Tue, 29 Jan 2008 15:30:00 +0100</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/498-guid.html</guid>
    
</item>
<item>
    <title>Verbesserung</title>
    <link>http://www.michael-fuchs.net/seren/index.php?/archives/380-Verbesserung.html</link>
            <category>Entwicklung</category>
    
    <comments>http://www.michael-fuchs.net/seren/index.php?/archives/380-Verbesserung.html#comments</comments>
    <wfw:comment>http://www.michael-fuchs.net/seren/wfwcomment.php?cid=380</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.michael-fuchs.net/seren/rss.php?version=2.0&amp;type=comments&amp;cid=380</wfw:commentRss>
    

    <author>nospam@example.com (Michael Fuchs)</author>
    <content:encoded>
    Warum gibt es eigentlich keine integrierte Rechtschreibprüfung für Visual Studio? Würde den Beta-Testern viel Zeit ersparen.  
    </content:encoded>

    <pubDate>Thu, 04 Oct 2007 15:00:00 +0200</pubDate>
    <guid isPermaLink="false">http://www.michael-fuchs.net/seren/index.php?/archives/380-guid.html</guid>
    
</item>

</channel>
</rss>