Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #18417
| From | Eric Sosman <esosman@ieee-dot-org.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: startup code |
| Date | 2012-08-29 17:14 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <k1m0mu$1bl$1@dont-email.me> (permalink) |
| References | (5 earlier) <DdmdnV3jtJyVqKPNnZ2dnUVZ_jCdnZ2d@earthlink.com> <2667fee7-d27c-4d64-8fcc-501c188a2d33@googlegroups.com> <wN6dnbtMWafH-6PNnZ2dnUVZ_rOdnZ2d@earthlink.com> <k1lr9i$t23$1@dont-email.me> <aa7b30Fa7aU1@mid.individual.net> |
On 8/29/2012 4:06 PM, Robert Klemme wrote:
> On 29.08.2012 21:41, Eric Sosman wrote:
>> "What she said," with a stylistic suggestion: If the code to
>> create the bitmap grows to more than a very few lines, consider
>> putting them in a private static method of their own and calling
>> that method from the static initializer:
>>
>> class Thing {
>> ...
>> static {
>> createTheBitmap();
>> }
>>
>> /** Called only during class initialization. */
>> private static void createTheBitmap() {
>> // create the bitmap
>> }
>> ...
>> }
>>
>> Doesn't change the code's meaning in any significant way, but
>> may make it easier to debug/adapt/refactor later on.
>
> If you go through the effort why then call it from an initializer? Why
> not just via the field declaration that holds the bitmap?
>
> class Thing {
> private static final BitMap bm = loadTheBitmap();
>
> private static BitMap loadTheBitmap() {
> ...
> return ...;
> }
> }
>
> Assuming that the state will be held in this class.
If the result of "create the bitmap" is a single value that
is stored in a single field, sure -- but that's an assumption.
For more general class initialization I think it would be
misleading to hide the setup of several fields behind what
looks like an initializer for just one of them.
--
Eric Sosman
esosman@ieee-dot-org.invalid
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
startup code bob smith <bob@coolfone.comze.com> - 2012-08-28 11:48 -0700
Re: startup code Roedy Green <see_website@mindprod.com.invalid> - 2012-08-28 11:53 -0700
Re: startup code Lew <lewbloch@gmail.com> - 2012-08-28 14:00 -0700
Re: startup code Robert Klemme <shortcutter@googlemail.com> - 2012-08-28 23:48 +0200
Re: startup code Lew <lewbloch@gmail.com> - 2012-08-28 15:25 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 08:27 -0700
Re: startup code bob smith <bob@coolfone.comze.com> - 2012-08-29 11:18 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 11:58 -0700
Re: startup code Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-29 15:41 -0400
Re: startup code Lew <lewbloch@gmail.com> - 2012-08-29 13:04 -0700
Re: startup code Robert Klemme <shortcutter@googlemail.com> - 2012-08-29 22:06 +0200
Re: startup code Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-29 17:14 -0400
Re: startup code Roedy Green <see_website@mindprod.com.invalid> - 2012-08-29 00:21 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 02:42 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 02:54 -0700
Re: startup code Arne Vajhøj <arne@vajhoej.dk> - 2012-08-28 19:20 -0400
Re: startup code Jeff Higgins <jeff@invalid.invalid> - 2012-08-28 15:22 -0400
Re: startup code Arne Vajhøj <arne@vajhoej.dk> - 2012-08-28 19:19 -0400
csiph-web