编程规范思考----大函数

规范需要由发自内心的认同,才可以执行下去,实际中各人由于习惯或能力不同,导致同样的需求,编码方面差异很大。

规范的作用是:尽可能弱化这种影响

本系统记录一下,遇到的反面的示例

 

1. 超大函数

 

看到的示例

类的函数接收了一个列表,对该列表做了如下事情

1. 如果本地的列表为空,则将列表复制到本地列表

2. 如果本地列表不为空,但和传入列表不一致

2.1. 传入有,本地无,增加

2.2. 传入无,本地有,删除

2.3. 增加时保证相对次序

----------

3. 将列表做layout布局显示

4. 连接默认资源

 

违背单一职责

1. 做了太多事情,臃肿

2. 做这些事情的时候,完全手搓,考虑用std 或 QList之类成熟的库来做,主要指合并列表部分

3. 冗余的变量,定义了 m_nDesktopCount 和 m_desktopList 其中 m_nDesktopCount = m_desktopList.size() ---------增加的实体不仅要处处维护其一致性

 

这样的代码不能说其错,但实在不好维护

1. 可能一开始这个功能只是 1.

2. 发现有问题,存在列表不一致,直接在本函数中修改,修改时,没有用std QList

3. 要增加布局展示,且布局展示正好在这个函数之后进行,----------干脆直接在这里做算了

4. 布局完成之后要做连接默认----同上

 

 

那么,如何预防这种现象呢?一开始并没有错,在一步步滑向深渊?

 

posted @ 2025-08-15 11:46  知易  阅读(8)  评论(0)    收藏  举报