SRE Simplicity: Software System Complexity
Simple systems and software are proven to be easier to develop understand maintain and test. For site reliability engineers simplicity should be an end-to-end goal and cover all aspects of the software life cycle. In this course youll explore the importance of simple systems and software code. Youll identify the different types of software complexity such as structural complexity organizational complexity complexity of use and theoretical complexity and learn how to differentiate between complex and complicated code. Youll move on to recognize how to measure complexity using various metrics such as cyclomatic complexity the Halstead metric and the maintainability index. Lastly youll examine class coupling using NPATH to measure the complexity of a piece of code and prioritizing the simplification of projects and resources.