Avi Rosenschein wrote:

> -1
> 
> This seems to me to promote the bad programming habit of using values
> instead of constants. The whole purpose of the constant is to increase
> readability, and to ease maintenance by making future changes only to the
> initialization and not every place you used that value. If you are getting
> rid of the constant in order to improve readability, you probably aren't
> choosing good constants in the first place. Generally I would think the
> best thing would be just to rename the variable.

Don't fire so fast -- you may not see everything there is to it...

I came across this kind of inlining today while refactoring some code. Even 
though it may be only one and intermediate step of many when refactoring, I 
agree it would be really useful. No new shortcut needed, simply Inline 
(Ctrl-Alt-N), and no warning dialog anymore (I was really surprised to see 
this box today).

Therefore, +1 for this inline refactoring

I want to spare you of an example, but I'm ready to provide a real-world 
scenario...

Ciao
        Stef

> 
> Also, to give it a name like "inline constants" seems to imply that there
> is some efficiency benefit to be gained by "inlining" constants in Java -
> which in this case there isn't.
> 
> --Avi
> 
> "Thomas Singer" <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>> > Just curious. Why would you want to do this? The compiler puts the
>> > constant value in place of the constant "variable" so there is no
>> > performance gain.
>>
>> Why we use the refactorings at all? To make the code more readable!
>>
>> > What you appear to want is that YES is like a #def in C/C++ and is
>> > inlined. This is not necessary in Java.
>>
>> As the name already suggests, the example is just an example.
>>
>> Tom
>>
>>
>> On Tue, 30 Jul 2002 21:33:43 +1200, Pete Hendry <[EMAIL PROTECTED]>
>> wrote:
>>
>> > Just curious. Why would you want to do this? The compiler puts the
>> > constant value in place of the constant "variable" so there is no
>> > performance gain.
>> >
>> > What you appear to want is that YES is like a #def in C/C++ and is
>> > inlined. This is not necessary in Java.
>> >
>> > Pete
>> >
>> > Oh yeah, -1 :-)
>> >
>> > Thomas Singer wrote:
>> >
>> > > Since months, I would like to have the option to inline constants --
>> > > simply replacing their usage with their initialisation...
>> > >
>> > > Example:
>> > >
>> > > public static final Option YES = Option.YES;
>> > >
>> > > ...
>> > >   setOption(YES);
>> > > ...
>> > >
>> > > ==>
>> > >
>> > > ...
>> > >   setOption(Option.YES);
>> > > ...
>> > >
>> > > I know, I can do it with cut'n'paste, but I'm able to do each
>> > > refactoring with the help of cut'n'paste.
>> > >
>> > > Tom
>> > >
>> >
>>

_______________________________________________
Eap-features mailing list
[EMAIL PROTECTED]
http://lists.jetbrains.com/mailman/listinfo/eap-features

Reply via email to