作者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/m.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