On Tue, 11 Jun 2024 16:10:33 +0100
Ferruh Yigit <ferruh.yi...@amd.com> wrote:

> On 6/10/2024 4:10 PM, Morten Brørup wrote:
> > The coding style guide says:
> > 
> > "Variables should be declared at the start of a block of code rather than 
> > in the middle. The exception to this is when the variable is const in which 
> > case the declaration must be at the point of first use/assignment. 
> > Declaring variable inside a for loop is OK."
> > 
> > Since DPDK switched to C11, variables can be declared where they are used, 
> > which reduces the risk of using effectively uninitialized variables. 
> > "Effectively uninitialized" means initialized to 0 or NULL where declared, 
> > to silence any compiler warnings about the use of uninitialized variables.
> > 
> > Can we please agree to remove the recommendation/requirement to declare 
> > variables at the start of a block of code?
> >   
> 
> My concern is it may break the consistency in the code.
> If there is an existing function that defines N variables at the
> beginning of the function, new feature defines a new variable close the
> the feature block, this inconsistency bothers me more than all variables
> being defined at top.

There are few places where putting declarations in middle makes sense, like
   for (int i = 0; i < 10; i++)

> 
> Variables being defined on top only bothers me when function is too big
> and I can't see the variable declaration at the same time while I am
> reading the code.

Then the function is too big to start with!

> If functions is small enough to fit ~50% of my screen, locations doesn't
> really matter, I can still observe (effectively) uninitialized variables
> etc...
> Instead of trying to optimize big functions, I am for doing other way
> around to encourage smaller functions.

Agreed

> (Indeed I prefer 80 column limit with 8 space indentation for exact same
> reason, this *artificial* limit only allows some number of indentation
> and at some point forces developer to extract some part of code as new a
> function.)

Reply via email to