CHARVA vs Lanterna – Comparing user-interface functionality for Java

Let’s say you want to program a game with a low level user interface (for example Pacman). But you don’t want to invest much time in the user-interface. So you take a look at existing libraries/frameworks providing user-interface functionality. The most popular ones are CHARVA [1] and Lanterna [2]. But which one is better? Lanterna […]

Read more "CHARVA vs Lanterna – Comparing user-interface functionality for Java"

Using the IODA architecture for Java

Last week I participated in a Coding DOJO which used the IODA architecture to reduce functional dependencies within code written in Java. The IODA architecture is inspired by Ralf Westphal, who states that common architectures (like MVC, layered architecture, onion architecture …) have two things in common. They define domains of responsibility and put functional […]

Read more "Using the IODA architecture for Java"

Never commit code with careless mistakes… again!

You know how to write clean code, but sometimes you check code into the repository with tiny little errors? Errors like forgetting null check, misspelling method names or poor documentation. This may have serval causes. Distractions/Interruptions? The primary cause for careless mistakes are distractions. Distractions usually results in interruptions. And the negative impact of interruptions […]

Read more "Never commit code with careless mistakes… again!"

Update multiple maven projects with multiple dependencies by using a simple batch file

Imagine writing code for multiple projects with multiple dependencies and continuously changing SNAPSHOT versions. I am currently writing code for six different maven projects. Each maven project consists of serval different maven modules. The maven projects have some dependencies among each other and dependencies for projects that other teams are responsible for. Let’s just say […]

Read more "Update multiple maven projects with multiple dependencies by using a simple batch file"

Do never invoke overriding methods in constructors

I came across these 2 methods. They both where used in completely different classes. But I stuck because they were slightly similar (I have simplified the code of the following examples) public class OtherClass{ protected OtherMyModel createOtherMyModel() {        OtherMyModel model = new OtherMyModel ();        model.initDefaultSearchValues();        model.doSomething();        return model; } } public […]

Read more "Do never invoke overriding methods in constructors"