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

Cleanup/Refactor FetchMail code

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.0.0
    • Trunk
    • FetchMail
    • 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. fetchmail-refactoring1
          145 kB
          Stefano Bagnara
        2. fetchmail-refactoring2
          206 kB
          Stefano Bagnara
        3. james-imap2-proposal-extended-2.zip
          475 kB
          Joachim Draeger

        Activity

          People

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

            Dates

              Created:
              Updated: