华人澳洲中文论坛

热图推荐

    代码繁杂度随便探讨

      [复制链接]

    2022-12-5 16:42:15 23498 58

    seasidehyl 发表于 2022-12-5 13:38:09

    seasidehyl 39#

    2022-12-5 13:38:09


    正文有时是需求的,不是形容做的进程,而是用来写为什么要做的理由,由于这理由不克不及在代码里表白啦
    隐雾含烟 发表于 2022-12-5 13:43:56

    隐雾含烟 40#

    2022-12-5 13:43:56



    是的啦,当初想写面条代码也不太容易,大少数代码是循环里包孕了屡次嵌套前提语句,或者前提语句包孕不同的循环,一个函数代码扩展到三屏以上,嘻嘻

    我看到繁杂的代码头就一下子疼起来了,估价心跳会减速
    飘洋过海来 发表于 2022-12-5 13:49:09

    飘洋过海来 41#

    2022-12-5 13:49:09


    我感觉co妹妹ent越少越好 看看Linux kernel 就知道了 需求解释的logic放在documentation里

    之前当dev的时分常常看到co妹妹ent和code不搭边 code改了但没有更新co妹妹ent
    葡萄mm 发表于 2022-12-5 13:54:38

    葡萄mm 42#

    2022-12-5 13:54:38

    只有不必recursive函数都还没救
    latrobe2005 发表于 2022-12-5 13:59:31

    latrobe2005 43#

    2022-12-5 13:59:31


    初级顺序员看反复杂零碎的可保护性,可读性以及最小的犯错可能, breakdown繁杂逻辑用最简略的构造组合来完成繁杂问题, 老手也能读无障碍
    高级顺序员为了证实本人牛逼喜爱写繁杂的货色,无需嵌套递归的一概发明前提上嵌套递归,简略构造能解决的一概要上繁杂构造污七八糟各种承继重载反射读起来就像看狗子扮演拉屎。
    魅の舞 发表于 2022-12-5 14:04:07

    魅の舞 44#

    2022-12-5 14:04:07

    The art of coding is using a simplest logic implements most complex scenario.
    lemon7608 发表于 2022-12-5 14:18:32

    lemon7608 45#

    2022-12-5 14:18:32

    楼主这个繁杂度很容易发生歧义,通常码农看到繁杂度,首先想到的是时间或空间繁杂度,是算法层面的。但这个帖子里要探讨的是代码的易读性以及可保护性。

    保举一切码农读一本书 - Clean Code,读完写代码的程度确定能上一个台阶
    玲珑剔透 发表于 2022-12-5 14:28:10

    玲珑剔透 46#

    2022-12-5 14:28:10

    不做refactoring 很难解决这类繁杂逻辑的问题
    huxj123 发表于 2022-12-5 14:33:47

    huxj123 47#

    2022-12-5 14:33:47

    时辰牢记,CONTAINER 方式的封装。
    淡淡的小花 发表于 2022-12-5 14:46:32

    淡淡的小花 48#

    2022-12-5 14:46:32


    不赞成啦

    看这段代码https://github.com/rust-analyzer/rowan/blob/master/src/arc.rs

    从94行到十二5行,正文写的多好啊
    悟饭迷 发表于 2022-12-5 14:59:28

    悟饭迷 49#

    2022-12-5 14:59:28


    写用recursive函数之处其实一个名目里颇有限啦,不是每段代码均可以随便用上啦
    9部川内酷 发表于 2022-12-5 15:05:55

    9部川内酷 50#

    2022-12-5 15:05:55

    缘故出在得多公司code review不标准,这类代码不该经过。就没起初的大问题。
    zhangshi85 发表于 2022-12-5 15:16:53

    zhangshi85 51#

    2022-12-5 15:16:53


    你提到算法,我是少量在代码里使用hash字典,使用太便利了,速度也是太快了,就是用点内存,反正1gb ram的单价也不贵,我拼命用,我用rust language写的顺序也只用了1.6gb ram,而相应的golang开发的顺序用了17gb ram
    心灵净土 发表于 2022-12-5 15:23:23

    心灵净土 52#

    2022-12-5 15:23:23


    呵呵 不需求赞成 这个原本就是见仁见智 有争议的话题

    我不是说彻底不写co妹妹ent 我是说尽可能少写 由于code自身假如容易读懂就没须要

    反正我写的顺序很少co妹妹ent 然而他人都说容易看懂

    还有lines of code尽可能少,我之前refactor 他人的code 完了少好多行代码 功用还减少了
    杜俊明 发表于 2022-12-5 15:36:05

    杜俊明 53#

    2022-12-5 15:36:05


    Martin Fowler的Refactoring book也不错

    https://amzn.asia/d/f3lpqVp
    jackywang 发表于 2022-12-5 15:44:47

    jackywang 54#

    2022-12-5 15:44:47


    可是老板是不care这些的 代码写的丑陋只是为了本人表情舒畅
    4545 发表于 2022-12-5 15:56:43

    4545 55#

    2022-12-5 15:56:43


    我觉察当初的编程言语例如rust language激励代码稀释到一行啦,其实functional progra妹妹ing也是激励少写代码啦,但愿我跟着本人的教训减少,能一次就将短代码写出,而不是要往返几遍思考啦
    江郞才尽 发表于 2022-12-5 16:10:38

    江郞才尽 56#

    2022-12-5 16:10:38


    不是啦,一次代码写出,配合unit testing, 假如未来不合乎商业逻辑,仍是要再读一遍代码,不合乎商业逻辑的次数增多,读该代码的次数也相应增多,所以增加本人了解的难题度啦,这就像发帖子,写只需求一次,但有许多人在读该帖子同样
    苑ソノsono 发表于 2022-12-5 16:23:15

    苑ソノsono 57#

    2022-12-5 16:23:15


    我本人写的code要改好几回 直到满意为止 有时分仍是不满意然而不知道怎么改了 觉得曾经到了本人的limit了
    rjohnny 发表于 2022-12-5 16:30:55

    rjohnny 58#

    2022-12-5 16:30:55

    好帖
    huazhonghu 发表于 2022-12-5 16:42:15

    huazhonghu 59#

    2022-12-5 16:42:15


    做名目时,往往很急的,没有你那种高兴啦

    我是写好unit test,代码后就放那了,假如和需要不合错误,再回来改啦

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    图文推荐