RE: [PHP-DEV] [SPAM] Re: [PHP-DEV] Syntactic improvement to array
| From: | Ford, Mike | Date: | Tue, 06 Feb 2007 15:41:38 +0000 |
| Subject: | RE: [PHP-DEV] [SPAM] Re: [PHP-DEV] Syntactic improvement to array | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-27860@lists.php.net to get a copy of this message | ||
On 06 February 2007 14:42, Robert Cummings wrote:
> On Tue, 2007-02-06 at 14:08 +0000, Ford, Mike wrote:
> > On 05 February 2007 17:29, Brian Moon wrote:
> > > That is why you have coding standards. Our doucment states that
> > > this should be written as:
> > >
> > > $a = array(
> > > 1 => array('pears', 'apples'),
> > > 2 => array('juice', 'oranges')
> > > );
> > >
> > > I believe in either syntax, proper formatting of complex data can
> > > solve the readablity problems.
> >
> > Solve, no. Alleviate, yes.
> >
> > Given the above, the layout tells me there's some kind of structure
> > going on, but I still have to actually *read* it to discover
> > that there are arrays involved (and where they start and end).
> >
> > With this version:
> >
> > $a = [
> > 1 => ['pears', 'apples'],
> > 2 => ['juice', 'oranges']
> > ];
> >
> > I can take one glance and tell there are nested arrays involved, and
> > what their scopes are -- I'd say my comprehension speed is at least
> > an order of magnitude faster!
> >
> > *That* makes this syntax a no-brainer for me, personally ;-)
>
> Ummm, you still had to read it. One "glance" just so happens to
> involve the brain grokking the content, just like reading.
No, I didn't have to read it. I had to look at it and see its shape, and I may or may not have
grokked it, but I didn't read it. I still have no idea what's actually *in* the arrays, I
just know there are arrays and how they're structured. My brain, virtually instantaneously,
goes, "Oh, brackets, nested arrays, 2 short arrays nested in an enclosing outer one!". I
don't class that as reading, just visual comprehension.
With the long version, my thought process goes more like "Uh, oh, indentation, must be some
structure here. Can't see any obvious syntactic markers, just a mush of characters, so better
read it. 'array', uh, ok an array, what's in it? explicit index 1 is, oh,
'array' again, ok, so we've got nested arrays, presumably this line is a
self-contained inner array? let's see, 'pears', 'apples', and, oh yes, a
proper matching close parenthesis; next line similar, explicit index 2, 'juice',
'oranges' and a close parenthesis, yup and a proper closing parenthesis for the outer
array; right, 2 short arrays nested in an outer enclosing one." See how I've actually had
to read and process *every* *single* *word* *and* *character* on the page? See how much slower it
was? Now, that's what I call reading.
My brain may be weird and unusual in working this way, but it does so I've become accustomed to
it! I know it's off the norm in other areas (I have no problem keeping a dozen or so PINs in
my head and reliably producing the right one without hesitation, and I generally remember personal
ID, bank account and credit card numbers without even trying) so it wouldn't surprise me to
find I'm way off the curve here too. Just permit me my little foibles, eh?
Cheers!
Mike
---------------------------------------------------------------------
Mike Ford, Electronic Information Services Adviser,
Learning Support Services, Learning & Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Headingley Campus, LEEDS, LS6 3QS, United Kingdom
Email: m.ford@leedsmet.ac.uk
Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211
To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm