Managing module or package dependencies is an important design activity that helps to keep a software project maintainable. Visualizing these dependencies is a good way of getting a first impression on a project and for exposing design problems. In this article we're going to create a basic visualization for a …
read moreOther articles
JUnit: Using External Resources
Many integration test cases need access to external resources like files or databases. Dealing with external resources is always messy because you have to set up state and tear it down later. Since JUnit 4.7, there's a mechanism that makes things a bit more convenient.Previously when you had …
read moreA Case for Guard Clauses
One of my pet peeves in programming is that few people use guard clauses. A guard clause is an almost trivial concept that greatly improves readability. Inside a method, handle your special cases right away and return immediately.
Have a look at the following example:
private int doSomething() { if (everythingIsGood …
read moreNew Project: JSysTest
I love unit tests and use them whenever possible. But in the end, there's no substitute for a full scale system test. Only after system testing, you can be sure that everything works as intended. When I was looking for a way to test a REST-style JSON web service, I …
read moreDevelopment Done Right
In my projects, I've always been the one who took care of infrastructure, standardization and quality assurance from the development perspective. The funny thing is that I'm no admin and no QA guy, so most of it wasn't even my job. In this article, I'm going to list a few …
read more(No) Comment?!
Many software developers feel bad because they make little use of comments in their code. Often, using lengthy comments is considered good style. In the old days, with languages like C or assembler, things got messy pretty fast, so comments were the only way to keep track of processor registers …
read moreGood API Design
Recently I discovered an interesting video for all of us aspiring software architects on Google Video. As part of the "Google Tech Talks" series, Joshua Bloch talks about "How to Design a Good API and Why it Matters". Being one of the main architects of Java (among others, he designed …
read moreTesting C++ Applications using CppUnit
Unit testing is hip these days and every programming language has its own JUnit clone that mimics the original more or less closely. For C++, there's the excellent CppUnit package that I've been using extensively lately. Unfortunately, C++ is less dynamic than languages like Java, so you can't simply tell …
read more