<?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; Code Styling</title>
	<atom:link href="http://www.tschitschereengreen.com/blog/index.php/tag/code-styling/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tschitschereengreen.com/blog</link>
	<description>Tschitschereengreen - the yoosic coding division</description>
	<lastBuildDate>Fri, 28 Jan 2011 19:02:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<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>
	</channel>
</rss>

