
Ask HN: Why should variable shadowing be allowed? - JrProgrammer
Today I came across a term I had not heard of before: <i>variable shadowing</i>.<p>The general opinion about variable shadowing is that it is frowned upon for code readability and comprehension.<p>What would be a use case for programming languages to allow variable shadowing?
======
PaulHoule
In java I like using variable shadowing in constructors, that is, I write
something like:

    
    
      public SomeObject(String aField) {
        this.aField = aField;
      }
    

I think this promotes clarity for the user of the code, although you can
possibly make the mistake of writing

    
    
      aField = aField;
    

but if you declare aField as final, the compiler will give you an error if you
make that mistake.

