编程规范思考--当前问题及相应的规范
1. 代码组织结构和外在表现形式上不一致,导致增加新功能耗时
ScrollWidget
DesktopWidget
SessionWidget
AppToolbarEx
这样的包含关系,在代码的组织中体现出来,建议是,有包含关系的,通过放置到同一个目录,或是子目录的方式,来组织其关系
1.1. 如A页包仿B/C两个widget共同实现XX功能,那么主页面是 XXPage(A页面),另有一个xx目录,包含BWidget CWidget 名称清晰的表明其职责
1.2. 其它职能性部分,新增文件按原来的 massage global等为划分
------------------新增文件是较少出现的,因此可能将权限回收到 committer
2. 命名准确
2.1. 页面命名准确
ResourceWidget-----------可以知道是哪个页面
ScrollWidget--------不知道啊,ResourceDesktopListScrollWidget 可能更清晰一些,不过有点长,也可以像上面1一样,考虑通过目录结构将这个放到 resource 目录下(再辅以名称)
2.2. 变量命名准确
QLabel m_labelServer;
ItemdelCombox m_comboServer;
看界面,界面上这个叫 IP地址(后面是子网掩码 网关 DNS等) -----------------所以这里更好的命名是
QLabel m_labelIPAddress;
ItemdelCombox m_comboIPAddress;
------------------页面新增较少,可由Committer来控制一下,变量命名就较难一些,暂缺少有效的办法
3. 超大函数
略,示例较多,维护起来较费劲,拆分,对于不能拆分的作例外处理
------------------git上增加相应的规则,这样在违反时,提交会失败,coder自行拆分处理
5. 超大文件,超大变量
略,超大文件较多,拆分--------超大变量还好
类可能需要拆分成多个,功能职责太多了
------------------git上增加相应的规则,这样在违反时,提交会失败,coder自行拆分处理
6. 宏控制逻辑
建议:
禁止:
在循环中使用宏控制逻辑分支
------------------git上增加相应的规则,这样在违反时,提交会失败,coder自行拆分处理
------------------向项目管理上提建议,拉分支来处理临时需求。确认需求需要合入主干,不需要,舍弃分支即可--------应该是首选
6. 就近原则
-----------暂未找到合适的示例
7. 扩展的就近原则
逻辑上就近
1. 处理同一个事情的代码在一起
2. 做类似事情的代码在一起
................
其中 6~7 暂缓
1. 做的还可以,带来的问题影响也可接受
2. 缺少明确的标准,以及可执行措施