软件方法论
djgclzdyc
PostgreSQL、linux C/C++
展开
-
代码规范、代码大忌、代码坏味道
C、C++语言宏定义宏替换内容部分整体要加括号(),以免宏作为被除数时,运算优先级异常;如果定义宏函数,宏替部分,入参也需要加括号()。宏名建议使用全大写字母,多个单词以_连接。严禁出现重复代码大型项目包含几十万/数百万行代码,重复代码很容易导致修改不一致,从而引起不一致相关问题,导致排查、定位、调试耗时,降低整体维护效率。++ – + - 整数运算溢出问题for (unsigned int i = 2; i>=0; i–){// 导致死循环}整数类型默认转换,无符号有符号整数做原创 2021-03-01 10:35:40 · 170 阅读 · 0 评论 -
迭代开发规范
开发任务在需求管理系统(redmine)建立总的任务单(包含概要设计文档、详细设计文档、开发子任务、整体验收测试规程),之后根据任务拆分建子任务单,项目开发人员根据各自特长认领开发任务,每个子任务有明显进展及时更新子任务状态,以便项目管理者查看最新项目整体进度。迭代开发 功能单 开发进度状态更新 规范 :1.有的话包含设计文档,2.包含核心代码函数或消息类型,3.包含测试用例和测试结果...原创 2021-03-01 10:18:57 · 411 阅读 · 0 评论 -
程序实践哲学
察其言,观其行,而善恶彰焉。出处《三国志·魏书·钟繇传》实践驱动理论学习,以动手实践为主线,驱动理论原理学习,空看理论一脸茫然。测试驱动开发,TDD,测试如同护栏防止你出错,逼着你走向正确的道路,逼近函数极限值。...原创 2020-12-16 11:21:18 · 160 阅读 · 1 评论 -
增广贤文-工作观
昔时贤文,诲汝谆谆。集韵增广,多见多闻。 // 计算机类 各门专业课 多看看,增加自己十八般武艺观今宜鉴古,无古不成今。 // 先了解 搞清楚 工作人物所属上下文,再开始任务。 先搞清楚pg、集群,再扩展RAC。知己知彼,将心比心。酒逢知己饮,诗向会人吟。相识满天下,知心能几人? // 讨论问题、求教 找对人相逢好似初相识,到老终无怨恨心。 // 见人 热情近水知鱼性,近山识鸟音。 // 靠近问题 去研究分析,程序问题分析 先复现,之后gdb挂程序、执行、分析。易涨易退山溪水,易反易原创 2020-11-27 09:55:52 · 814 阅读 · 1 评论 -
写代码/做事两种方法学
方法一:快速、囫囵吞枣式的写完,之后调试碰到很多问题,逐个修改,遇到疑难问题花很长时间调试定位。方法二:考虑清楚需求,每修改或写一行代码都分析清楚代码上下文,仔细推敲执行逻辑正确性和语法正确性,之后再做调试,遇到很少的语法错误,几乎没有逻辑功能问题,调试、测试很快完成。具体实践中,两种方法都不能走极端,提前识别项目风险、难点,找相关能力匹配的人来搞定,把握住度,提高整体开发效率。...原创 2020-11-04 10:19:00 · 175 阅读 · 2 评论 -
软件中的二八法则
有软件机构做过统计研究,多数商用软件代码在其整个软件生命周期内,写/修改代码占总时间的20%,阅读代码花费的时间占总时间的80%,因为修改代码之前必须先看懂代码并找到修改代码的位置。因此,代码可读性就比较重要,可读性好的代码会给软件团队节省很多时间。参考《Clean Code》。...原创 2020-04-24 18:20:32 · 402 阅读 · 0 评论 -
复杂软件系统功能修改/扩充方法(测试驱动开发)
通用方法:先分析系统代码,研究系统实现原理,指定修改方案,修改后做测试。缺点复杂系统很难研究清楚,很难实现。测试驱动开发方法:先就要实现的功能需求做测试,测试发现问题(系统给出报错提示)再解决问题,可以了解系统代码执行流程,类似摸着石头过河,从实践中学习掌握理论。...原创 2020-04-24 18:04:23 · 461 阅读 · 0 评论