Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #31745

Re: Why does savepng workl with eventlistener but not by call from form?

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups comp.lang.javascript
Subject Re: Why does savepng workl with eventlistener but not by call from form?
Date 2016-11-27 00:57 +0100
Organization PointedEars Software (PES)
Message-ID <1768059.oMNUckLgyt@PointedEars.de> (permalink)
References (2 earlier) <17n7y8md13g1b$.kznrbim03ls$.dlg@40tude.net> <2828265.aV6nBDHxoP@PointedEars.de> <o1ctld$g60$1@dont-email.me> <4504999.NdOOCcYCMV@PointedEars.de> <o1d4q7$c90$1@solani.org>

Show all headers | View raw


Christoph M. Becker wrote:

> On 26.11.2016 at 22:47, Thomas 'PointedEars' Lahn wrote:
>> Scott Sauyet wrote:
>>> Thomas 'PointedEars' Lahn wrote:
>>>> Lesson to be learned: Design functions/methods to accept references to
>>>> parameter/option objects, and not more than 5 arguments [unless it is a
>>>> list of values of equal meaning, see e.g. Math.max()].  Otherwise
>>>> nobody is going to remember the correct argument order, you will be
>>>> sacrificing flexibility, [ ... ]
>>> Why five?  That still seems far too many for almost every case.  Three
>>> seems to me a much better guideline.  Of course everyone will draw these
>>> lines differently for themselves, but I was wondering: do you have a
>>> specific reason for that number?
>> Yes.
> 
> Which is?

Maybe it was like Douglas Adams picked the number that was going to be the 
“Answer to the Ultimate Question of Life, The Universe, and Everything”:

  “The answer to this is very simple. It was a joke. It had to be a number, 
   an ordinary, smallish number, and I chose that one. Binary 
   representations, base thirteen, Tibetan monks are all complete nonsense.
   I sat at my desk, stared into the garden and thought '42 will do'.
   I typed it out. End of story.”

      —Douglas Adams in <news:alt.fan.douglas-adams>,
       <news:adamsd.1102700746A@news.cerf.net>

So, why did I pick 5?  It just seemed practical at the time, and it still 
does.  It is a reasonably small number, which is important for a short code 
line length, particularly if you want to be descriptive in your parameter 
names, but not so small as to be overly restrictive in a rule of thumb.
If you are human(oid), and still equipped with all fingers (or toes), you 
can count the arguments/parameters of the function on those using only one 
limb.  Maybe it is easier to develop a mnemonic because of that.  

In hindsight, there is also an oft-cited theory in the cognitive sciences 
(which I learned of when studying machine-computer interaction) which is 
usually interpreted so that humans’ working memory can hold up to 7 ± 2 
items; so, 5 would be a number that every human(oid) could manage:

<https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two>

Finally, I think that I can remember the correct order of 5 parameters 
without consuming too much caffeine.
 
-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Why does savepng workl with eventlistener but not by call from form? jonas.thornvall@gmail.com - 2016-11-10 14:35 -0800
  Re: Why does savepng workl with eventlistener but not by call from form? jonas.thornvall@gmail.com - 2016-11-10 15:47 -0800
    Re: Why does savepng workl with eventlistener but not by call from form? JJ <jj4public@vfemail.net> - 2016-11-11 21:05 +0700
      Re: Why does savepng workl with eventlistener but not by call from form? jonas.thornvall@gmail.com - 2016-11-11 06:35 -0800
        Re: Why does savepng workl with eventlistener but not by call from form? JJ <jj4public@vfemail.net> - 2016-11-11 22:01 +0700
          Re: Why does savepng workl with eventlistener but not by call from form? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-11-11 16:21 +0100
      Re: Why does savepng workl with eventlistener but not by call from form? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-11-11 16:08 +0100
        Re: Why does savepng workl with eventlistener but not by call from form? Scott Sauyet <scott@sauyet.com> - 2016-11-26 21:09 +0000
          Re: Why does savepng workl with eventlistener but not by call from form? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-11-26 22:47 +0100
            Re: Why does savepng workl with eventlistener but not by call from form? "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-11-27 00:11 +0100
              Re: Why does savepng workl with eventlistener but not by call from form? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-11-27 00:57 +0100
                Re: Why does savepng workl with eventlistener but not by call from form? Scott Sauyet <scott@sauyet.com> - 2016-11-27 01:08 +0000
                Re: Limit number of function parameters (was:Why does savepng workl with eventlistener but not by call from form?) "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-11-28 18:17 +0100
                Re: Limit number of function parameters (was:Why does savepng workl with eventlistener but not by call from form?) Scott Sauyet <scott@sauyet.com> - 2016-11-29 02:15 +0000
                Re: Limit number of function parameters "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-12-02 20:24 +0100
                Re: Limit number of function parameters Scott Sauyet <scott@sauyet.com> - 2016-12-03 01:58 +0000

csiph-web