[Laszlo-dev] RFC: Proposal for setter API change

P T Withington ptw at pobox.com
Thu Oct 2 17:27:06 PDT 2008


The smoking gun...  I guess I had my chance to object!  Rats.

On 2008-10-02, at 20:02EDT, André Bargull wrote:

>
> On 10/2/2008 10:22 PM, André Bargull wrote:
>> On 10/2/2008 8:57 PM, P T Withington wrote:
>>> On 2008-10-02, at 10:55EDT, André Bargull wrote:
>>>
>>>>>
>>>>> In the default event system, what you get if you don't write a  
>>>>> custom  setter, sends an event every time you call  
>>>>> setAttribute.  It does  _not_ make any optimization to not send  
>>>>> events if you happen to set an  attribute to a value it already  
>>>>> has.
>>>>>
>>>> A side note for the interested reader:
>>>> It's possible to turn on manually this optimization if you pass  
>>>> as the third argument to "setAttribute()" ?true?, e.g.
>>>> foo.setAttribute("text", "hello world!", true)
>>>> (That way the setter is not called when the value did not change.)
>>>
>>> My head hurts trying to process that logic.  Too many negatives.
>>>
>>> This seems like an incredibly dangerous optimization, because if  
>>> you have a custom setter, how can the generic code know whether or  
>>> not the value 'changed'?  E.g., suppose the custom setter ensures  
>>> your value is in a particular range or rounded to a particular  
>>> granularity?
>>>
>>> When did setAttribute grow this featureXXXXXXXbug?  I don't recall  
>>> seeing an API review for this.
>>
>> It's there since 4.0.5
>
> I'm searching for a specific changeset, but take a look what I found:
>>  r6110 | max | 2007-08-17 05:11:57 -0700 (Fri, 17 Aug 2007) | 24  
>> lines
>>
>>  Change 20070816-maxcarlson-f by maxcarlson at plastik on 2007-08-16  
>> 20:44:10 PDT
>>      in /Users/maxcarlson/openlaszlo/wafflecone
>>      for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
>>
>>  Summary: UPDATED: Add flag to only setAttribute() if it the value  
>> passed in changed.
>>
>>  New Features:
>>
>>  Bugs Fixed:
>>
>>  Technical Reviewer: ptw
>>  QA Reviewer: promanik
>>  Doc Reviewer: (pending)
>>
>>  Documentation:
>>
>>  Release Notes:
>>
>>  Details: Add a flag that only sets the attribute if its value  
>> changed.  It's a common pattern to only set an attribute when it  
>> changed.  W
>> ith inlining of setAttribute it will also make sense for performance.
>>
>>
>>  Tests: IWFM
>




More information about the Laszlo-dev mailing list