On 08/29/2015 11:38 PM, Taylan Ulrich Bayırlı/Kammer wrote:
Per Bothner <p...@bothner.com> writes:

(1) When you contact the author of some code, you will not endear
yourself or win friends by starting by explain that his/her code is
"over-complicated", "inconsistent", "wrong", and buggy.  That is not a
smart way to start the conversation, unless your goal is to piss
him/her off.

I'm sorry that I've offended.  I really didn't mean to.

At the same time, I'm pretty clueless on how I could have better
expressed myself.  Maybe I'm just horrible at communicating.

First, you avoid judgmental words like "over-complicated", "inconsistent",
and"wrong".  You also try to put yourself in the other guy's head,
and think about how they would respond to your words.

For example:
  "I've been looking at the srfi-64 reference implementation and I
  find the structure a bit complicated and hard to understand.
  I also found what appears to be some bugs and inconsisteniesy from
  the specification.  I tried to see how if I could simplify the
  implementation; I'm happy with the result, and I'm hoping the result
 [see link] might replace   the existing implementation.  What do you think?"

See how much less obnoxious that sounds, while still conveying
the same message?

Well, it clearly wasn't very well tested,

Can I suggest you re-read and think about what you write before
you post it?  This is another confrontational statement that
you should expect would produce more heat than light.

Thousands of tests have been written using the reference implementation.
These have not exhaustively tested very corner case (far from it),
but saying "wasn't very well tested" leaves out the question of who
was supposed to test it, and how.

There is a srfi-64 meta-test.  I tried your implementation, and it had
4 unexpected failures.  This could be  a bug in srfi-64-test.scm,
but I suggest you take a look at it.

You could also try running the Kawa test suite ('make check') replacing
gnu/kawa/slib/testing.scm with your version,

and I can understand ugliness
resulting from age of code but a good portion of the ugliness here was
simply bad code style.

Thank you.

I don't use any of the words I use as slander.  I believe I made a
reasonable job of pointing out concrete issues with the code's style and
how these lead to actual bugs.

No you didn't.  You pointed out some concrete issues (bugs), but there
is little reason to ascribe those to the code's style.  At most, the goal
of supporting non-portable features where possible less to some
conditional code not getting tested.
--
        --Per Bothner
p...@bothner.com   http://per.bothner.com/

Reply via email to