可重用性:系统的某部分可被应用到其他系统中的程度,以及应用的难易程度。比如组件化,就是从代码的可重用性考量的,比如使用Android Jetpack的组件更好更快的构建App,复用了很多的逻辑代码。
可维护性:是否能够很容易对系统进行修改,改变或者增加功能,提高性能,以及修正缺陷。
可读性 : 阅读并理解代码的难易程度,尤其是在细节语句的层次上。
可测试性:指的是你可以进行何种程度的单元测试或者系统测试,以及何种程度上验证系统是否符合需求。一般我们可以使用Mockito + 反射(是为了更好的隐藏类的信息,不因测试而破坏类的封装性,可以使用反射组件更方便的进行反射kit-reflect)来进行构建单元测试
可用性:指用户学习和使用一个系统的难易程度。比如我们设计对外的SDK时候需要重点考量可用性。
健壮性:指系统在接受无效输入或者处于压力环境时继续正常运行的能力。防御式编程就是为了保证系统的健壮性。