Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-509

Cleanup/Refactor FetchMail code

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 3.0.0
    • Fix Version/s: Trunk
    • Component/s: FetchMail
    • Labels:
      None

      Description

      Current FetchMail code is really hard to read and manage.
      I loose too much time looking around its code to understand how things works.

      So I put my hands in, and applied a few refactoring.

      I already removed 2200 lines of code (50Kbytes of code) while keeping the same functionality (only refactorings).

      Of course refactorings like this are not always an easy change: I also remove the StoreProcessor/FolderProcessor/MessageProcessor granular creation by refactoring them to top level reentrant objects that take things to process as arguments to their "process" method.

      MessageProcessor is still a mess, but I think this is more selfdocumenting than before.

      I can clean up things much more and update documentation and so on, but I would like to know if this kind of update is welcome or not, before loosing too much time.

      Stefano

        Attachments

        1. james-imap2-proposal-extended-2.zip
          475 kB
          Joachim Draeger
        2. fetchmail-refactoring2
          206 kB
          Stefano Bagnara
        3. fetchmail-refactoring1
          145 kB
          Stefano Bagnara

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              bago Stefano Bagnara
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: