一个模块的功能为何要单一,为何代码不要太长

前端之家收集整理的这篇文章主要介绍了一个模块的功能为何要单一,为何代码不要太长前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近帮同事调试一个程序模块时,一个函数中400行代码,当时调试了下,错误很难精确定位,我当时第一个想法就是代码太长,一个函数多个功能,通常很难定位异常出在哪里,但是我要我回答,我当时还很难举个列子说服他,但是我现在想到了一个足以说明问题的例子:
void Func()
{
......
.....
view *a=new view;
view *b =new view;
// 100行代码
.....
.....
ListView c;
.....
.....
// 100行代码
c.addItem(a); //把指针数组赋值而已
c.addItem(b);
.....
.....
// 100行代码
// delete a;
// delete b;
....
....
//100行代码
tansview(c); ------------------------------------------此时在这里报错,而不一定会在 c.addItem(a);c.addItem(b);报错。


如果模块化
出现的情况时这样:
func1(c)
view *a=new view;
view *b =new view;
c.addItem(a); //把指针数组赋值而已
c.addItem(b);

func2(a,b)
{
delete a;
delete b;
}

func3(c)
tansview(c);

调用时候

func1(c)
func2(a,b)
func3(c)

如果这时候问题出在func3(c) 此时很快你可以把问题从func3(c)追溯到func2(a,b)如果没发现问题再追溯到func1(c)

猜你在找的设计模式相关文章