作者Lordaeron (Terry)
看板Soft_Job
标题Re: [讨论] hard code 速度会快吗?
时间Wed Jun 5 13:36:17 2024
※ 引述《HZYSoft (PCMan)》之铭言:
: 如果有在好好追踪技术债,定期偿还,视情况举债,有时是一件好事情。
: 重点 hard code 的当下要留下注解,说明前因後果,并且开 bug 追踪,
: 这样日後不会忘记,要 refactor 也比较好搜寻到这些位置
: 补充:
: 注解的使用不是我想回的重点,重点是平衡短期和长期效益
: 按照当下的状况,调整开发的步调。
: 建议注解单纯是加个 TODO: 的注记日後才不会忘了 cleanup
: 或是有些紧急的修改有当下的时空背景,怕一忙没法马上清
: 日後有空要 refactor 的时候,回想不起来当时状况。
: 注解不是描述 code 做了什麽,而是描述为什麽会有这 hack
: 至於 code 做了什麽,自然是 code 写好读 code 就懂了
都说是做专案了,又不是做产品。
做专案当然是做完收钱,Meet Dealine,所以重点是,
照案主的需求,改成他要的,照资安需求,修掉有问题的地方。好好上线。
一案结束,就下一案来了,你还有空refactor? 谁billing你?
我是真的不明白ptt 上一堆天天refactor 挂嘴边的。
用数字说话吧,台湾是出了几个产品? 几个open source project ?
大家不就接案或做公司内部PROJECT。
你一个人爽refactor 让其他人陪你一起更版,就真的是一个老板的现象罗。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.12.25.139 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1717565779.A.2F9.html
1F:推 MoonCode: 好奇接案生态 06/05 13:42
2F:推 CRPKT: 但你不是有写过象棋 app 吗,你的 app 总会重构一下吧 06/05 14:07
3F:→ holebro: 内部project真的东西有在跑就好 06/05 15:10
4F:→ Lordaeron: 我的app 基本是一次到位,不管加减功能。 06/05 15:26
5F:→ prag222: 一堆人嘴重构,现实老板会答应吗? 06/05 16:41
6F:推 prag222: 更何况你不用物件导向跟设计模式的方式去重构,结果一样渣 06/05 16:43
7F:推 peteryu168: 如果是一人专案,想怎麽改,只要老板不被 call ,当然 06/05 16:44
8F:→ peteryu168: 不会有问题,但你想改的绝不是一个人的专案,这时候就 06/05 16:44
9F:→ peteryu168: 不是你一人的事了。 06/05 16:44
10F:→ prag222: 实际上有的功能也不可能完全重写,个人经验有的是改写 06/05 16:44
11F:→ prag222: 包成物件化,後续好使用好维护罢了 06/05 16:45
12F:→ testPtt: 一开始不做以後大概也不想做 反正要烂一起烂 06/05 19:01
13F:嘘 ashlikewing: 呃 06/05 19:20
14F:→ labbat: 我认识这样的人,他说自律重於他律因此不屑加入版控 06/05 19:36
15F:→ peter98: 你的薪水低於100万~ 这篇没有说服力 06/05 20:42
16F:推 wulouise: 台湾也是有做产品的公司,我觉得风格的确差很多 06/05 23:27
17F:推 kurtsgm: 稍微有点好奇labbat说的不加入版控是啥情况 XD 06/05 23:57
18F:→ DrTech: 中肯。做过产品的人还真相对少。台湾大部分的工作,哪来那 06/06 08:16
19F:→ DrTech: 麽多refactor 06/06 08:16
20F:推 gmoz: 也不一定 如果是有持续扩充维护案 有资源还是能重构的 06/06 13:11
21F:→ gmoz: 但比较多时候是出现问题再来重构改善XD 06/06 13:11
22F:推 iamOsaka: 推推 06/07 10:32
23F:推 tvbic: 这才是台湾软体业的现实面,花时间重构程式大多数都是在浪 06/09 22:09
24F:→ tvbic: 费时间而已,自己看着自己爽,其实都在白费功夫 06/09 22:09
25F:推 CRPKT: 一次到位就很了不起了,这样也不需要敏捷方法了 06/11 10:15
26F:→ Lordaeron: 我9支棋类APP,跨C++,java,Obj-C,Swift。都不去重肥的 06/11 16:39
27F:→ Lordaeron: 反正AI的强度及CPU usage在同类APP找不到对手。 06/11 16:40
28F:→ Lordaeron: 我另外的opensource project, FPC开发的container 06/11 16:41
29F:→ Lordaeron: , 就看一下各任重肥大神去肥一下吧。 06/11 16:42
30F:推 CRPKT: 好奇可以透露一下棋类 AI 诀窍吗 06/12 09:33
31F:→ Lordaeron: negascout+pattern evaluation, 没了。 06/12 09:59
32F:→ Lordaeron: 人类下棋也是这两个方式而已。 06/12 10:00
33F:推 CRPKT: 那你有机会可以分享一下面对需求扩充与变更如何一次到位吗 06/12 10:05
34F:→ CRPKT: 我觉得比起吵要不要重构,这种技能更能带给大家利益 06/12 10:06
35F:→ Lordaeron: 你会下棋,不就应该明白,棋要下得好,要如何看的吗? 06/12 11:54
36F:→ Lordaeron: 概念是一样的,在架系统架构时,多留点接口,但不要 06/12 11:55
37F:→ Lordaeron: 想一个接口做到底,也不要想什麽动态参数的。 06/12 11:56
38F:→ Lordaeron: 一个功能call 三层都还做不出来,就有问题了。 06/12 11:57
39F:→ Lordaeron: 跟其它datasource 要三轮都要不到全部,就有鬼了。 06/12 11:58
40F:→ Lordaeron: 看需求,最好能通盘看,跟下棋一样只看一角会死很惨 06/12 11:59
41F:→ Lordaeron: 架构师对业务有了解,是很有帮助的。 06/12 12:00
42F:推 CRPKT: 我觉得你讲到一些很多人都忽略的重点 06/12 12:32
43F:→ CRPKT: 1.布局优秀创造的效益远超过事後补救 06/12 12:33
44F:→ CRPKT: 2.了解脉络对规划架构与实作路线非常重要 06/12 12:34
45F:→ CRPKT: 比较可惜的是并非所有环境都能让这种布局的效益发挥到极致 06/12 12:36
46F:→ CRPKT: 同时也不是所有人都有办法或有意愿养成这种视野 06/12 12:38
47F:→ Lordaeron: 下棋你也无法做到全局最优啊。没这种情况吧。 06/12 12:38
48F:→ Lordaeron: 下棋也就是看一个大概的pattern的结果而已。 06/12 12:39
49F:推 CRPKT: 是,所以我也不会全盘否定所有的重构 06/12 15:34
50F:→ CRPKT: 毕竟再好的规划也难免会有小更改,偶尔小型重构很合理 06/12 15:35
51F:→ CRPKT: 退一万步,有些产品体质差到先还债就已是新功能的最速解了 06/12 15:37
52F:→ CRPKT: 那这时候讨论要不要重构也没意义了 06/12 15:37
53F:→ Lordaeron: 重构,讲的是产品,不是专案!! 06/12 15:47
54F:→ Lordaeron: 重构,要钱的。延申出要多久?要多「好」?谁付你钱? 06/12 15:52
55F:→ Lordaeron: 说白了,提出重构的两位老兄,看不到有开发什麽大不 06/12 15:58
56F:→ Lordaeron: 了的系统。但宗教式的给出了refactor, agile, 06/12 16:01
57F:→ Lordaeron: extreme programming, DSL 等。让大家宗教式跟着走。 06/12 16:03