cdot65 / pan-os-upgrade

An efficient tool to execute configuration backups, network state snapshots, system readiness checks, and operating system upgrades of Palo Alto Networks firewalls and Panorama appliances.
https://cdot65.github.io/pan-os-upgrade/
Apache License 2.0
39 stars 7 forks source link

94 enhancement refactor script functions into dedicated class objects for improved modularity and maintainability #95

Closed cdot65 closed 5 months ago

cdot65 commented 5 months ago

Overview

This pull request introduces a comprehensive refactor of our existing script functionalities, aligning with the proposed enhancement for improved code modularity, maintainability, and scalability. While the initial proposal suggested the creation of dedicated class objects, the implementation has favored a modular function-based approach to achieve the desired outcomes without the overhead of class management.

Key Changes

Rationale

The refactor aligns with the spirit of the original enhancement request by achieving a more organized and manageable codebase. The decision to use functions imported from modules, as opposed to class objects, was made to maintain simplicity and ease of use while still significantly enhancing the code structure. This approach maintains the flexibility and reusability of our code, ensuring that it remains approachable for contributors and scalable for future needs.

Conclusion

This refactor represents a pivotal improvement in our project's architecture. By transitioning to a more modular and functionally organized codebase, we've laid a robust foundation for future development, improved the ease of maintenance, and enhanced the overall code quality. We welcome feedback and further contributions as we continue to evolve and improve our project.