Category: Programming

Design by Contract für Java

Ende letzten Jahres war ich auf einer Präsentation zum Thema Scrum und wie man die “Definition of Done” korrekt bestimmt und sauber abgrenzen kann. Dabei ging es jedoch insgesamt gar nicht so sehr um das Thema Scrum selbst, sondern um ein für mich doch neues Stichwort “Design by Contract“.

Generell ist es ja möglich Teile eines Java Programms bereits bei der Ausführung über Assertions zu überprüfen um rechtzeitig Fehlermeldungen zu einer Verletzung der vom Programmierer angenommenen Regeln zu erhalten. Dies ist nichts Neues – es ist aber recht beschwerlich für eine komplette Vererbungslinie dies konsequent zu pflegen und zu überprüfen. Zusätzlich dazu wird auch der eigentlich Code durch Überprüfungen aufgedunsen. Eine Lösung für dieses Problem sieht das Programmierkonzept “Design by Contract” vor, welches von Bertrand Meyer für die Programmiersprache Eifel entwickelt wurde.

Design by Contract kann sehr nützlich sein, Fehler während der Entwicklungszeit abzufangen und direkt an der Quelle den Fehler zu suchen – nicht erst nachdem das eigentliche Problem durch den weiteren Programmablauf verschleiert wurde und an viel späterer Stelle als anderes Symptom zu Tage tritt. Für Java gibt es mittlerweile schon eine übersichtliche Anzahl an Implementierungen die den Entwurf nach Vertrag mehr oder weniger gut umsetzen. Eine im besuchten Vortrag vorgestellte Implementierung kommt von dem Schweden Jonas Bergström und nennt sich schlicht C4J – Contracts for Java.

jMonkey Engine – Tutorials

Hey everybody,

starting from a new isn’t easy – but luckily there are tutorials. For the jMonkey Engine a good start might be the Flag Rush – Tutorials.

screenshot
My First Game - Well its only a sphere with a texture but it works 🙂

I tried the first two chapters and have to say: jME ist fun! The tutorials are about setting up your first game application and drawing a simple object rendered with a texture. The goal of the whole flag rush series is to create a small game in which you will control a motorcyle and collect random flags placed in the digital terrain.

So I head over to part three and wish you fun trying too 😉

Installing JMoneky Engine in Eclipse 3.4

Hi everybody,

since trying around around a bit with 3D graphics with Java as programming language and gaming stuff I stumbled over http://www.jmonkeyengine.com.

So the first thing one may come across is installing the package for your Eclipse 3.4 Ganymed editor. First you have to make sure you already got subclipse, the subersion plugin for your Eclipse IDE. If not check out  http://subversion.tigris.org/ and install it in Eclipse vai Help > Softwareupdates. If you are ready to go then choose the SVN Repository Exploring perspective. There you habe to add the information from http://code.google.com/p/jmonkeyengine/source/checkout. If done so everything should look like this:

screenshot_eclipse

After finishing this you should check out the repository and install the project in your working space. The last steps are some library settings. I recommend you to watch the very good installation video you can watch at http://www.core-dump.ch/stuff/Tutorials/jME/eclipse_setup.htm.

After all there is an tutorial about installing on http://www.jmonkeyengine.com/wiki/doku.php?id=downloading_and_installing_jme_2.x .

Activate the Microsoft Word 2007 Development Mode

Well although I don’t really liked Microsoft Word in the past, I have to admit: Word 2007 has become cool. After editing the styles and themes a while, I came across the problem of changing the content controlled fields (means the field itself, not its content).

The answer is a check box in the word options which will show up the developer ribbon where you can edit all those fields and more like vb-scripting and so on …

Have fun 😉