That's funny.  By default I make every local variable final if I can.
I guess it's just out of habit.  I usually do the same for method
parameters, too (I'm less diligent about that one).  For methods, I
usually just leave them be until I know for sure that I need them to
be final.

On Thu, Jun 12, 2008 at 11:42 AM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> i mean generally, for methods, fields, and func args :) most of this
> stuff can stay final, but people dont bother doing it because its
> extra typing.
>
> -igor
>
> On Thu, Jun 12, 2008 at 8:38 AM, James Carman
> <[EMAIL PROTECTED]> wrote:
>> You mean like C++?
>>
>> On Thu, Jun 12, 2008 at 11:35 AM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>>> indeed. i wouldnt mind if final was the default in java :)
>>>
>>> -igor
>>>
>>> On Thu, Jun 12, 2008 at 8:18 AM, Martijn Dashorst
>>> <[EMAIL PROTECTED]> wrote:
>>>> Without the use of final wicket would not have made it this far.
>>>>
>>>> Martijn
>>>>
>>>> On Thu, Jun 12, 2008 at 5:08 PM, Brill Pappin <[EMAIL PROTECTED]> wrote:
>>>>> I understand the reasoning, however I think "best practice" can be 
>>>>> debated.
>>>>> To use your example Swing allows the user to override quite a bit, and it
>>>>> doesn't make any (or very few) assumptions on what should and should not 
>>>>> be
>>>>> done.
>>>>>
>>>>> I don't like API's that assume I'm an idiot and prevent me from 
>>>>> manipulating
>>>>> them how I see fit. If I cause a bug that I have to deal with, thats *my*
>>>>> problem to resolve.
>>>>>
>>>>> In my book (and I'm not the only one) excessive use of final is an
>>>>> anti-pattern.
>>>>>
>>>>> - Brill Pappin
>>>>>
>>>>> On 12-Jun-08, at 10:01 AM, cowwoc wrote:
>>>>>
>>>>>>
>>>>>> Brill,
>>>>>>
>>>>>> This is actually an API "best practice". Classes fall into two 
>>>>>> categories:
>>>>>> ones designed for subclassing, and ones designed to be final. The same
>>>>>> goes
>>>>>> for methods. Swing is full of examples of what goes wrong when people
>>>>>> override methods in classes that haven't been designed with subclassing 
>>>>>> in
>>>>>> mind.
>>>>>>
>>>>>> Gili
>>>>>>
>>>>>>
>>>>>> Brill Pappin wrote:
>>>>>>>
>>>>>>> on removing the finals
>>>>>>>
>>>>>>> The final members are the worst thing I've had to deal with in Wicket
>>>>>>> so far.
>>>>>>> Although I understand that there may be a reason for them, they are
>>>>>>> more a hinderance than anything else and seem to be trying to "protect
>>>>>>> users from themselves".
>>>>>>>
>>>>>>> - Brill Pappin
>>>>>>>
>>>>>>>
>>>>>>> On 12-Jun-08, at 1:03 AM, cowwoc wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Have you considered moving from subclassing to composition in Wicket
>>>>>>>> using
>>>>>>>> Callable<T>?
>>>>>>>>
>>>>>>>> Currently it is quite common for developers to subclass a component
>>>>>>>> in order
>>>>>>>> to override isVisible() and other properties. I am proposing that
>>>>>>>> instead
>>>>>>>> the component classes become final and properties may only be set
>>>>>>>> using
>>>>>>>> setter methods. The setter methods would take Callable<T> instead of
>>>>>>>> T, so
>>>>>>>> for example setVisible(boolean) would become
>>>>>>>> setVisible(Callable<Boolean>)
>>>>>>>>
>>>>>>>> The benefit of this approach is that you could introduce static
>>>>>>>> factory
>>>>>>>> methods to the Wicket components which would make them much easier
>>>>>>>> to use in
>>>>>>>> their Generic form. You could then introduce various helper classes to
>>>>>>>> create Callable<T> for constant values, such as
>>>>>>>> Callable.valueOf(true) would
>>>>>>>> return a Callable<Boolean> that always returns true.
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>>
>>>>>>>> http://www.nabble.com/users%2C-please-give-us-your-opinion%3A-what-is-your-take-on-generics-with-Wicket-tp17589984p17792488.html
>>>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/users%2C-please-give-us-your-opinion%3A-what-is-your-take-on-generics-with-Wicket-tp17589984p17800710.html
>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>>>> Apache Wicket 1.3.3 is released
>>>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.3
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to