发自我的 iPad

> 在 2014年7月28日,22:20,Andrea Faulds <a...@ajf.me> 写道:
>
>
> On 28 Jul 2014, at 15:00, Derick Rethans <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
>
> --
> 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