Please use the Apache issue tracking system for new NetBeans issues (https://issues.apache.org/jira/projects/NETBEANS0/issues) !!

Bug 195157

Summary: "Create local variable" creates variable at wrong location
Product: java Reporter: rcasha <rcasha>
Component: HintsAssignee: Svata Dedic <sdedic>
Status: NEW --- QA Contact: issues <issues.netbeans.org>
Priority: P3 CC: matthies
Version: 7.0   
Target Milestone: TBD   
Hardware: PC   
OS: Linux   
Whiteboard:
Issue Type: ENHANCEMENT Exception Report:

Description rcasha 2011-02-08 07:26:42 UTC
At present, the hint "Create local variable" generally creates the variable at the very beginning of the method, instead of at the block start. There are times when the variable is declared on the same line as the hint however, and I haven't worked out when this is done. 

Local variables should be declared as close as possible to where they're being used, that is in the lowest block that encompasses all uses of the variable. At least this should be configurable.
Comment 1 matthies 2011-02-08 16:19:24 UTC
I agree, and to be more precise, the variable should not be added at the start of the block, but at the latest possible position within the relevant block.

For example in

    void foo() {
        // ... some code not using 'temp'...
        for (x : list)
        {
            // ... more code not using 'temp'...
            // (*)
            do {
                // ... more code ...
                if (temp > 0) {
                    // ... even more code ...
                    temp = temp - delta;
                }
            }
            while (temp >= 0);
            // ... more code possibly using 'temp'...
        }
        // ... more code not using 'temp'...
    }

the variable declaration should be created at (*).
By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo