Re: Java Circle

From: Daniel A. Koepke (dkoepke@california.com)
Date: 04/08/99


On Thu, 8 Apr 1999, George Greer wrote:

> I like the whitespace is ignored attitude. It allows people to have much
> more flexibility with their own "taste" in coding style.

Although that might not be terribly desirable, given that a mud is a
calloborative project and, from personal experience, a big problem is
always getting everyone to write readable code.

> >    for (i in character_list)
> >      if (!isnpc(i) && i.got_message < 10)
> >        send(i, "hello.\r\n")
> >        i.got_message++
>
> Neat idea, but what happens if people like 4 spaces, or tabs, or mix the
> two, or get it badly formatted from cut & paste, or etc..  Then people with
> variable-spaced font terminals may have words with you.

Tabs could be expanded to, by default, 8 spaces.  I suppose I can allow
that to be changed within a source file via a "#pragma" type thing.  Your
spacing doesn't need to be two, I just used that as an example.  I could
very well do:

  if (i !in character_list)
    if (isnpc(i))
                           i.flags.set(crafty)

The only time we'd have an error with this is if we indented a line
between the "if" and the "i.flags..." line, as that is between two
established levels.  Anyway, there's two ways to approach this type of
block formation.  I can make it so that once you establish a level, the
indentation must be the same throughout the file or function in order to
place something in that level:

  if (i !in character_list)
    if (isnpc(i))
                  i.flags.set(crafty)
    else if (i.flags.has(foobar))
                  i.flags.set(bar)

which I prefer, or I can allow inconsistent spacing of new-levels, but
consistent spacing with blocks.  That is,

  if (i !in character_list)
    if (isnpc(i))
      i.flags.set(crafty)
      log("set crafty flag on " + i.name())
    else if (i.flags.has(foobar))
                             i.flags.set(bar)
                             log("set bar flag on " + i.name())

As for variable width fonts, I don't see the point.  Every space will be
the same in the font -- and I'm guessing a tab will just be represented by
a multitude of those spaces on the screen space, not by a pre-drawn "tab"
character.  The receiving badly formatted code argument is quite
legitimate, though, since there won't be a way to tell where a statement
truly belongs if there's no logical give-aways.

-dak


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST