Ok, I need a good moan about this to the extent that it deserves its own blog post, but I had it with the bloody
Thread.sleep() method in Java!
I know it was the only way to “sleep” back in the day but seriously, but seriously, we have
TimeUnit since JDK 1.5 — and nowadays we’re using Java 8 and Java 9 is already on the horizon, so that argument doesn’t hold anymore.
Every piece of code I look at forces me to do all sorts of mental computations just to figure out what is a simple
Here’s a few examples, to support my case (ahem, moan!):
This one is actually simple, but you have to spend time counting the zeros to figure out whether it’s a 10 seconds or a one second sleep. You can argue:
Might “fix” that — but you still have to do the mental computation of transforming to seconds — it just so happens that it’s an easy one to do quickly in our minds that we don’t even feel it! I would argue though that this is much much quicker to interpret:
And while the above is not the best argument, here’s one:
Now you tell me without having to count the zero’s what the heck is this call doing? And I can tell you it does the same as this:
But it’s bloody difficult to read!
Seriously, we had
TimeUnit since JDK 1.5 — the days of JDK 1.2 are long gone, so can we please drop the cryptic
Thread.sleep() in favour of the