[讨论] 靠submit纪录来除错是一个不好的习惯吗

楼主: cytus74 (微酸桔子)   2021-12-27 19:23:13
大家好 小弟刚出社会 在纯软这个行业大约半年
最近code base在做IT的时候打出一个bug
老鸟们没空所以派我这只菜鸟去修
当我打开专案开始从模组方向找线索时
老鸟甲路过 看了一眼说
你这样debug效率有点慢 直接看submit纪录找战犯比较快
我试了一下 果然满快就找到问题点了
根据老鸟甲所说 大概7-80%的bug都可以这样抓
这里想询问各位大大
这种除错习惯是不是对新手熟悉软件架构不利
毕竟第一时间都在抓战犯 而不是去了解目前软件架构遇到的问题
作者: ssccg (23)   2021-12-27 19:33:00
熟悉架构是一回事,除错是一回事,没有一定要同一个手段吧记录不拿来抓错,记身体健康的?
作者: bill0205 (善良的小孩没人爱)   2021-12-27 19:38:00
这是两回事 埋了log但是不熟架构你还是不知道为何出现bug 但更多的是再熟架构都可能出现奇葩的bug 就是需要log去帮忙debug
作者: alan23273850   2021-12-27 19:55:00
是 submit 记录还是 commit 记录呢?
楼主: cytus74 (微酸桔子)   2021-12-27 19:56:00
submit纪录 看code diff抓bug
作者: s06i06 (三条鱼)   2021-12-27 20:01:00
我猜贵司没在code review
作者: nh60211as   2021-12-27 20:30:00
没在管控程式码commit的这样确实比较快
作者: Onnnnnnnnnnn (↙㊣煞气a万华何润东㊣↗)   2021-12-27 20:30:00
这叫夹版本啦 通常就是周五上code 赶下班 赌一波不验就直接上啊哈哈哈敝司MTK 抓战犯也这样搞啊
作者: samioplg (war3)   2021-12-27 20:56:00
我以为debug靠log
作者: alihue (wanda wanda)   2021-12-27 21:03:00
急的话当然从 commit log 与 bug 执行路径下手要熟悉架构通常开发做吧 除非 bug 不急
作者: yamakazi (大安吴彦祖)   2021-12-27 22:15:00
如果是IT就能抓到的话,有没有考虑CICD的时候把IT也做了,这样bug commit进去马上就能抓到我都这样找root cause。还有的时候会上issue tracker看看别组有没有解过类似问题,有的话直接拿来抄,一小时就搞定,然后其余五天都在打混(?debug mode能用就用,比你单看code更快熟悉架构。
作者: charliejack (charliejack)   2021-12-27 22:22:00
我有时候会用Binary search耶 有时候懒得看Code尤其专案真的太大 但能看Code当然会看照理来说 每次的Commit 应该是小区域小区域
作者: yamakazi (大安吴彦祖)   2021-12-27 22:23:00
要熟悉软件架构的话,可以顺便帮忙把class diagram, sequence diagram画一画分享到组内wiki,我会很感谢您
作者: alan23273850   2021-12-27 22:33:00
我也用过 binary search 大法...
作者: taikobo (勉强になるなぁ...)   2021-12-27 22:38:00
看到 submit 纪录还以为是什么 form...结果是 commit
作者: superpandal   2021-12-27 22:51:00
那只是因为他架构比你熟很多才会这样 而且通常有抓战犯习惯的公司程式码几乎都是屎山 你改他也改 不就看谁哪天被坑到...职场一些小手法很容易看清楚 不过就算老鸟错他还是活的很滋润 然后拿crud boy的钱要帮忙处理大事情 做的好也没奖励...
作者: peter98 (新兵)   2021-12-27 23:08:00
我也想了一下submit是什么 原来只的是交code...
作者: viper9709 (阿达)   2021-12-27 23:22:00
推楼楼上
作者: kurtsgm   2021-12-27 23:49:00
git叫做commit 但有些version control叫做submit啦....不用挑语病 原po也不见得讲错前公司用perforce印象中就是submit
作者: bill0205 (善良的小孩没人爱)   2021-12-28 00:11:00
..原来是commit喔...还以为是form submit
作者: vi000246 (Vi)   2021-12-28 00:33:00
很少这样查bug 除非是毫无头绪的 才会看是不是最近改的通常都是从各种log查吧
作者: Gaogaigar   2021-12-28 01:06:00
作者: JasonChou007 (酷杰哥)   2021-12-28 01:38:00
另外提供一个想法,有时候程式较大,主程式跳至子函数,子函数再跳至孙函数,来来去去的,有可能会在某一个函数里面不小心计算错误,而造成执行次数出错。这种情况可在子函数跟孙函数里面,各加一个执行次数计数器,跑完一遍后可以直接查看计数器的值,就能知道子函数、孙函数各执行了几次
作者: acgotaku (otaku)   2021-12-28 01:57:00
其实commit 加上票号版本,看功能就能快速对应哪一版bug搭配changelog管理生成工具还在对commit, 只能说版控做得还不够好
作者: darkMood (瞬间投射)   2021-12-28 02:28:00
老鸟很清楚,bug都是同事生产的,公司一堆废物啊
作者: ericthree (如果 她这样动人)   2021-12-28 08:44:00
不然你debug要花多少时间
作者: hidog (.....)   2021-12-28 09:00:00
了解架构 <= 这个要看你急不急都火烧屁股了还在了解架构,会被钉得满头包眼前的火灭了有空在自己去研究架构
作者: superpandal   2021-12-28 09:14:00
哪有时间可以给你搞好commit... 一个人又不是另一个人肚子里的蛔虫... 简单化才是正确的 简单并不意味着无法实现复杂功能通常老鸟当时是bug开始的一员 不管有没有机会管事 最
作者: Lhmstu (lhmstu)   2021-12-28 09:19:00
熟架构跟debug本身就不冲突
作者: superpandal   2021-12-28 09:19:00
后有机会了也是不可能改变了 后面的人会很痛苦要解决的好要了解架构 没时间当然只能端出一个十分马乎的成果 出张嘴检讨是很简单的最后就是继续堆屎山 反正被检讨的是别人 每个人都想过的好
作者: Csir (张胖胖)   2021-12-28 09:26:00
原来大家都用二元搜寻夹版本
作者: dave123 (宅男就是传奇)   2021-12-28 09:59:00
用commit抓bug跟理解架构不冲突。说先用commit点除错的无法理解架构,应该是个人就不想去理解。你发现commit的change造成错误,仍然会去了解他上下几层的关系以及逻辑。这两个方式是相辅相成。
作者: abc0922001 (中士abc)   2021-12-28 10:10:00
form submit +1
作者: ScottOAO (cos)   2021-12-28 10:20:00
git bisect
作者: CRPKT (crpkt)   2021-12-28 10:29:00
一个 commit 引发 bug 不代表错的是那支 commit 呀 XD
作者: bnd0327 (阿噗噗)   2021-12-28 12:06:00
作者: eva19452002 (^^)   2021-12-28 12:58:00
我以为debug都是用step in step out
作者: SouthRa (南宫雨)   2021-12-28 13:45:00
可以光靠看diff而不用熟悉架构就能抓出来的bug不就低能错误吗,review时就该看出来的那种但就算是不低能的bug,熟悉系统架构的情况下还是配diff一起看最有效率
作者: bnd0327 (阿噗噗)   2021-12-28 13:59:00
楼上一个鬼转耶,那干嘛要嘘人
作者: knives   2021-12-28 14:14:00
这老鸟甲没救了原来不是 form submit,推回来
作者: andy831020 (Liszt1020)   2021-12-28 15:54:00
你讲的两个domain不同吧 debug跟架构了解是两回事
作者: SouthRa (南宫雨)   2021-12-28 17:18:00
就纯嘘低能错误,推回来
作者: lazarus1121 (...)   2021-12-28 23:16:00
db捞出来才造成错误的这种方法就没效了
作者: open2014 (open2014)   2021-12-29 00:58:00
用二元搜寻夹版本是什么意思?
作者: s06yji3 (阿南)   2021-12-29 01:02:00
看哪个版本是第一个有bug,看改了什么鬼
作者: kattte (诚实面对自己吧!)   2021-12-29 14:13:00
长知识
作者: kewang (652公共汽车)   2021-12-29 18:55:00
改了一点点东西记得commit 然后用git bisect找问题就很快
作者: luluking (luluking)   2021-12-29 21:04:00
看是哪种bug啊,新改出来的这样找比较有效率
作者: crazylunar (橘色光束)   2021-12-30 02:48:00
debug用log找吧,找到问题再git history 抓战犯不是吗…commit message 能找bug 第一次听到…更正,是git blame
作者: physicsdk (我是小洛)   2020-01-01 00:58:00
工作要的是效率,事情丢给你要在时间内有结果,解掉是结果,抓到战犯也是,后者简单啊,不难理解
作者: zased (我只是上PTT查资料)   2020-01-01 04:13:00
这有什么好吵 两项技能都点满就好了啊 说实在不要去纠结这些 赶快变强比较实在
作者: mithuang (阿明)   2020-01-02 08:44:00
没版控就算了,有版控可找BUG了,谁还在管你习惯好不好咧~能找到问题就是好方法啦,不然写git bisect功能的人不就是软件界的败类,教坏大家依赖版控了?

Links booklink

Contact Us: admin [ a t ] ucptt.com