On 6/1/2016 9:46 PM, Ronald Chmara wrote:
> Hi. 
> https://github.com/php/php-src/commit/aa203477bc24b1fadc16d65533c1749162260592
> was my commit, put together as a result of discussions on this list
> (and sidebars). I can try to speak to it from memory.
> 
>> Note that it also encourages this weird C style naming with
>> abbreviations, hence, I would be open for discussing it.
> 
> It was 2000, 16 years ago.
> 
> WRT: "C style naming": C style PHP, *was* a big part of the PHP
> adoption base in 2000. No objects. No inheritance. No classes. No
> namespaces. Folks were also coming to PHP from ColdFusion, from Perl,
> from JavaScript, and bringing their language conventions with them.
> Without many guide rails, there was a weird mix of CreaTive_nameing
> (and spelling). Conventions like verbnoun, Noun_Verb,
> parent_Verb_noun, Parent(Noun())....(and most imaginiable
> permutations) were sprinkled throughout the code, throughout
> documentation, throughout the community... and one of the earliest
> public complaints about PHP was about about inconsitent function
> naming. The goal was to bend the curve, over the years, to bring some
> order and consistency, not just to internal function naming (as in
> this case), but to the entire PHP ecosystem. Thus, the standards about
> parent naming, about underscores and....
> 
> ...Abbreviation: In 2000, most PHP code was typed, manually, No IDE
> completion, no built-in syntax checking, no code generators, every
> single keystoke was a human hammering away in emacs/vi, BBedit,
> Notepad (etc.), and longer function names tended to decrease code
> quality (due to increased human error potential), and take up valuable
> screen space (800x600 pixels on emergency terminals, though a nice
> developer setup could have had 1024x768 pixels on a screen, all *at
> the same time*.)  Coding houses still had rules like "maximum of 80
> characters per line", to encourage brevity. Abbreviation in this
> environment made for more compact code, with less typing errors, but
> came with the costs of inconsistent abbreviations, and decreased
> readability.
> 
> In 2016, using an editor with built in syntax highlighting,
> auto-completion, while at coding desks measuring in thousands of
> pixels across multiple screens, it seems a bit dated, but when
> debugging text files with vi on a spare monochrome terminal session,
> late night over a modem at 3,600 Kbps, those things mattered a great
> deal. For folks who are still using modems, terminals, and updating
> their PHP on 800 pixel screens, I imagine they might still matter.
> 
> -Ronabop
> 

This is a nice story but it simply is not true at all. You refer to the
beginnings of the 21st century as if it was the 1970/80s.

Steve McConnell: Code Complete, Second Edition

>
> Make names of routines as long as necessary
>
> Research shows that the optimum average length for a variable name is
> 9 to 15 characters. Routines tend to be more complicated than
> variables, and good names for them tend to be longer. Michael Rees of
> the University of Southampton thinks that an average of 20 to 35
> characters is a good nominal length (Rees 1982). An average length of
> 15 to 20 characters is probably more realistic, but clear names that
> happened to be longer would be fine.
>

>
> A study by W. J. Hansen found that longer names are better for rarely
> used variables or global variables and shorter names are better for
> local variables or loop variables (Shneiderman 1980). Short names are
> subject to many problems, however, and some careful programmers avoid
> them altogether as a matter of defensive-programming policy.
>

The first edition of the book contains these passages as well, it was
released in 1993 and the years of the studies are already in the quotes.

I know that there are many valid reasons for short names as well as
appropriate and I know that there are certain domains where long names
are not even possible or make no sense in the first place.[1] However,
PHP is a high level programming language that does not suffer from such
limitations. The only relation to C is the fact that PHP's underlying
engine is in C. Users of PHP are not familiar with C and very often not
familiar with any programming language other than the ones for the web
(e.g. JavaScript).

From our own source:

  zend_rsrc_list_get_rsrc_type()

How is that more readable or faster to type than any of the following
who are human readable and much clearer?

  zend_typeof_resource()
  zend_resource_type()
  zend_get_resource_type()

[1] http://programmers.stackexchange.com/questions/162698

-- 
Richard "Fleshgrinder" Fussenegger

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to