Hello all,
I just took a more extended look at CVS HEAD. There are
some style issues which caught my eye.
1. I'd appreciate if indentation uses spaces instead of
    tabs. And because I can avoid using tabs, I expect
    everyone else avoiding tabs too.
2. I'd really, really appreciate if assignments were
    not made operands of other expressions, especially
    not operands of comparisions in if statements:
     if ((bp = getNextBreakPoss(childLC, null)) != null) {
    I'd make some exceptions for more commonly used idioms
    in while statements
       while ((curLM = getChildLM()) != null) {
    but IMO this still s*cks.
3. Exceptions should never, ever replace simpler flow
    controls:
      try {
         return super.nextChar();
      }
      catch (NoSuchElementException e) {
        if (bEndBoundary) {
           bEndBoundary=false;
           return CharUtilities.CODE_EOT;
         }
         else throw e;
      }
    Apart from the potential for confusion, throwing
    exceptions is an expensive operation and should really
    be reserved for rare and non-local exits. (In the
    particular case above, the discrepancy between hasNext()
    and getNext() seems to indicate a design bug that should
    be fixed rather than worked around).
    Well, Excalibur has some even worse examples of abusing
    exceptions, but I don't think this should be followed.
4. Some identifiers make me a bit uneasy, like "BreakPoss".
    IMO random abbreviations should be avoided unless the
    identifiers become really long and unwieldy, at least
    in class names and preferably also in method names.
    Furthermore, I think abbreviations should be used
    consistently at least across class and method names:
      public void setStructHandler(StructureHandler sh) {
      public BreakPoss getBP() {
      protected Position getPos(Object nextObj) {
    Is it really worth to save a few characters this way?
    Also, capitalization should be consistent:
      class LMiter
      interface BPLayoutManager
5. I don't think naming styles should be mixed without good
    (and preferably explained) reason:
      boolean m_bInited = false;
    Yuck!
6. There seems to be a drive to use hungarian notation.
    While I don't have a strong feelings for or against it,
    I'd like to note that in all projects I've watched such
    an efford was ultimately wasted. Usage universally
    degraded over time, and causal and inconsistent usage
    just makes the code look ugly.
7. I think a bit more time should be spent to check general
    consistency after wholesale copy&paste:
       /**
        * This is the top level layout manager.
        * It is created by the PageSequence FO.
        */
       public FlowLayoutManager(FObj fobj) {
    Well, bad things happen.

It would be nice to get some agreements nailed down and
published.

J.Pietschmann


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to