求助!怎么才能保证代码正确性

2024-04-09 15:37:55 +08:00
 xianxia

本人刚毕业,进入了一家二线小公司,最近写公司代码时遇到了一个问题:在编写逻辑链条比较长、较为复杂的代码时,往往难以考虑周全,因此很难保证代码的正确性。

公司规模比较小,尽管 review 做的比较好,但以自测为主,大多时候仅跑通功能,并没有测试所有情况,较难发现问题,发现时大多已经上线。

所以想问下各位大佬,有什么工具或者编码思路可以辅助编程,从而减少代码 bug 率呢。

1730 次点击
所在节点    问与答
15 条回复
chiaf
2024-04-09 15:41:28 +08:00
unit test
tairan2006
2024-04-09 15:51:58 +08:00
测试驱动开发
iOCZS
2024-04-09 16:05:54 +08:00
没有办法,任何测试都是为了增加开发的信心
jeodeng
2024-04-09 16:11:15 +08:00
没办法,所以招聘的时候会有工作经验的要求。

可以学习自己写测试用例,一条一条列出来,再思考有什么漏洞,虽然繁琐,但确实有一定帮助。
Sawyerhou
2024-04-09 16:16:36 +08:00
直接检查输出,采用三种以上的检验方式,不要增加检查的遍数,增加检验方式数量
aminobody
2024-04-09 16:25:54 +08:00
fuzzy
janwarlen
2024-04-09 16:28:21 +08:00
写单元测试
yifangtongxing28
2024-04-09 16:31:46 +08:00
完全凭个人能力,任何制度我觉得都有漏洞
wenhuibrave
2024-04-09 16:51:54 +08:00
画流程图,对照着流程图,确保不要遗漏一个分支
ZhuWenJian
2024-04-09 17:00:35 +08:00
写文档,状态归类,画图:流程图、时序图。
写测试用例,或让测试提供基础测试用例。

这玩意基本没法避免,只能靠工作经验踩坑积累。
pengpeng1
2024-04-09 17:00:47 +08:00
考虑周全:erd+erd 评审
bug 率降低:测试左移,提测之前进行自测,单元测试,自动化测试
liquid207
2024-04-09 17:03:30 +08:00
1. 写测试,提高代码覆盖率
2. 引入静态分析工具,能帮忙检查出空指针之类的错误
Weilence
2024-04-09 17:12:34 +08:00
大函数可以拆成小函数写单元测试。
纯逻辑处理的函数都比较好些。对于有数据库依赖的这种,要么把查询数据和业务逻辑分开,要么直接 mock orm 或者 mock db 。个人倾向是查询和逻辑分开。
wpzz
2024-04-09 17:15:44 +08:00
最高效率的就是 AIGC ,在你感觉有问题,但不知道哪里有问题的时候

丢给 chatgpt ,问它有没有可能出现的 bug
audiozen3001
2024-04-10 11:37:31 +08:00
目前为止写单元测试对很多开发来说都是一个挑战,先不说工作量
很多代码是不具备可测试性的,不知道各位怎么理解单元测试的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1031007

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX