[讨论] hard code 速度会快吗?

楼主: talkmyself (音容苑在)   2024-05-28 17:13:44
如题 hard code的速度会比较快吗?
根据我经验 hard code可以在极短时间内处理一些专案上的问题
但是专案上有高度相似的东西 借由hard code去写并不会比较快
反倒是多花一点时间重构 重构完毕之后 再来只要套function 修改参数
这速度会比hard code快很多
hard code完毕有十个地方要改 才发现改9个地方 发现bug 又要花时间处理
反倒是重构后的code 就算10个地方要改 可以缩减到5个地方
然后借由5个地方又在同一只function 带入参数之后 会比较快
然而bug也不容易产生
因为hard code去处理 只是极短时间内比较快写完的错觉
后续要加一两个功能就会越来越慢 除非是极迷你的专案
就算是小专案 hard code也不会比较快
至于会留下大量技术债的问题 不是为了赶时间而hard code
而是因为脑筋不好而hard code
因为脑筋不好 所以很多可以模组化的东西都hard code去解决
发现到越改越复杂 到最后连自己都无法维运
脑筋不好的缘故 改一个bug会产生3个bug
所以会有技术债问题是脑筋不好造成的 不是赶工造成的
我的想法
作者: Hnash (H-奈许)   2024-05-28 17:29:00
这其实很吃当下情况跟判断 我自己是能接受hard code来hot fix线上问题 事后在重构的
作者: cutearia (らちけん)   2024-05-28 17:31:00
救火时间有限囉
作者: Hnash (H-奈许)   2024-05-28 17:31:00
试想半夜两点接到电话要紧急维修 你会去想程式架构还是赶快改好起床再调整 我相信大部分的人都会选后者
作者: B0988698088 (废文少女小円♥)   2024-05-28 17:37:00
所以你要讨论什么?纯抒发请到FB
作者: tzouandy2818 (Naked Bear)   2024-05-28 17:41:00
自问自答也一篇
作者: ko27tye (好滋好滋)   2024-05-28 17:45:00
本来就是救急用的做法啊 是要讨论什么
作者: b0920075 (Void)   2024-05-28 18:24:00
还以为是在问程式执行速度,原来是开发时间
作者: sos20122 (kev)   2024-05-28 18:36:00
如果胡乱模组化不如hardcode
作者: wulouise (在线上!=在电脑前)   2024-05-28 18:41:00
客户坐在你后面现在究竟就要,慢慢refactor没关系
作者: MonkeyCL (猴总召)   2024-05-28 18:57:00
重构留给学弟做啊
作者: Csongs (西歌)   2024-05-28 19:33:00
你有比ai写的快吗
作者: NDark (溺于黑暗)   2024-05-28 19:38:00
如果你的产品就是几个月才动一次 一定大改 那不值得做系统
作者: k7ji91ab5m (囧嘻嘻)   2024-05-28 20:47:00
...
作者: chuegou (chuegou)   2024-05-28 21:01:00
就我状况 维运别人的都尽量不重构自己的就重构到爆 过度设计也在所不惜
作者: seal0112   2024-05-28 21:07:00
修线上产品问题用的啊 隔天上班有时间再重构
作者: pot1234 (锅子)   2024-05-28 21:39:00
我觉得hard code快一点。需要横跨的档案比较少的话可以快一点。解bug我就不知道要说啥了,困难到会有bug的话就别乱写啊…
作者: BoXeX (心爱骑士团异端审判骑士)   2024-05-28 23:39:00
一切就是看状况 像我以前公司很爱在C用function pointer模拟物件导向 结果维护麻烦的要死debug 工具都没办法直接用还不如分类简单的if套娃当然也不是说就不要抽象 但一些简单的东西就保持简单白痴都能读懂的code 就继续让白痴也能读懂
作者: NTUTM04 (TM终号机)   2024-05-29 00:12:00
其实就急不急跟好不好修两个metric衡量一下
作者: viper9709 (阿达)   2024-05-29 00:13:00
推一楼
作者: hakama99 (杂酱面)   2024-05-29 00:20:00
我收到一个需求是某个按钮在下个月其中三天要关闭,真的要做api去开关这个按钮也没必要
作者: abccbaandy (敏)   2024-05-29 00:38:00
设计到IDE都帮不了那种真的烦,后人根本不知道怎么追
作者: DDR678 (678)   2024-05-29 07:53:00
bug不会因为你抽成一个function就不见hardcode也不会因为抽成function就不是hardcode, 你只是把hardcode写在一个function里面罢了
作者: lazarus1121 (...)   2024-05-29 09:04:00
那是因为你已经确定需求了开发阶段谁知道AB功能看起来这么像PM却跑来说A要加啥米啥米但B不用
作者: brucetu (sec)   2024-05-29 09:08:00
你说的对,下班之前解决这个问题随便你想怎么 code
作者: yamagishi (山岸刑务官)   2024-05-29 11:00:00
つcopilot
作者: Suleika (Suleika)   2024-05-29 12:04:00
你都因为哈扣了还在意哈扣怎写,有同步给团队就好*因为速度
作者: dapple (dapple)   2024-05-29 13:10:00
客户站你后面 他非常火(哈扣/重构)
作者: jyunwei (jyunwei)   2024-05-29 13:41:00
现在流行thread,你可以开一个发这样的东西
作者: shooter555 (shooter)   2024-05-29 13:52:00
我知道你想讲的是workaround 而不是hardcode 对吧C不用function pointer 不要跟我讲你会写C
作者: wade2432 (wade2432)   2024-05-29 16:48:00
火烧屁股还在慢慢写的脑筋才不好吧,等等客户翻脸案子吹了看你的模组化能不能赚到钱
作者: superpandal   2024-05-29 18:10:00
这种事情的逻辑与整理房间一样的 做法也与整理防间房间雷同 虽然我也不太会整理房间 但我还算会整理code整都是持续在整理的 到后面变成垃圾堆的时候要整理就累趴 也很难从垃圾堆找出你要的东西 越早整后面就不用怎么大扫除也就是重构 一开始就整理的成本也非常低 再找个收纳盒好的柜子也就是好的模组化方式就非常好至于楼主说的状况 那不是随便用个机制就搞定了吗
作者: CoNsTaR ((const *))   2024-05-29 19:55:00
可读性和架构是给大专案用的,几百几千人的专案每个人都不会有 full picture,所以有一个架构师在做决策才重要几十人的小专案做扩充性什么的以开发效率来讲绝对不高,等需求稳定后再来重构绝对比每天慢慢磨扩充性花的总时间少很多,但是如果你每天都工作早早做完闲闲没事,做这些就是用目前免费的高时间成本(大量闲闲没事的时间)做以后的事(原本需求稳定后才要做的重构)与其写高扩充性的 code,还不如写方便重构的 code,例如那种可以整段剪下贴上,没有一堆生命周期、scope 等等考量的 code因为你做再多设想,也不可能知道还没出现的需求是什么,你做的扩充性永远都只是 hit or miss 而且还需要花大量时间成本在设计,但写容易重构的 code 需要的成本只是随手留意不要太高耦合、保持自己看得出来段落在哪的 copy-pasteable 的 snippet 而已
作者: new122851 (未若柳絮因风起)   2024-05-29 20:07:00
跟客户说明重构的重要性,使其接受
作者: jhjhs33504 ( )   2024-05-29 23:22:00
这问题很开放 只能说不同产业别 叠代开发的风气差很多
作者: superpandal   2024-05-30 01:20:00
不需要扩充性非常强阿 不然整理的意义何在? 有一定扩充性程式码又干净简洁很重要 超出扩充性范围边写边改就好 也不需要多少时间 而不是东西狂堆爆炸了再给其它人处理无脑堆与重构的通常都不会是同一个人
作者: RumiManiac (Rumi!)   2024-05-30 05:05:00
"hard code" 是小问题啊,通常都很容易重构我感觉你想讲的应该是应急的 dirty code我是建议真的有需要的话就写,然后马上重构
作者: wang19980531 (猪精男)   2024-05-31 14:08:00
Hardcode本身就是一种workaround
作者: prag222 (prag)   2024-05-31 17:58:00
现在都用AI写code了还在clean code分大小写才是笑话实际上的hard code看起来就是个笑话,想偷工早点会去睡觉*回去实际重构的作法都是拿自己的时间时程塞进去一并做掉,其一老板不答应,主管不一定同意,有限度重构让自己后续方便才是重点
作者: superpandal   2024-06-01 13:15:00
clean code?
作者: mmonkeyboyy (great)   2024-06-02 01:42:00
看module吧.... 自己的屎自己扛 除非你想写完离职
作者: luke72 (ccc)   2024-06-07 19:00:00
不想hardcode所以规划了一堆modules,做完发现不可行整个架构都必须大改,你前面的modules都变垃圾直接扣脑筋不好的帽子好厉害喔,菜鸟
作者: layer0930 (皇室御渍梨子酱)   2024-06-09 02:25:00
其实跟经验有关…,入行发现有写人做了10年程度一样有些人写3-5年就超越了
作者: luluking (luluking)   2024-06-09 20:21:00
与其讨论怎么做比较好,不如先想想你写的code到底有何价值,如果只是可有可无的功能怎么写都无所谓
作者: tvbic   2024-06-09 22:06:00
hardcore是个好东西呀,不但可以短时间内把工作完成,而且还可以留下地雷,给你的竞争对手,一举两得

Links booklink

Contact Us: admin [ a t ] ucptt.com