In the previous year I did a coding test problem when applying for a job; one of the problem requirements were of little sense to me, so I decided to replace it with a slightly different thing which I found a bit more reasonable. To clarify my intention, I added the following comment to the source code:
The original task formulation asked to exclude
operator+
from the call resolution list using the SFINAE technique. To tell the truth, I don't understand the reason for that requirement. Excludingoperator+
like that is only practical if we provide a fallback implementation which doesn't requireoperator+
onT
andT2
. I cannot imagine any reasonable fallback for the element-wise addition, so I decided to leave this operator as is. Instead, I implementedoperator==
in the requested way.Let me come up with a more interesting SFINAE exercise. The problem is to implement sparse array's
operator==
in the following manner: if there is anoperator==
betweenT
andT2
, use it; otherwise, fallback tooperator<
. Thanks to C++17's constexpr iterators, the implementation is fairly straightforward and efficient.
I successfully went through the interview and now I'm working at the company for more than half a year. Suddenly, one of my colleagues tells me in a casual conversation that he clearly remembers that my test problem solution comments contained some bad tone. More specifically, he claims that the phrase “Let me come up with a more interesting SFINAE exercise.” (and the word “exercise” itself) is overly self-confident and didactic, like if it was “let me teach you how to it properly”. At the same time, I cannot see anything that wrong with the phrasing.
None of us is a native speaker. Could you please tell me how this exact phrase sounds to someone who is?
P. S.
Feel free to point me out to any other mistake I did in the above text.