Friday, May 4, 2012

Re: [android-developers] Re: Singletons in Android .... Final solution?

> No prefix "m" is necessary, although for some reason many
> people do that, and underscores are not conventional. Use
> camel case, as 'mInstance' (if you must use the wart), or just
> 'instance'.

I do disagree

m_instance means private, just a c++ old fart convention anyway I
never use public vars indeed rarely I prefer having inlined setter
or/and getter especially if I need synchronization
or a copy instead of holding a weak pointer or holding a shared pointer ref.

> Really? Catching 'Throwable'? That is not very wise.

we are toasted if it's happening let's crash later 8-)

> Also, doing that initialization in a static initializer, it is redundant to check

I do like redundant code it makes it obvious

> final

yep I don't like this redondant word it makes my code ugly 8-)

just digging into java crap, since a couple of week (I am forced) I
just implement the thinnest layer I can, I not intend spending my life
coding in java, too ugly, too slow, too assisted, hate garbage
collection and JIT ( at least if you use it only on reasonable set of
instructions... )

On Fri, May 4, 2012 at 2:03 PM, Lew <lewbloch@gmail.com> wrote:
> Kristopher Micinski wrote:
>>
>> 0xcafefeed wrote:
>> > public class TheClass extends Guigui
>> > {
>> > ...
>> > /*#! Singleton */
>> >        static
>> >        {
>> >                if (m_instance == null) {
>
>
> Please follow the Java naming conventions.
>
> No prefix "m" is necessary, although for some reason many
> people do that, and underscores are not conventional. Use
> camel case, as 'mInstance' (if you must use the wart), or just
> 'instance'.
>
>>
>> >                        try {
>> >                                m_instance = new TheClass();
>> >                        }
>> >                        catch (Throwable e) {
>
>
> Really? Catching 'Throwable'? That is not very wise.
>
>>
>> >                                throw new
>> > RuntimeException(e.getMessage());
>
>
> What if it already was a runtime exception?
>
> What if it was an 'Error' or top-level 'Throwable'? You have downgraded the
> error to a runtime exception.
>
> Why do you initialize the runtime exception with the message and not the
> 'Throwable' itself?
>
>>
>> >                        }
>> >                }
>> >        }
>> > ...
>> > }
>> >
>> > started java [sic] since two weeks
>>
>> Impressive!  Except that..., that doesn't really have to do with the
>> issue that is being discussed here.
>>
>
> Also, doing that initialization in a static initializer, it is redundant to
> check
> if the variable is null. It's effectively the same as a one-line
> initializer:
>
> Except that with the one-liner you can make the variable 'final' and
> avoid threading issues.
>
>  private static final Singleton instance = new Singleton();
>
> What do folks think that lazy initialization will buy them?
>
> --
> Lew
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscribe@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate