This document discusses code metrics and refactoring. It begins with an introduction to metrics and how they can be used to evaluate code quality by measuring attributes like complexity, coupling, and cohesion. Several specific metrics are discussed like CBO, CC, and LCOM. The document then discusses refactoring and how metrics can help identify areas of code that need improvement. Refactoring is presented as an important process to prevent software decay and allow code to be improved over time through iterative testing and modification.