xianxia
V2EX  ›  问与答

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

  •  
  •   xianxia · Apr 9, 2024 · 2743 views
    This topic created in 941 days ago, the information mentioned may be changed or developed.

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

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

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

    15 replies  •  2024-04-10 11:37:31 +08:00
    usVexMownCzar
    usVexMownCzar
    Apr 9, 2024
    1
    unit test
    keenkiller
    keenkiller
    Apr 9, 2024
    2
    测试驱动开发
    iOCZS
    iOCZS
    Apr 9, 2024
    3
    没有办法,任何测试都是为了增加开发的信心
    jeodeng
    jeodeng
    Apr 9, 2024❤️1
    4
    没办法,所以招聘的时候会有工作经验的要求。

    可以学习自己写测试用例,一条一条列出来,再思考有什么漏洞,虽然繁琐,但确实有一定帮助。
    Sawyerhou
    Sawyerhou
    Apr 9, 2024 via Android❤️1
    5
    直接检查输出,采用三种以上的检验方式,不要增加检查的遍数,增加检验方式数量
    aminobody
    aminobody
    Apr 9, 2024
    6
    fuzzy
    vvvVictoria
    vvvVictoria
    Apr 9, 2024
    7
    写单元测试
    yifangtongxing28
    yifangtongxing28
    Apr 9, 2024
    8
    完全凭个人能力,任何制度我觉得都有漏洞
    wenhuibrave
    wenhuibrave
    Apr 9, 2024❤️1
    9
    画流程图,对照着流程图,确保不要遗漏一个分支
    ZhuWenJian
    ZhuWenJian
    Apr 9, 2024❤️1
    10
    写文档,状态归类,画图:流程图、时序图。
    写测试用例,或让测试提供基础测试用例。

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

    丢给 chatgpt ,问它有没有可能出现的 bug
    audiozen3001
    audiozen3001
    Apr 10, 2024
    15
    目前为止写单元测试对很多开发来说都是一个挑战,先不说工作量
    很多代码是不具备可测试性的,不知道各位怎么理解单元测试的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2107 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 03:35 · PVG 11:35 · LAX 19:35 · JFK 22:35
    ♥ Do have faith in what you're doing.