Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-4476

Separate data and IO classes more effectively

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Python Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Context

      Our existing codebase has significant mixing of data and IO-handling code. Since any IO-related code must be placed in the asynchronous sub-module, this results in a lot of non-IO code being put there as well. All of that code is then duplicated during the synchronization process despite being unchanged in the synchronous version. We should refactor our module and class design to explicitly separate IO functionality from data and business logic.

      Definition of done

      Only modules and methods that perform IO should be in the asynchronous subfolder. These modules and methods should be rewritten to minimize the amount of business logic and data handling done alongside IO. This will reduce code duplication across our codebase significantly. 

      Pitfalls

      N/A.

            Assignee:
            noah.stapp@mongodb.com Noah Stapp
            Reporter:
            noah.stapp@mongodb.com Noah Stapp
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: