【容易懂 Easy Know】
寫程式就像蓋一個玩具車子。首先,最重要的是「讓它能動」(Make it work)。就算是用膠帶黏的、歪歪扭扭的,只要它能跑就好。這就像寫出一個雖然功能簡單,但真的能用的程式。接下來,等它會動了,再把它「做好」(Make it right)。意思是讓它更穩固、更漂亮,把膠帶換成螺絲,塗上顏色。這就像把程式的架構寫好,讓它更容易修改和維護。最後,如果真的需要,才去「讓它變快」(Make it fast)。裝上更好的輪子,或加個小馬達,讓車子跑得飛快。這就像優化程式的效能。影片說,最重要的就是這個順序。如果你一開始就想做出又快又漂亮的車子,可能永遠都做不出來。先把基礎做好,才能一步一步改進。很多程式其實只要能動、能用就夠了,不一定要做到最快。
---
【總結 Overall Summary】
這段影片深入探討了軟體開發中一個重要的原則:「讓它能動,讓它做對,然後讓它變快」(Make it work, make it right, and make it fast)。影片強調,這個原則的核心價值在於其步驟的**先後順序**:必須先讓軟體能夠基本運作(Make it work),在此基礎上才能談論如何將它做得更完善(Make it right),最後才考慮如何提升其執行效率(Make it fast)。影片引用一位大學生因不斷修改和優化項目導致無法完成的案例,說明許多人在開發過程中容易陷入無止盡的重構與追求完美,反而讓專案無法抵達終點。作者認為,一個沒有實際完成、沒有上線或被使用的軟體,無論其架構多麼精良、程式碼多麼優美,都是沒有實質意義的空談,也無法在實戰中真正體現技術的價值。強調「讓它能動」是軟體開發的首要任務,因為這提供了後續改進的基礎和參考原點。至於為何不能一開始就「做得對」?影片解釋說,「對」並非絕對的常量,而是會隨時間和情境變化。這取決於個人的知識增長、產業趨勢的演變(例如技術框架的迭代),以及軟體開發本身不存在絕對的對錯,只有相對的優劣(better/worst)。過度追求一步到位或完美方案,反而會拖慢整體進度,因為很多時候「足夠好」就已足夠應付當前需求。而「讓它變快」這個階段,影片認為大多數軟體專案甚至不會走到這一步。因為許多應用場景對性能的感知並不極端,且外部因素(如網路服務、部署策略)對用戶體驗的影響往往大於程式碼層面的微小優化。更常見的情況是,性能優化任務會被不斷湧現的其他更高優先級的工作(如修復錯誤、開發新功能)所取代。作者總結指出,整個原則的最大價值在於揭示了軟體開發是一個**階段性**和**動態性**的過程。試圖一開始就做到最好往往導致停滯不前。先將專案推進到「能動」的狀態,是讓開發持續前進、讓技術真正落地應用的關鍵。
---
【觀點 Viewpoints】
影片的主要觀點包括:
1. Make it work, make it right, and make it fast 原則的重點在於其**先後順序**,必須先完成能動的版本。
2. 一個沒有完成或沒有實際被使用的軟體專案,無論其設計多好,都等同於沒有生命,沒有實質價值。
3. 履歷上列出未完成的炫酷專案,其價值遠不如一個真正能運作並被使用的專案,因為實戰經驗無法替代。
4. 軟體開發中的「對」(right)並非絕對標準,而是會隨個人認知、產業發展和相對優劣而變化,是個動態概念。
5. 不應過度追求一步到位的完美,因為現實中「足夠好」往往就已足夠推動專案前進,過度糾結會拖慢整體進度。
6. 「讓它變快」(make it fast)通常是軟體開發的最後一步,許多專案甚至不需或無法達到此階段,且外部因素常比程式碼優化更影響性能。
7. 深入的底層技術優化(如資料結構、演算法)只有在軟體能動且架構穩固後才有實際意義和發揮空間。
---
【摘要 Abstract】
📌 Make it work, make it right, make it fast,重點在於先後順序:先完成,再做對,最後做快。
⚠️ 不斷優化未完成的專案,只會讓你離終點越來越遠。
✅ 一個沒有實際運作或使用的軟體,其任何技術細節都無意義。
📌 軟體的生命始於上線被使用的那一刻。
✅ 先讓軟體能動(Make it work),是所有後續改進的基礎與原點。
⚠️ 「正確的做法」並非固定不變,它會隨知識、產業和情境而變化。
✅ 在許多情況下,「足夠好」比追求完美更有效率。
⚠️ 大多數軟體專案不會走到「讓它變快」(Make it fast)階段,且性能優化常受外部因素影響。
📌 軟體開發是一個具有階段性、動態性的過程。
---
【FAQ 測驗】
第一題: 根據影片內容,「Make it work, make it right, and make it fast」這個原則最想強調的是什麼?
A. 軟體開發應同時追求功能、正確性和速度。
B. 軟體開發的理想狀態是又正確又快速。
C. 完成功能的先後順序比單純追求技術水平重要。
D. 只要功能完整,其他細節都不重要。
正確答案:C。影片核心論點在於工作、做對、變快這三個步驟的先後順序,強調必須先讓軟體能動。
第二題: 影片中提到,為什麼不建議一開始就直接「Make it right」(做得對)?
A. 因為「對」的定義很難,沒有人知道什麼是絕對正確。
B. 因為「對」是相對且動態變化的,會隨個人學習和產業發展而改變。
C. 因為「做得對」會花費太多時間,不如先快速完成。
D. 因為初學者沒有能力一開始就寫出正確的程式。
正確答案:B。影片明確指出「正確的做法」並非常量,而是變量,受個人認知、產業發展和相對性等因素影響。
第三題: 根據影片,一個在履歷上列出、架構精良但尚未上線或使用的軟體專案,其價值如何?
A. 價值很高,顯示開發者具備高水平的技術設計能力。
B. 價值有限,因為它還沒有真正經歷考驗,沒有「活過」。
C. 價值取決於使用的新技術是否夠炫酷。
D. 價值不高,因為無法確定是否符合業界最佳實踐。
正確答案:B。影片強調軟體的生命始於上線使用,未經實際運作和使用的專案,其技術優劣都是空談。
✡ Oli小濃縮 Summary bot 為您濃縮重點 ✡