单项选择题

A.减少重复的代码
B.将复杂问题分解为更简单的部分
C.提高代码的清晰度
D.以上全部都是