On 28/07/11 13:52, Jeremias Maerki wrote:
> On 28.07.2011 13:59:52 Vincent Hennebert wrote:
>> On 27/07/11 13:39, Jeremias Maerki wrote:
>>> On 27.07.2011 12:09:58 Vincent Hennebert wrote:

<snip/>

> I've done extensive test with various fonts.

This is good to hear. The problem is that those tests are not publicly
available, so if anyone else makes any changes to the font library, they
won’t have the possibility to test them and avoid regressions. For this
reason I think it’s very important to have tests available to everyone.


>>> I've done that intentionally to indicate
>>> that the variable is only just used by the following method.
>>
>> By putting it at a non-expected place you’re making it difficult to find
>> the variable and understand in a quick glance what the class is made of.
>> This hampers the readability and maintainability of the code. Given that
>> it’s what we spend most of our time on, I find this worrying.
> 
> See? And I did it that way exactly because I wanted to make this more
> readable and understandable. It's just hopeless to even try around you.

This is great to know that you were trying to make it more readable. In
this case though, I think putting the variable declaration in the middle
of methods would do more harm than good, because of the very strongly
established convention of putting all variables at the beginning of the
class.


>> Your needing to put the variable near to the methods that use it is
>> a clear sign that this class is too big and needs to be split into
>> smaller entities.
> 
> That's becoming a standard statement of yours.

I’m puzzled when I read this because this is actually what is being
recommended in every book, and by every experienced OO developer. So why
not apply it?

<snip/>

>>> I'll swallow my comment to this and just do the split:
>>> http://svn.apache.org/viewvc?rev=1151447&view=rev
>>
>> When I read this and the sarcastic message associated to the commit, I’m
>> concerned about the unwelcoming atmosphere that is being created on this
>> mailing list. Can we try and remain civil to each other?
> 
> It was meant to be sarcastic and an expression of my anger.

I appreciate that you may be angry, how does that justify an aggressive
tone though?

> We two got
> along in the last few months because we apparently went out of each
> other's way. But that only hides the underlying problem. I cannot turn
> myself magically into the person that can always forsee how you want
> something done. And I'm getting really tired of having the same
> arguments over and over. The only way I can react to this is to retreat
> again. Which is probably what I'll be doing after finishing some of the
> things I promised to a number of people.
> 
>>
>>>> But more importantly, there is no unit test that comes with this commit.
>>>> So there is no reason to believe that the problem is fixed and, most of
>>>> all, will not happen again in the future. Can you please add a unit test
>>>> for this?
>>>
>>> No, I cannot. For licensing reasons. I can't upload the font that's
>>> causing this into the Apache SVN repository. I'd have to artificially
>>> construct a font that emulates this and I certainly won't try to do that.
>>
>> We have the DejaVuLGCSerif font in our tests/resources/fonts directory.
>> Surely it must be possible to reproduce the issue with that font. Did
>> you have a look at it?
> 
> I'm afraid, both DejaVuLGCSerif and glb12 don't have that particular
> constellation.

The problem is, as explained above, we need to be able to test the font
library, and have the tests in a public place. Surely, among all the
commonly available free fonts, there must be one that shows the problem?

And if the fonts’ licenses are incompatible with ASL2.0, maybe we can
set up a project on SourceForge, like for the hyphenation patterns?
Maybe OFFO itself would be a proper host for that?


Thanks,
Vincent

Reply via email to