>  
> 发自我的 iPad
>  
> > 在 2014年7月28日,22:20,Andrea Faulds <a...@ajf.me (mailto:a...@ajf.me)> 写道:
> >  
> >  
> > On 28 Jul 2014, at 15:00, Derick Rethans <der...@php.net 
> > (mailto:der...@php.net)> wrote:
> >  
> > > > Well, we don’t need to allow all of C99. We can simply allow using
> > > > features that are widely supported and actually useful. For example,
> > > > declarations between statements,
> > > >  
> > >  
> > >  
> > > I think that makes code a lot less readable, so I would not be in favour
> > > allowing this in our coding guidelines.
> > >  
> >  
> >  
> > Really? I’ve found that declaring everything in advance makes for 
> > hard-to-read code. To take an example from code I’ve written (admittedly 
> > not C code - GML if anyone’s curious - but it might as well be), the first 
> > line of a function looked like this:
> >  
> > var list, hashList, text, i, pluginname, pluginhash, realhash, url, handle, 
> > filesize, progress, tempfile, tempdir, failed, lastContact, isCached, env;
> >  
> > Even broken onto multiple lines, declaring everything at once isn’t nice. 
> > For large functions (and some functions have to be large necessarily), 
> > declaring everything at the start just means a long list of variables and I 
> > would argue impairs code readability.
> >  
> > You should declare variables when and where you need them. If everything is 
> > done at the top, you have to scroll up to check the type of a variable. It 
> > also means that now-unused variables are less obvious as the declarations 
> > are far away from the usage, so you probably won’t spot that it’s useless 
> > unless you look at your compiler warnings.
> >  
> > Actually, a similar issue popped up in the code where that example was 
> > from. The language it was written in had some unfortunate properties, one 
> > of which was that variables not explicitly declared would instead be 
> > treated as properties of the current object. Because all the variables were 
> > declared at the start of the function, it was easy to miss the fact that 
> > some variables being used had not actually been declared. Of course this 
> > specific issue doesn’t exist in C, but it is an example of why having to 
> > declare all your variables at the start of a function isn’t really a good 
> > thing.
> >  
> > If nothing else, I think we should use C99’s ability to declare variables 
> > between statements. It makes it more likely mistakes will be spotted, eases 
> > reading code, and as far as I am aware, is widely supported.
> I really hate this.
> Thanks

+1, can’t agree more.

Thanks,
Wei Dai
> >  
> > --
> > Andrea Faulds
> > http://ajf.me/
> >  
> >  
> >  
> >  
> >  
> > --
> > PHP Internals - PHP Runtime Development Mailing List
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >  
>  
>  
> --  
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php


Reply via email to