<?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>Beat Fluri&#039;s Blog &#187; jmockit</title>
	<atom:link href="http://fluri.computerscience.ch/tag/jmockit/feed/" rel="self" type="application/rss+xml" />
	<link>http://fluri.computerscience.ch</link>
	<description>Just for the sake of it...</description>
	<lastBuildDate>Sat, 10 Jul 2010 20:09:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Clean Code Developer</title>
		<link>http://fluri.computerscience.ch/2009/11/clean-code-developer-3/</link>
		<comments>http://fluri.computerscience.ch/2009/11/clean-code-developer-3/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 19:30:24 +0000</pubDate>
		<dc:creator>bfluri</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[clean code]]></category>
		<category><![CDATA[cobertura]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[jmockit]]></category>
		<category><![CDATA[mockito]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[software craftmenship]]></category>

		<guid isPermaLink="false">http://fluri.computerscience.ch/?p=143</guid>
		<description><![CDATA[It&#8217;s time to replace the Clean Code Developer bracelet again. The next color, and grade respectively, is the yellow bracelet. Now, the principles become more interesting; The yellow bracelet principles are the foundation of clean object-oriented design. Although they are not that easy to fulfill every time, they should be followed as eagerly as possible. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-131" title="ccd_banner" src="http://fluri.computerscience.ch/wp-content/uploads/2009/09/ccd_banner.png" alt="ccd_banner" width="185" height="46" />It&#8217;s time to replace the <a href="http://www.clean-code-developer.de">Clean Code Developer</a> bracelet again. The next color, and grade respectively, is the <a href="http://www.clean-code-developer.de/wiki/CcdGelberGrad">yellow bracelet</a>. Now, the principles become more interesting; The yellow bracelet principles are the foundation of clean object-oriented design. Although they are not that easy to fulfill every time, they should be followed as eagerly as possible. The principles and practices are:</p>
<ol>
<li>Interface Segregation Principle: Clients should not be forced to depend upon interfaces that they do not use.</li>
<li>Dependency Inversion Principle: a) High level classes should not depend upon low level modules. Both should depend upon abstractions. b) Abstractions should not depend upon details. Details should depend upon abstractions.</li>
<li>Liskov Substitution Principle: a) subclasses have to fulfill the invariants of the superclass. Post-conditions of methods in the superclass have to be fulfilled by overriding methods in subclasses.</li>
<li>Principles of Least Astonishment: Avoid side-effects. Use, for instance, the command and query separation principle of Bertrand Meyer (<a href="http://www.amazon.com/Object-Oriented-Software-Construction-Book-CD-ROM/dp/0136291554/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1257362953&amp;sr=1-1">Object-Oriented Software Construction</a>).</li>
<li>Information Hiding Principle: Well, that&#8217;s not a principle, that&#8217;s an order <img src='http://fluri.computerscience.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Complex Refactorings: See the <a href="http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1257361863&amp;sr=8-1">Refactoring book by Martin Fowler</a>, his <a href="http://www.refactoring.com">Refactoring Web site</a>, or the <a href="http://www.amazon.com/Refactoring-Patterns-Joshua-Kerievsky/dp/0321213351/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1257361990&amp;sr=1-1">Refactoring to Patterns book by Joshua Kerievsky</a>.</li>
<li>Automated Unit Tests</li>
<li>Mockups: For Java I recommend <a href="https://jmockit.dev.java.net/">JMockit</a> or <a href="http://mockito.org/">mockito</a>.</li>
<li>Code Coverage: I recommend <a href="http://cobertura.sourceforge.net/">Cobertura</a> (free) or <a href="http://www.atlassian.com/software/clover/">Clover</a> (commercial) which both integrate nicely into <a href="http://hudson.dev.java.net">Hudson</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://fluri.computerscience.ch/2009/11/clean-code-developer-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seminar on Software Testing</title>
		<link>http://fluri.computerscience.ch/2009/09/seminar-on-software-testing/</link>
		<comments>http://fluri.computerscience.ch/2009/09/seminar-on-software-testing/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 18:41:22 +0000</pubDate>
		<dc:creator>bfluri</dc:creator>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[jmockit]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[software testing]]></category>

		<guid isPermaLink="false">http://fluri.computerscience.ch/?p=92</guid>
		<description><![CDATA[Today I gave a seminar on software testing for PhD students and professionals at the University of Zurich. During the seminar, I used the uDoo demo application to show how to use Maven and Hudson for automated testing.

]]></description>
			<content:encoded><![CDATA[<p>Today I gave a seminar on software testing for PhD students and professionals at the University of Zurich. During the seminar, I used the <a href="http://fluri.computerscience.ch/wp-content/uploads/2009/09/uDoo-1.0.zip">uDoo demo application</a> to show how to use <a href="http://maven.apache.org">Maven</a> and <a href="http://hudson.dev.java.net">Hudson</a> for automated testing.</p>
<div id="__ss_1966310" style="width: 425px; text-align: left;"><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=softsummer2009slides-090908015817-phpapp02&amp;stripped_title=seminar-on-software-testing" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=softsummer2009slides-090908015817-phpapp02&amp;stripped_title=seminar-on-software-testing" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://fluri.computerscience.ch/2009/09/seminar-on-software-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
