At the time of the latest release of Prototype a number of benign people, 
mostly programmers complained about the alienating attitude the core team 
has to the larger community and suggested some totally common –sense 
changes in their communication like reflecting on requests in the wish – 
list etc. Now I want to talk about the same from a different aspect:  
correcting 
obvious mistakes and a lack of discussion of the code base. 

I have just finished studying the whole library and on the way came across 
some issues  that I wanted to discuss, or I found difficult to understand, 
at first, or sometimes I also spotted some obvious mistakes that should be 
eliminated.

My overall experience was quite discouraging as I found the mailing list is 
very rarely  a good forum for any real discussion, because a.) most posts 
are from people with inadequate understanding of object oriented coding ( 
and often the basics of the language!),  b.) there is very little 
discussion of the code base itself and people are asking for some quick 
solution or a recipe, c.) there are no overnight / weekly etc releases to 
correct obvious mistakes that other php and other libraries do have and the 
core team does not have ANY communication with the members.. 

I made more remarks, but here are only the ones about mistakes: 

The example in the manual is clearly wrong for eachSlice. This was the 
first thing I noticed right at the start still back in Prototype 1.6, but 
it just stayed the same .. 

Now there is a much more serious mistake in positionedOffset: 

  function positionedOffset(element) {

    element = $(element); 

    var layout = element.getLayout(); 

    var valueT = 0, valueL = 0;

    do {

      valueT += element.offsetTop  || 0;

      valueL += element.offsetLeft || 0;

      element = element.offsetParent;

      if (element) {

        if (isBody(element)) break;

        var p = Element.getStyle(element, 'position');

        if (p !== 'static') break;

      }

    } while (element); 

    valueL -= layout.get('margin-top');

    valueT -= layout.get('margin-left'); 

    return new Element.Offset(valueL, valueT);

  } 

I bet, they wanted to deduce the margin-top value from the cumulative 
topOffset  and vice-versa, didn’t they? 

Nevertheless, I am afraid it will again stay as it is even if this can 
cause a wrong return value in cases when margin-top isn’t equal with 
margin-left!! But, who cares? 

Any professional tool like prototype is not perfect and naturally  there 
could be mistakes in anything that is more than 7000 lines long. To be 
clear, it  is not any merit nor  a form of criticism if someone finds a 
mistake, rather it should be regarded as valuable contribution to further 
improve the library. Don’t you think so?

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/prototype-scriptaculous/-/3PGty9YGTnAJ.
To post to this group, send email to prototype-scriptaculous@googlegroups.com.
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to