Refactoring and Documentation of Python Code

Closed
Sofvie Inc.
Greater Sudbury, Ontario, Canada
Sidney Shapiro, PhD
Data Science Manager
(14)
4
Project
Academic experience
80 hours per learner
Learner
Anywhere
Intermediate level

Project scope

Categories
Software development Databases Data science
Skills
codebase style guides python (programming language)
Details

The main goal for this project is to improve the maintainability and understandability of an existing Python codebase by refactoring and documenting it. The problem that students will be solving is to take existing code that may be difficult to understand or modify, and make it more organized, efficient, and clear. By the end of the project, students should have improved the codebase so that it is easier for other developers to understand and work with, and more likely to be sustained in the long term. The outcome that is expected to be achieved for the company by the end of the project is a more robust and maintainable codebase that can be more easily updated and extended to meet new requirements.

Deliverables
  • Review the existing codebase to gain an understanding of its current structure and functionality
  • Identify areas of the code that can be refactored to make it more organized, efficient, and clear
  • Document the code with comments, explaining the purpose and function of each module, class, and method
  • Use best practices for Python development, such as following the PEP 8 style guide and using appropriate data types and design patterns
  • Test the code thoroughly to ensure that refactoring and documentation changes did not introduce any new bugs or errors
  • Create a final report that summarizes the changes made, and the benefits they bring to the codebase, and present it to the team or company

It's worth noting that depending on the size of the codebase, the complexity of the code and the expertise of the students, some of these tasks may need to be adjusted or split into more specific sub-tasks.

Mentorship
  • Providing a detailed project plan, with clear tasks and deliverables, that outlines the expected outcome, timeline and milestones of the project.
  • Providing a detailed overview of the current codebase, including documentation, design, and architecture
  • Providing guidance on best practices for refactoring and documentation of Python code
  • Providing access to any necessary tools and technology, such as development environments, testing frameworks, version control systems, and any other tools required to complete the project.
  • Providing access to any necessary data, such as sample data sets or test data, that may be required to complete the project.
  • Providing regular check-ins and feedback on the progress of the project, and addressing any questions or issues that may arise
  • Providing support in testing and debugging the code
  • Providing support for final presentation and report of the project.

About the company

Company
Greater Sudbury, Ontario, Canada
11 - 50 employees
Manufacturing, It & computing, Construction, engineering & trades, Mining, forestry & fishery

We are a software development company that creates tools to enable the workforce in their operational excellence journey. We can all build the safe workplace we deserve together.