1. Java and Spring
API design has always been one of the more difficult and forward thinking design exercises – that's why the elegant Java Collections API is nothing short of spectacular. Java 8 has changed API design for good – and it looks like jOOQ making full use of the new functionality in the JLS. Nice work and a useful read, even if you haven't yet jumped on the Java 8 bandwagon.
I caught this one JIT and postponed the publishing of the review a bit to read through it. It details a hypothetical Java 8 enabled JUnit API for checking exceptions – would be a nice addition to the library.
Custom assertions are the next logical step forward – albeit a compromise between readability and to much code to maintain, and definitely worth taking a look at.
“Clean code is easy to read” – I'm sure you'd agree. However, even though this is an oh so simple statement, it has far reaching implications. This article takes a good look at magic numbers, constants and good test design – a good addition to the series.
Integration testing has an extremely high impact on developer sleep – that is – it lets you sleep at night. So you could make the case that this article will help you sleep better – jump on over and read the thing – it's quick and useful.
Very short post about filtering out packages when debugging in Eclipse. If you have ever stepped through a deep call stack with 10 proxies patting each other on the back – then this is a useful hack to cut out the noise.
Haven't had the time to look at this one (it's on my view list for this weekend) but it looked quite interesting.
Let's end the section with a slew of Spring releases that have seen the light of day this week:
I don't think the Spring team likes to sleep.
2. Technical
Good reminder of basic queuing theory, with an eye how it applies to a connection pool. Read it with pen and paper (yeah, paper).
An interesting analogy between the self driving car and your REST API – both need metadata and lots of it.
3. Musings
A look into how TDD actually affects design, and how, ultimately – TDD is just a tool that you leverage, and you shouldn't let it replace your good judgement.
For me, this article is so much useful than the usual high level spiel about TDD driving design. Does it? Sure – but that's far to abstract to use when you start coding. Looking at exactly how TDD may affect your designs and the nuanced decisions and considerations you have to make while shaping your code – now that's useful.
Also – very nice to see that I'm not crazy for using events and that TDD may indeed lead to an emphasis on events in your design, like it does for me.
Fun experiment in machine learning and sound – this is a cool app that actually makes musing out of your own twitter stream. For me – the sentiment analysis part is especially interesting.
I've been in my fair share of grueling code reviews – so it's not that hard to identify with the story here. It is worth pointing out that, while it may read negative, it's just a good chance to grow up a bit and make the next code review count.
The main page for all the TDD Hangouts that have been making the rounds lately. Video and audio recordings and a link to the next scheduled one.
res – REST with Spring (eBook) (everywhere)