Projects tend to grow, expand and reshape as they progress, this can lead to; high code maintenance, legacy code and feature addition fatigue. Implementing a well-documented and malleable software architecture is a major step in addressing these associated time sinks. This talk will discuss viable software architecture approaches – while demonstrating core python modules, concepts and design patterns from a big data perspective.
Many projects welcome code addition from third party developers, however a well thought out software architecture should not be modified without; review, testing, possible cascading code and documentation changes. To remove the additional complexity of reviewing and handling third party code, designing and offering secure plugin infrastructure can allow for outside additions without the overhead.
A big data visualisation python project utilised by Oxford and Cambridge universities will be used in code demonstrations to show the direct use of a project built with architecture design in mind, and a multi-level dynamic plugin infrastructure. Attendees will be provided with a clear understanding of how function documentation techniques (PEP-3107 & PEP-0484) can be utilised for class clarity and how to (re)design a code base to allow for integration of third party code, while providing a concise framework for code inclusion.
Areas covered in this talk include