3 ms·
I think I missed something here, does this article really suggest that plusExcuseExcuse() would be better? The domain is dates, we all know months have differe
by teknopaul 5y ago
I think I missed something here, does this article really suggest that plusExcuseExcuse() would be better?
The domain is dates, we all know months have different numbers of days so _something_ must be done and this is explicit from the domain.
Changing PI to PI_ISH because numbers in a language is limited does make code more readable.
Almost everything in a computer is an imperfect model.
i++
is not improved as
incrementUnlessItOverflows(i)
You are not going to change how increment works so avoid making it awkward.
You cant change the fact that number of days in a month varies.
I find this as annoying as "mistakes programmers make about time" articles.
The reality is programmers understand that all time in all computers is just a model to be played with.
Recently I saw the people are fretting because there may _have to be_ a negative leap second. Leap seconds are a man-made concept. You don't _have to_ have a negative leap second, you just have to accept the earth's spin is not constant, utc is a model, the model is not worse if its out by >1, it was never perfect, it exists to be convenient. utc ignores being out by >1 millisecond, why is there a problem if the denomination is a 1000ms?
The world keeps turning and the model is simpler if _all_ leap seconds were ignored, it will take a while until midday over Greenwich is affected and it will not matter when it is. It was an arbitry location in the first place.
It seems to me JodaTime is correct, if you want to add 30 days plus(30 days), if you want to accept that the month model is imperfect plus(1 month) and see what you get.
++ is concise and precise, the domain is a programming language.
- Etheryte 5y agoI don't really see how neither the article nor my comment suggests anything of that kind, if anything, the opposite. Feels like you're fighting windmills.