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
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!
I know how much you want to feel special, but here's the definition of
"read". Your description of how you interpret what you see falls into
this definition:
http://209.161.37.11/dictionary/read
Cheers,
Rob.
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'