1.软件复杂度不可避免
在一个大型软件中,软件复杂度是不可避免的。由于软件要满足一定功能,甚至会为了满足要求,会不断添加各种功能;而一定的结构,是满足功能的基础;软件功能越来越多,功能越来越大,自然会结构越来复杂;软件的复杂度也越来越大。
2.软件复杂度评价方法
关于软件复杂度,有不同概念。借用维基百科的话,程序复杂度(区别于计算复杂度)是对软件内部诸多影响内部关联关系的属性的描述(转引自https://www.jianshu.com/p/c66db5a6db22)。本文认为,软件复杂度指程序复杂度,而不是计算复杂度。
软件复杂度的评价有这样几种方法:
1)代码行数;
2)临时变量数;
3)圈复杂度(即判断次数);
4)结构分布;
5)工程数目。
3.软件复杂度控制方法
对软件复杂度的控制方法如下:
1)注意编码规范,确保命名规范和函数实现规范;
2)注重顶层设计和重构,去除代码的坏味道;
3)接口编程,而不是一整块编程;
4)控制需求,把需求合理化,让软件功能本身不要那么复杂。