![]() | 1 kiracyan 2024-06-07 15:55:00 +08:00 业务多年后出 BUG ,大多数是因为业务需求的变化导致的。 |
![]() | 2 kiracyan 2024-06-07 15:56:04 +08:00 复杂逻辑也要 test case ,这是测试要考虑的事情了 |
![]() | 3 oldcaptain666 2024-06-07 15:57:04 +08:00 ![]() 笑死,前端搬砖工根本没有什么复杂逻辑 |
![]() | 4 asLw0P981N0M0TCC 2024-06-07 16:10:01 +08:00 有什么减少 bug 的方式可以介绍下么。 ---测试哇 |
![]() | 5 ShrinkLynn 2024-06-07 16:21:10 +08:00 上次我们 UI 问我为啥她提了个修改我一分钟就改好了,我告诉她,我提前预判了你要改这边 .. 笑死 |
![]() | 6 treblex 2024-06-07 17:39:48 +08:00 @oldcaptain666 后端:来了哦,别急 ![]() |
![]() | 7 shawnsh 2024-06-07 21:04:02 +08:00 via Android ![]() bug 原因不是有个饼图统计结果吗,其中占大头的有需求理解不清晰,设计问题,编码问题。复杂逻辑根本在于不是十分清楚需求,设计上不能很好降低复杂度。 |
8 NNS71L068O2v70DB 2024-06-08 12:09:46 +08:00 开发之前规约看一下,每条规约后面都是一个个血淋淋的教训 |
9 JoeDH 2024-06-09 03:03:30 +08:00 我开发的那些破系统,还真没啥复杂逻辑 |
10 shapper 2024-06-09 09:52:41 +08:00 复杂逻辑分成一坨一坨的小逻辑(就是拿一坨一坨的 if-else ) |
11 namonai 2024-06-09 15:52:16 +08:00 从理论上来说,计算机系统可以抽象分层为: 1. 需求 2. 算法 3. 高级语言实现 4. 汇编码/机器码 5. 硬件实现 这中间的任何一层转化错误都会导致程序的正确性出现问题。而写业务逻辑的程序员可以把控只有需求->算法与算法->高级语言实现,有的时候是算法无法 cover 需求,有的时候是算法的实现出现了问题。但是更多的时候,抽象出需求这一步本身就有可能出现问题。所以要少写 bug ,第一步是要清楚自己需要做什么,事无巨细方方面面考虑到。 |
12 ccde8259 2024-06-09 20:34:14 +08:00 多,所以不写复杂逻辑…… 接需求的时候,最重要的一步动作就是怎么把这个实现做拆解……拆解成一堆 stupid simple 的事情去实现,然后对这些实现进行一个个组装的动作…… 如果你的实现不能做到 stupid simple ,叠加各种代码交接和新的逻辑加入,那最终一定有一天这个实现就会失控从而被重构。 |
![]() | 13 xavierchow 2024-06-09 21:36:46 +08:00 同意 12 楼,尽量不写复杂逻辑,if-else 也尽量少用,多用 composition 和 polymophism 。 编码层面可以尽量用抽象的思维隔离开通用和特殊的处理, 业务层面可以让产品经理或者架构设计师尽量把复杂逻辑捋清楚或者简化/统一化,最佳实践是拿着测试 case/code 和 产品对一对。 |
![]() | 14 changyou8 2024-06-10 09:39:37 +08:00 bug 大部分是不懂技术的产品设计的不合理需求导致的。 |