Metrics-based evaluation and improvement of source code design - João Pedro Bandeira Fidalgo (2021)