title: How to name variables or arguments involving double plurals?
body: <p>As someone we know said that naming variables is one of the most complex software engineering problems..., it seems that you don't realise it until you face it.</p>
  
  <p>Here is the current dilemma from a real life example: adding a CLI parameter that would allow user to specify in the format(s) of the file(s) generated as part of the test execution. </p>
  
  <p>In most cases there is just one file generated in a single format but if it is possible to get multiple file and also to request multiple output format by using a command separated list of values, like <code>--controversial-param=junitxml,html</code>.</p>
  
  <p>Based on names that went around, I came up to the impression that the winner will probably one that is matching this pattern:</p>
  
  <pre><code>--(output|report|result)[s]?-format[s]?
  </code></pre>
  
  <p>I argues against using a double plurals because they are grammatically incorrect. </p>
  
  <p>The second reason against plurals (in general) was that they would cause confusions: it would be too easy for someone to add a parameter and forget to add the plural, pass the code review and fail after it was merged. I seen this kind of error many times in the past, even happened to me to do the "typo", or to miss it during the review process.</p>
  
  <p>So I rely on others SO community to propose and vote <em>one</em> solution. Let the best argument win and use reasoning instead of personal preferences. </p>