作者oopFoo (3d)
看板Soft_Job
标题Re: [讨论] 写程式的追求?
时间Wed May 21 10:12:51 2025
※ 引述《aass5576843 (信长)》之铭言:
: 写程式不知不觉也一年半了
: 看着公司庞大的老旧程式
: 前人写的实在杂乱
: 造成了维护上有一定难度
: 最近有心想要尝试从简单的地方开始试着重构
: 让後人可以更好的阅读程式
: 但想想,整理这个不知道有没有意义
: 以目前能力重构效能会不会变得更好都是未知数
: 而且还要花大量时间进行测试
: 最终效果可能就是变得 模组化 、好维护、易读
: 不知道各位前辈 对於程式要求是什麽
: 维护能动就好?
: 偏好clean code的原则?
: 不管环境、工具、写法如何 只要能快速端出需求就行?
Fred Brooks(1975)
"Show me your flowcharts and conceal your tables, and I shall continue to be
mystified. Show me your tables, and I won't usually need your flowcharts;
they'll be obvious."
Linus Torvalds
"Bad programmers worry about the code. Good programmers worry about data
structures and their relationships."
然後Peter Naur最经典的"Programming as Theory Building"
https://gist.github.com/onlurking/fc5c81d18cfce9ff81bc968a7f342fb1
这篇真的是宝藏,你看懂了,你可以少花很多时间在重构上。
我太晚才了解这道理了,clean code不是不好,但那不是很重要。
最重要的是你需要了解"Theory",你才能快速修改程式。但我们误以为clean code可以让我们快速修改程式。
有"Theory"的程式就会有clean code。有clean code但没有"theory"还是一团混乱。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.45.185.119 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1747793576.A.5F6.html
※ 编辑: oopFoo (114.45.185.119 台湾), 05/21/2025 10:16:37
1F:→ MoonCode: 蛤 05/21 10:24
2F:推 zyxx: 有空来读一下 05/21 10:24
3F:推 lee457088: 未看先感谢推荐,晚点丢 GPT 看中文摘要 05/21 10:55
4F:→ strlen: 我怎麽觉得这跟clean code说的是同一件事 05/21 11:27
5F:嘘 B0988698088: 所以理论是啥 连gpt都能brief的比这篇更好 05/21 11:31
6F:→ hobnob: 团队不理解才是主因吧?最早原PO的问题是不知道自己处在 05/21 12:54
7F:→ hobnob: 什麽环境,自以为的想导入正确的架构,说实话根本不是写程 05/21 12:54
8F:→ hobnob: 式的问题 05/21 12:54
9F:推 neo5277: 就是要知道knowhow Y 05/21 13:27
10F:→ oopFoo: Peter Naur's 理论是code+doc是无法解释intent和design。 05/21 13:47
11F:→ oopFoo: 元po不了解原来的程式,所以他认为庞大,老旧,杂乱。但他 05/21 13:48
12F:→ oopFoo: 认为他整理的就会容易理解。答案是并不会,因为後续接的人 05/21 13:49
13F:→ oopFoo: 也不懂元po的intent和design。如果我们不了解这个问题,不 05/21 13:50
14F:→ oopFoo: 管我们自认为如何clean code,後面接的人如果不了解theory 05/21 13:51
15F:→ oopFoo: 还是会认为我们写的code+doc是杂乱,难以维护。 05/21 13:53
16F:推 hobnob: 我懂你意思了,thx 05/21 14:43
17F:→ labbat: 邪魔外道 05/21 14:47
18F:推 lchcoding: 推-domain knowhow 05/21 15:12
19F:→ lchcoding: 另外,论文我还是习惯 05/21 15:12
20F:→ lchcoding: 有方程式的 05/21 15:12
21F:→ lchcoding: 软工这边好辛苦 05/21 15:12
22F:→ superpandal: 这篇确实有点乱 引用前两个论点差不多 最後的比较泛 05/21 21:07
23F:→ superpandal: 化 个人认为运作机制才是最重要的 怎麽运作决定它数 05/21 21:09
24F:→ superpandal: 据结构应该是什麽 由运作反推结构修正结构更好 05/21 21:11
25F:→ superpandal: 人更适合看一个面而不是一个点 光有波动与粒子二象性 05/21 21:13
26F:→ superpandal: 考虑的是面微小细节无法顾及 考虑的是点各点统合gg 05/21 21:23
27F:→ superpandal: 个人认为由面入手更好 05/21 21:24
28F:推 antiquerefer: 推 谢谢推荐文章 觉得有道理 05/21 21:30
29F:→ superpandal: 独立思考果然好重要 05/21 21:35
30F:→ oopFoo: 元po有个错误观念。认为从code下手,就可以,模组化,好 05/22 08:57
31F:→ oopFoo: 维修,易读。但"There is no silver bullet",Fred Brooks 05/22 09:00
32F:→ oopFoo: 告诫我们多少年了,可惜我们还是都要犯同样的错误。 05/22 09:01