[Zope3-dev] Bringing the name game to a close, for now

Jim Fulton jim@zope.com
Mon, 10 Dec 2001 13:37:55 -0500


I'm going to assert benevolent dictator rights here and
bring the naming discussion to a close, for now.  We can
revisit naming issues again in a few months after people
have had a chance to work with the new technology but before
the first beta.

Here are my pronouncements:

- In the interest of compromise, we'll rename "feature" to 
  "adapter", even though our definition will deviate from the
  GoF pattern intent.

  Here is the "Intent" from the GoF pattern:

   Convert the interface of a class into another interface
   clients expect.  Adapter lets classes work together that
   couldn't otherwise because of incompatible interfaces.

- In the interest of consistency and brevity, and because we're 
  having to change words anyway, we'll rename
  "presentation" to "view".

- In the interest of my sanity, sorry, we're going to keep
  "service" and "utiity" for now and endevor to make then
  clearer through better documentation and examples.

  I am confident that the distinction we're making between
  service and utility is valid and useful. Over time we may
  convince others, or be convinced to remove the distinction.

On general naming principles, my guiding principles for naming
components include:

- Names must stand on their own. They must be nouns so that we
  don't always say "component". It's OK to say "component" once and
  a while, where the contenxt is unclear, but most of the time,
  we should be able to just use the name by itself, as in 
  "get the IPostalInfo adapter."

- Names should be clear but concise and easy to say and write.
  We don't want a lot of names and the ones we do have will probably
  be used a lot. For this reason, I really want to avoid two-word
  names such as "core service".

- Names should be meaningful, but we also need to remember that 
  most meaningful names, unfortunately, have multiple heavily
  loaded meanings. For example, the term "component" has many meanings
  even to software engineers. We've chosen a specific definition for
  our discourse.

Jim

--
Jim Fulton           mailto:jim@zope.com       Python Powered!        
CTO                  (888) 344-4332            http://www.python.org  
Zope Corporation     http://www.zope.com       http://www.zope.org