<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TSCHITSCHEREENGREEN live &#187; Coders best practice</title>
	<atom:link href="http://www.tschitschereengreen.com/blog/index.php/category/coders-best-practice/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tschitschereengreen.com/blog</link>
	<description>Tschitschereengreen - the yoosic coding division</description>
	<lastBuildDate>Fri, 02 Jul 2010 11:57:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>I fell in love with rosetta</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2010/06/11/i-fell-in-love-with-rosetta/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2010/06/11/i-fell-in-love-with-rosetta/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 13:05:06 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[rosetta]]></category>
		<category><![CDATA[translations]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=710</guid>
		<description><![CDATA[Hab heute verzweifelt in einer App von uns nach einer Möglichkeit gesucht Strings im Frontend zu ändern und musste lernen, dass wir seit neustem Django-Rosetta für Übersetzungen und .po File management verwenden. Und ja, ich bin begeistert. Endlich ne ordentliche WebUi für .po Files. Zwar muss man nach dem Ändern immer noch den Webserver neu [...]]]></description>
			<content:encoded><![CDATA[<p>Hab heute verzweifelt in einer App von uns nach einer Möglichkeit gesucht Strings im Frontend zu ändern und musste lernen, dass wir seit neustem <a href="http://code.google.com/p/django-rosetta/" title="Django-Rosetta für Übersetzungen und .po File management">Django-Rosetta für Übersetzungen und .po File management</a> verwenden.</p>
<p>Und ja, ich bin begeistert. Endlich ne ordentliche WebUi für .po Files. Zwar muss man nach dem Ändern immer noch den Webserver neu starten, aber das kann man auch alle 24h automatisieren.</p>
<p>Ja nein, funzt super. Fühlt sich gut an und löst so einige Schmerzen in meinem Kopf!</p>
<div id="attachment_711" class="wp-caption alignnone" style="width: 843px"><a href="http://www.tschitschereengreen.com/blog/wp-content/uploads/2010/06/rosetta-1.png" style="margin-left: 345px"><img src="http://www.tschitschereengreen.com/blog/wp-content/uploads/2010/06/rosetta-1.png" alt="Rosetta for .po translations" title="rosetta-1" width="400" class="size-full wp-image-711" /></a><p class="wp-caption-text">Rosetta gives a webgui for translating. po files</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2010/06/11/i-fell-in-love-with-rosetta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress SEO Plugins Review</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2010/02/11/wordpress-seo-plugins-review/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2010/02/11/wordpress-seo-plugins-review/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 08:17:28 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[From Inside]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Keywords]]></category>
		<category><![CDATA[Meta-Tags]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=508</guid>
		<description><![CDATA[Seit ich die neuen SEO Plugins installiert hab, sind wir bei Google gar nicht mehr zu finden. Hab jetzt mal das Keyword Stat Plugin deaktiviert. Dieser Post ist damit auch gleichzeitig ein Test, ob sich das jetzt ändert. &#8212;]]></description>
			<content:encoded><![CDATA[<p>Seit ich die <a href="http://www.tschitschereengreen.com/blog/index.php/2010/02/04/wordpress-meta-tags/">neuen SEO Plugins</a> installiert hab, sind wir bei Google gar nicht mehr zu finden. Hab jetzt mal das Keyword Stat Plugin deaktiviert.</p>
<p>Dieser Post ist damit auch gleichzeitig ein Test, ob sich das jetzt ändert.<br />
&#8212;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2010/02/11/wordpress-seo-plugins-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pragmatische UI Optimierung</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2010/01/18/pragmatische-ui-optimierung/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2010/01/18/pragmatische-ui-optimierung/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 10:56:14 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[From Inside]]></category>
		<category><![CDATA[Akzeptanztests]]></category>
		<category><![CDATA[UI Optimierung]]></category>
		<category><![CDATA[UI testing]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=468</guid>
		<description><![CDATA[Am Wochenende wurde mir von einer sehr angenehmen und pragmatischen Art- und Weise der UI-Optimierung berichtet: Folgendes Vorgehen: Anzeige (Online/Uni) für gesuchte Unterstützung Testing (keine App nennen) mit 20 EUR/h. Die Leute entsprechend der Zielgruppe auswählen und alle an einem Tag einladen. Pro Tester eine Stunde investieren und mit diesem (maximal 2 beobachtende Personen) die [...]]]></description>
			<content:encoded><![CDATA[<p>Am Wochenende wurde mir von einer sehr angenehmen und pragmatischen Art- und Weise der UI-Optimierung berichtet: Folgendes Vorgehen: Anzeige (Online/Uni) für gesuchte Unterstützung Testing (keine App nennen) mit 20 EUR/h. Die Leute entsprechend der Zielgruppe auswählen und alle an einem Tag einladen. Pro Tester eine Stunde investieren und mit diesem (maximal 2 beobachtende Personen) die App anschauen. Gern auch einfach mal Kommentarlos klicken lassen. Am Ende das ganze auswerten, so dass man mit 200 EUR + 2 Manntage + ein wenig Aufwand für Auswertung ein qualifiziertes Feedback hat, welches die wichtigsten Problemelemente aufzeigt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2010/01/18/pragmatische-ui-optimierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Esthetics Pt II &#8211; CamelCase &amp; Co.: Paradigmen für den perfekten Code</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2010/01/12/code-esthetics-pt-ii-camelcase-co-paradigmen-fur-den-perfekten-code/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2010/01/12/code-esthetics-pt-ii-camelcase-co-paradigmen-fur-den-perfekten-code/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 14:43:41 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Code Esthetics]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=438</guid>
		<description><![CDATA[Ich muss leider den nächsten Workshop absagen, da ich es zeitlich einfach nicht schaffe diesen adequat vorzubereiten. In Absprache mit Prof. Wiedemann, werden wir einen Ausweichtermin im April aussuchen und vorher entsprechend kommunizieren.]]></description>
			<content:encoded><![CDATA[<p>Ich muss leider den nächsten Workshop absagen, da ich es zeitlich einfach nicht schaffe diesen adequat vorzubereiten. In Absprache mit Prof. Wiedemann, werden wir einen Ausweichtermin im April aussuchen und vorher entsprechend kommunizieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2010/01/12/code-esthetics-pt-ii-camelcase-co-paradigmen-fur-den-perfekten-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Design &#8211; weiterführende Links</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/code-design-weiterfuhrende-links/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/code-design-weiterfuhrende-links/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:19:44 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Vorträge]]></category>
		<category><![CDATA[Code Design]]></category>
		<category><![CDATA[Code Esthetics]]></category>
		<category><![CDATA[Code Formatting]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coder]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=414</guid>
		<description><![CDATA[Hier wie versprochen meine Nachlieferung an Links zu unserem Workshop letzte Woche: Blog Artikel Buch Review über &#8220;Beautiful Code&#8221; von O&#8217;Reilly Der Zen Ansatz Code in eine neue Methode auslagern Details diskutiert another Book Review nochmal ein Blog zu O&#8217;Reillys Buch]]></description>
			<content:encoded><![CDATA[<p>Hier wie versprochen meine Nachlieferung an Links zu unserem Workshop letzte Woche:<br />
<a href="http://www.devsource.com/c/a/Using-VS/Formatting-Code-the-Right-Way/">Blog Artikel</a><br />
<a href="http://www.codinghorror.com/blog/archives/001062.html">Buch Review über &#8220;Beautiful Code&#8221; von O&#8217;Reilly</a><br />
<a href="http://mitch-wheat.blogspot.com/2006/08/zen-and-art-of-code-design-and.html">Der Zen Ansatz</a><br />
<a href="http://codekicker.de/fragen/Wann-soll-man-den-Code-einer-Methode-in-eine-Neue-auslagern/44">Code in eine neue Methode auslagern</a><br />
<a href="http://c2.com/ppr/formatting.html">Details diskutiert</a><br />
<a href="http://binstock.blogspot.com/2007/12/beautiful-code-vs-readable-code.html">another Book Review</a><br />
<a href="http://alarmingdevelopment.org/?p=79">nochmal ein Blog zu O&#8217;Reillys Buch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/code-design-weiterfuhrende-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bewusster Einsatz von Intuition beim Debugging</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/bewusster-einsatz-von-intuition-beim-debugging/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/bewusster-einsatz-von-intuition-beim-debugging/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:02:14 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Accelerate Debugging]]></category>
		<category><![CDATA[Agiles Projektmanagement]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Kognitive Prozesse]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=375</guid>
		<description><![CDATA[Die aus den letzten beiden Einträgen hier zum Thema Intuition beim Debugging (1,2) resultierende Frage ist nun, was man mit dem Thema jetzt für den konkreten Alltag anfangen kann. Grundsätzlich bietet Intuition eine Art Abkürzung für die Arbeit eines Softwareentwicklers und kann wesentlich schneller zum Erfolg führen. Das bedeutet, dass man während man sich Schritt [...]]]></description>
			<content:encoded><![CDATA[<p>Die aus den letzten beiden Einträgen hier zum Thema Intuition beim Debugging (<a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/16/intuition-debugging/">1</a>,<a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/15/rationalitat-vs-intuition/">2</a>) resultierende Frage ist nun, was man mit dem Thema jetzt für den konkreten Alltag anfangen kann.<span id="more-375"></span></p>
<p>Grundsätzlich bietet Intuition eine Art Abkürzung für die Arbeit eines Softwareentwicklers und kann wesentlich schneller zum Erfolg führen. Das bedeutet, dass man während man sich Schritt für Schritt vom Fehlerbild zur Fehlerquelle durcharbeitet, gern diese Abkürzungen in Anspruch nehmen sollte. Allerdings muss klar sein, dass diese A) ins Nirvana führen können und man damit wieder zurück muss und B) der logische Pfad der Fehlersuche der führende sein muss.</p>
<p>Bei Entwicklern habe ich erlebt, dass diese von einer Abkürzung zur nächsten kamen und damit ohne logischen Leitfaden durch den Code der Applikation mäanderten. Das das fatal und nicht zielführend ist, versteht sich. Richtig eingesetzte Intuition sieht so aus, dass man entlang des logischen Pfades spontane Eingebungen zu Fehlerquellen validiert (!) und bei Miserfolg direkt wieder auf den logischen Pfad springt. Dabei sollte man natürlich nicht jeder Eingebung folgen. Die Validierung dieser ist maßgeblich, da jeder Versuch Zeit kostet und grundsätzlich erstmal ein Schuss ins Blaue ist.</p>
<p>Nicht zu unterschätzen ist, die emotionale Wirkung des Einsatzes von Emotion. Aus eigener Erfahrung weiss ich, dass beim Debugging ständig neue Vermutungen über die Ursache des Fehlers entstehen. Wenn man jeder von dieser folgt, entsteht schnell der Eindruck, dass die Software total unberechenbar (aka crap) ist und sich schwer debuggen lässt. Das frustriert und hat mich nie weiter gebracht.</p>
<p>Weitere Infos, wie Intuition funktioniert finden sich bei <a href="http://www.coding-horror.de/?page_id=216">Coding Horror.DE</a>. Weiterhin lesbar ist <a href="http://refactr.com/blog/2007/01/should-intuition-play-a-part-in-developing-software/">dieser Beitrag über Intuition im Team</a>. Eine allgemeine Übersicht über Intuition hab ich noch in folgendem <a href="http://www.ppig.org/papers/20th-beynon.pdf">PDF </a>gefunden. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/12/08/bewusster-einsatz-von-intuition-beim-debugging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review Code Esthetics Pt. 1 &#8211; Code Design</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/12/07/review-code-esthetics-pt-1-code-design/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/12/07/review-code-esthetics-pt-1-code-design/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 14:59:02 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Vorträge]]></category>
		<category><![CDATA[Code Design]]></category>
		<category><![CDATA[Code Esthetics]]></category>
		<category><![CDATA[Code Formatting]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=344</guid>
		<description><![CDATA[Während der knapp über 2 Stunden habe ich mir gemeinsam mit den teilnehmenden Professoren und Studenten grundsätzliche Themen zur professionellen Gestaltung von Code angeschaut. Die mitgebrachten Beispiele wurden dabei beurteilt und als Fazit zu der folgenden Übersicht mit Empfehlungen für eine gutes Code Design zusammengefasst. » maximale Zeilenbreite: 80 » maximale Anzahl Zeilen: zwischen 120 [...]]]></description>
			<content:encoded><![CDATA[<p>Während der knapp über 2 Stunden habe ich mir gemeinsam mit den teilnehmenden Professoren und Studenten grundsätzliche Themen zur professionellen Gestaltung von Code angeschaut. Die mitgebrachten Beispiele wurden dabei beurteilt und als Fazit zu der folgenden Übersicht mit Empfehlungen für eine gutes Code Design zusammengefasst.<span id="more-344"></span></p>
<p><span class="green">» maximale Zeilenbreite: 80<br />
</span><br />
<span class="green">» maximale Anzahl Zeilen: zwischen 120 und 2000<br />
</span><br />
<span class="green">» CodeInhalte: saubere Trennung nach MVC bzw. Pattern, nur gültigen Code<br />
</span><br />
<span class="green">» Kommentare: Feste Syntax, Block Komments, 1-6x Umfang des kommentierten Quelltextes<br />
</span><br />
<span class="green">» Struktur: optisch durch Kommentare kennzeichnen<br />
</span><br />
<span class="green">» Dateikopf: Inhalt, Datum, Ersteller/Brarbeiter<br />
</span><br />
<span class="green">» Funktionskopf: Inhalt, Parameter inkl. Beschreibung, Documentor Standards nutzen, Rückgabewerte dokumentieren<br />
</span><br />
<span class="green">»  Intendation: maximal 5 Schritte<br />
</span><br />
<span class="green">» Klammern: korrekt intendiert, keine eigene Zeile vs. eigene Zeile<br />
</span><br />
<span class="green">» Leerzeilen: kennzeichnen zusammengehörige Strukturen, einheitliche Verwendung!<br />
</span><br />
<span class="green">» Methodenlänge: <40 bis < 80 Zeilen<br />
</span><br />
<span class="green">» Naming Conventions inkl. Kommentare: einheitlich, nach Projektstandard<br />
</span><br />
<span class="green">» Charset: UTF8<br />
</span><br />
<span class="green">» Tabs/Spaces: Spaces bevorzugt, aber immer einheitlich<br />
</span><br />
<span class="green">» Definition, Deklaration: getrennt, einzeilig wenn identisch<br />
</span><br />
<span class="green">» Code Strukturen (optisch erkennbare Muster): zusammenfassen, wenn identisch oder gleichartig formatieren<br />
</span></p>
<p>Spannende Diskussionen gab es bei zwei Punkten: zum einen stand die Hypothese im Raum, dass wenn immer man innerhalb einer Funktion eine Leerzeile einfügen will, man lieber direkt eine neue Funktion für den folgenden Code schreiben sollte. Darüber hinaus kam das alte Thema Spaces vs. Tabs auf.</p>
<p>Im Zuge des Workshops habe ich ein paar Fragen an die Anwesenden gestellt und war überrascht, dass über 80% der Anwesenden schon umfangreiche Programmiererfahrungen, z.T. auch in grösseren Teams, hatten und dass ca. 50% aller Studenten in ihrem Arbeitsumfeld direkte Coding Guidelines definiert haben. Mein Eindruck nach den verschiedensten Diskussionen mit den Studenten hinterlässt dabei den Eindruck, dass die Mehrzahl der Anwesenden in der Summe einen überdurchschnittlich guten Code schreiben dürfte. Was entweder an der Auswahl der Teilnehmenden oder der Ausbildung der HTW Dresden liegt. Hier darf man spekulieren <img src='http://www.tschitschereengreen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>Weiterführende Links zum Thema Code Design liefer ich morgen in einem extra Artikel kurz nach.</p>
<p>Insgesamt war der Workshop optimierungsfähig. Die einzelnen Gruppen mit Vorschlägen zum Thema Code Design hatten zu viel Redezeit, so dass sich sicherleich diverse Anwesende schnell langweilten. Andererseite war die Beteiligung deutlich über meinen Erwartungen, so dass die Gruppengrösse tiefere Diskussionen (ich wäre gern auf bestimmte Details näher eingegangen) verhindert. Fazit: Es bringt nichts, wenn die Hälfte der Leute sich nach 1,5 Stunden langweilt und man dennoch zu flach auf der Oberfläche der Themen kratzt. Hier werde ich mir also zur nächsten Veranstaltung etwas einfallen lassen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/12/07/review-code-esthetics-pt-1-code-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Esthetics Pt1 &#8211; Code Design</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/11/24/code-esthetics-pt1-code-design/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/11/24/code-esthetics-pt1-code-design/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 12:41:16 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Agiles Projektmanagement]]></category>
		<category><![CDATA[Code Design]]></category>
		<category><![CDATA[Code Esthetics]]></category>
		<category><![CDATA[Code Formatting]]></category>
		<category><![CDATA[Code Styling]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=368</guid>
		<description><![CDATA[Basierend auf meinen letzten Vortrag über moderne Werkzeuge in der Softwarentwicklung werden wir am 3.12.2009 um 17.00 einen ersten Workshop zu den am 19.11. besprochenen Veranstaltungsvorschlägen machen. Damit wird die Reihe Code Esthetics starten&#8230; Das Thema des Workshops wird &#8220;Code Design&#8221;. Die Veranstaltung wird sich in 2 Teile gliedern: zum einen werden wir uns verschiedene [...]]]></description>
			<content:encoded><![CDATA[<p>Basierend auf meinen letzten <a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/">Vortrag über moderne Werkzeuge in der Softwarentwicklung</a> werden wir am 3.12.2009 um 17.00 einen ersten Workshop zu den am 19.11. besprochenen Veranstaltungsvorschlägen machen. Damit wird die Reihe Code Esthetics starten&#8230;</p>
<p>Das Thema des Workshops wird &#8220;Code Design&#8221;. Die Veranstaltung wird sich in 2 Teile gliedern: zum einen werden wir uns verschiedene Codebeispiele ansehen und gemeinsam diese bewerten. Die Bewertungskriterien hierfür werden wir vorher erarbeiten. Das gemeinsame Betrachten von vorhandenem Code verschiedener Sprachen<span id="more-368"></span> wird der grösste Teil der Veranstaltung sein. Hier werden wir diskutieren und evalieren, was grundsätzlich zu empfehlen ist. Ich werde hier vor allem Beispiele und Erfahrungen aus der Praxis beisteuern und verdeutlichen, wo guter Code hilft und schlechter Code frustriert. Zum Abschluss der Veranstaltung wollen wir die wichtigsten Kriterien zusammenfassen.</p>
<p>Diese werde ich abschliessend hier veröffentlichen. (Idealerweise natürlich mit Beispielen).</p>
<p>Das entsprechende Xing-Event findet sich hier: <a href="https://www.xing.com/events/code-esthetics-pt1-code-design-432539">Code Esthetics Pt1 &#8211; Code Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/11/24/code-esthetics-pt1-code-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fazit: neue Werkzeuge in der Softwareentwicklung</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 21:54:13 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[From Inside]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Agiles Projektmanagement]]></category>
		<category><![CDATA[Coder]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Optimierung IT Projekt]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Seminar]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=331</guid>
		<description><![CDATA[Wie bereits angekündigt habe ich heute meinen Vortrag auf die Einladung von Herr Prof. Wiedemann an der HTW Dresden gehalten. Die Folien finden sich hier zum Download: 11-2009 Allgmeine Praesentation TTS HTW &#8211; Neue Werkzeuge.pdf Das Fazit: die Präsentation kam sehr gut an. Habe ein nettes Kompliment von einer anwesenden Professorin zum Vortrag erhalten . [...]]]></description>
			<content:encoded><![CDATA[<p>Wie bereits <a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/06/seminar-neue-technologien-in-der-softwareentwicklung/">angekündigt </a>habe ich heute<a href="https://www.xing.com/events/werkzeuge-softwareentwicklung-halbe-entwicklungsdauer-spass-erfolgreich-424001/guestlist?participation[yes]=true"> meinen Vortra</a>g auf die Einladung von <a href="https://www.xing.com/profile/Thomas_Wiedemann2">Herr Prof. Wiedemann</a> an der HTW Dresden gehalten.</p>
<p>Die Folien finden sich hier zum Download: <a href='http://www.tschitschereengreen.com/blog/wp-content/uploads/2009/11/11-2009-Allgmeine-Praesentation-TTS-HTW-Neue-Werkzeuge.pdf'>11-2009 Allgmeine Praesentation TTS HTW &#8211; Neue Werkzeuge.pdf</a></p>
<p>Das Fazit: die Präsentation kam sehr gut an. Habe ein nettes Kompliment von einer anwesenden Professorin zum Vortrag erhalten <img src='http://www.tschitschereengreen.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  . Darüber hinaus geb es ne Menge Fragen und ich musste nach 50% Inhalten und 75% Zeit den Turbo einschalten. <span id="more-331"></span>Alles in allem hoffe ich, dass es die Erwartungen erfüllt hat und einen Einblick in aktuelle Trends und die Arbeitsweise von Tschitschereengreen vermittelt hat.</p>
<p>Die vielfältigen Fragen waren sehr spannend und wären es sicher wert tiefere Diskussionen hierzu zu führen. Hier ein paar Beispiele:<br />
* In der sich so schnell verändernden Welt der Webtechnologien: welche Rolle wird Java hier zukünftig spielen? Vor allem jetzt wo Google, das im den <a href="http://code.google.com/webtoolkit/">Web Toolkits</a> verwendet, wird es da einen neuen Aufschwung geben?<br />
* Was bedeutet diese schnelle Veränderung für die Lehre? Was ist wenn, die heute vermittelte Inhalte in 3-4 Jahren, wenn die Studenten fertig sind, nicht mehr relevant sind? (Grossartige Frage eines Professors/Professorin)<br />
* Wie passen die aktuellen Web-Sprachen mit Java-Enterprise-Applikationen zusammen?<br />
* Was passiert, wenn in Ihrem Unternehmen ein Entwickler ausfällt?<br />
* etc&#8230; spannend, spannend die Themen</p>
<p>Zum Abschluss habe ich noch wie versprochen, zwei Veranstaltungen vorgestellt, welche wir weiterführend umsetzen könnten. Das Interesse war vor allem für das Seminar: <strong>Code Esthetics</strong> am grössten. Die erste Veranstaltung wird daher am 3.12.2009 um 17.00 stattfinden und je nach Bedarf aller 2 Wochen wiederholt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/11/19/fazit-neue-werkzeuge-in-der-softwareentwicklung/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intuition &amp; Debugging</title>
		<link>http://www.tschitschereengreen.com/blog/index.php/2009/11/16/intuition-debugging/</link>
		<comments>http://www.tschitschereengreen.com/blog/index.php/2009/11/16/intuition-debugging/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 19:10:40 +0000</pubDate>
		<dc:creator>jerk</dc:creator>
				<category><![CDATA[Agile Software Development]]></category>
		<category><![CDATA[Coders best practice]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Rapid Development Frameworks]]></category>
		<category><![CDATA[Agiles Projektmanagement]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Intuition]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Rationalität]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.tschitschereengreen.com/blog/?p=326</guid>
		<description><![CDATA[Bei der Zusammenarbeit mit einem Kollegen hat sich in diesem konkreten Fall gezeigt, dass ein nüchternes nur auf Rationalität und Logik basierendes Debugging sehr effizient sein kann. Allerdings dürfte es einem einzelnen Entwickler sehr schwer fallen, jeden Aspekt einer selbst geschriebenen Software ausschliesslich rational zu betrachten und gemäss den Grundsätzen der Logik zu analysieren. Ich [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tschitschereengreen.com/blog/index.php/2009/11/15/rationalitat-vs-intuition/">Bei der Zusammenarbeit mit einem Kollegen</a> hat sich in diesem konkreten Fall gezeigt, dass ein nüchternes nur auf Rationalität und Logik basierendes Debugging sehr effizient sein kann. Allerdings dürfte es einem einzelnen Entwickler sehr schwer fallen, jeden Aspekt einer selbst geschriebenen Software ausschliesslich rational zu betrachten und gemäss den Grundsätzen der Logik zu analysieren. </p>
<p>Ich kenne das aus der eigenen Erfahrung. Vor allem, wenn man an sein Ziel kommen will, der Bug eigentlich nur nervt, dann ist man sehr oft dabei <em>&#8220;intuitive Abkürzungen&#8221;</em> zu nehmen. <span id="more-326"></span>Das das sehr gefährlich ist und nur teilweise zum Erfolg führt, hat mich die eigene Coding-Praxis gelehrt. Denn so gut wie meine Fehleranalyse, war dann auch mein Code. Sprich, wenn die Probleme nur intuitiv bekannt sind, dann kann der erarbeitete Bugfix ebenfalls nur intuitiv richtig sein. Dass damit bereits die Grundlage für den nächsten Bug/-fix gelegt ist, erschliesst sich sicherlich jeden.</p>
<p>Bei der Arbeit als Projektmanager habe ich dabei zwei Szenarien erlebt: a) den Entwickler, der mit einer Software arbeitet (Open Source, Closed Source) welche Ihm nur zu einem bestimmten Prozentsatz bekannt ist. Zusätzlich erschwert wird das Thema, wenn die Sprache/Entwicklungsumgebung nicht 100%ige Nachvollziehbarkeit aller vom Code ausgeführten Aktionen sicherstellt. Hier habe ich Intuition von Entwicklern sehr zu schätzen gelernt. Wo bei es hier gigantische Unterschiede gibt, grundsätzlich gilt, wie im <a href="http://de.wikipedia.org/wiki/Intuition">Wikipedia-Artikel</a> nachlesbar: je mehr Arbeitserfahrung , desto besser die auf Intuition basierenden Ergebnisse.</p>
<p>b) Das zweite Szenario, ist z.B. die Arbeit mit Werkzeugen wie <a href="http://www.python.org">Python </a>o.ä. Hier ist gewährleistet, dass jeder einzelne Schritt des Codes nachvollzogen und geprüft werden kann. Hier ist es immer besser, sich ausschliesslich rational dem Problem zu nähern und dieses Schritt für Schritt einzugrenzen. In der Regel ist man schneller, als mit Anzahl x intuitiven Versuchen den Fehler zu identifizieren.</p>
<p>Ein weiteres Problem ist mir vor allem bei der Arbeit mit Scriptsprachen aufgefallen. Die vermeintliche unmittelbare Überprüfbarkeit des Ergebnisses verleitet (bin of genug selbst Opfer gewurden) sich auf ein Try-and-Error-Coding zu verlassen. Wenn diese zusätzlich auf durch Intuition basierden Bugfixes verlässt, ist die Gefahr gross, das der Fehler nur oberflächlich behoben, aber nicht entgültig entfernt wird.</p>
<p>Grundsätzlich bin ich daher ein grosser Freund von Entwicklungssystemen (Sprache, IDE, Tools) welche grosse Transparenz bei der Softwareentwicklung sicherstellen. <a href="http://www.php.net">PHP </a>(hier vor allem das Zend Studio) liefert hier eine recht gute Grundlage. Python ist allerdings hier deutlich besser, da die Sprache an sich besser lesbar und inhaltlich stringenter aufgebaut ist.</p>
<p>Python bietet darüber hinaus deutlich mehr Tools zur Nachvollziehbarkeit des Codes, als PHP. Das kann aber aus meiner Sicht auch ein Nachteil sein. Denn die Arbeitsweise des Softwareentwicklers (v.a. das rationale Analysieren vs. der bewusste Einsatz intuitiver Fähigkeiten) sind sicherlich deutlich entscheidender für das schnelle Finden der korrekten Fehlerursache. Die Tools können das nur unterstützen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tschitschereengreen.com/blog/index.php/2009/11/16/intuition-debugging/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
