On Friday, 26 June 2015 at 15:46:28 UTC, Dicebot wrote:
On Friday, 26 June 2015 at 15:32:47 UTC, Jacob Carlborg wrote:
On 26/06/15 15:32, Dicebot wrote:
Just in case it wasn't clear : I will vote "no" on this proposal as long
as it features longish "readable" names like "shouldEquals".

You would vote "no" because of this?

Totally. Remember - this is effectively will make specific API a language standard which will propagate it to all sort of 3d party libraries. I find it unacceptably unreadable and verbose, to the point it will make working with those libraries considerably harder.

I use `test!"=="(a. b)` which is:
- short
- robust (supports any binary operator D has)
- straight to the point (it is about testing, not about what program should/must do)

The fact that examples uncourage UFCS abuse makes it even worse. Something that looks like this:

`2.timesTwo.shouldEqual(4)`
.. gets immediately marked as garbage in my book.

Your UFCS abuse is my UFCS awesomeness. It doesn't _make_ you use UFCS though, nobody would stop you from writing `shouldEqual(timesTwo(2), 4)` instead, which I think is nearly as readable. "Nearly" because I prefer UFCS. The advantage of using a word like "should" is that it enables UFCS, which "test" doesn't. After that it's a question of code style preferences whether or not you use it.

Atila

Reply via email to