該好好重構和斷捨離的是程式碼還是人生 三分鐘斷捨離,讓每天都早點下班

me
林彥成
2023-09-17 | 2 min.
文章目錄
  1. 1. 為什麼需要重構
  2. 2. 重構是什麼
  3. 3. YAGNI (You aren’t gonna need it!)

為什麼需要重構

在我們的生活中,有許多重要的事情需要我們時常檢討和改進,這個過程被稱為斷捨離,不僅適用於程式碼,也適用於我們的人生。

在寫許多行程式碼來實現不同的功能,有時候這些程式碼變得非常複雜難以理解,就像一個亂掉的房間一樣,這時候該斷捨離的像是

  • 寫作文一樣的註解
  • 需要超級多參數才可以執行的函式
  • 過度複雜的條件判斷
  • 寫死的 Magic Number 或是設定檔
  • 覺得以後有機會用到但現在沒作用的程式碼
  • 過多的中間產物,更不該把中間產物當結果
  • 東貼西貼複製貼上的程式碼
  • 做到一半且短期不會完成的功能
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (a > 10 && (b === "foo" || c < 5) && (d !== "bar" || e > 20)) {
// ...
}

function processPlayerData(username, email, age, address, phone, interests) {
// 非常長的函數內容...
}

if (statusCode === 20100) {
// ...
}

function processALotOfTempValue() {
let temp1, temp2, temp3, temp4, temp5, result;
// ...

return result;
}

function addNumbers(num1, num2) {
// 檢查是否為數字
if (typeof num1 !== "number" || typeof num2 !== "number") {
return "請輸入有效的數字";
} else {
// 兩個數字相加
var result = num1 + num2;
return result;
}
}

重構是什麼

程式的斷捨離會是一個重構的過程,重構讓程式碼變得更加簡潔、容易閱讀和維護,就像整理混亂的房間,第一步就是將不必要的部分丟棄,重新組織與排放,使一切井然有序。

不僅程式碼需要斷捨離,我們的生活也需要,被填滿了的時間表有時候會造成過度壓力,無法應對生活中的挑戰,這也需要人生的斷捨離的時候。

斷捨離是一個檢討和簡化我們生活的過程,藉由檢討目標和價值觀,看看哪些是真正重要的,哪些是可以放下的。

以剛剛最後一個例子來說,有看出問題在哪邊嗎?

1
2
3
4
5
6
7
8
9
10
function addNumbers(num1, num2) {
// 檢查是否為數字,多餘的程式碼
if (typeof num1 !== "number" || typeof num2 !== "number") {
return "請輸入有效的數字";
} else {
// 兩個數字相加
var result = num1 + num2;
return result;
}
}

該減少的是過多的型別檢查,名稱就是 addNumbers 還傳其他參數進去是天兵? JavaScript 會轉型並不會產生程式錯誤回傳錯誤值跟 請輸入有效的數字 有個 87% 像,else 的 block 是一定會被執行的也不需要多包一層。

1
2
3
4
function addNumbers(num1, num2) {
// 兩個數字相加
return num1 + num2;
}

不管在什麼層面,要避免過度和極端,過度的追求會導致不平衡和不和諧,過多的欲望可能導致內心的不穩定和不滿足,當減少欲望,更可以獲得內在的平靜和滿足感。

其中有個水的比喻很好,水能夠適應不同的形狀,不爭鬥也不過於強硬,即使不強硬但卻也可以鑿穿石頭。

YAGNI (You aren’t gonna need it!)

YAGNI(You Aren’t Gonna Need It)是一個在軟體開發中的設計原則,它強調在開發過程中不要添加不必要的功能或程式碼。

對於人生來說,我們在同個時間只需要一條牙膏跟一隻牙刷,如果依照每層樓去擺放一樣的物品一個家裡面就會擁有好幾組,但我們其實只需要一組不是嗎?

整理東西的時候,我們就要先把同一類的東西先集中,就像我就有好多無線耳機跟喇叭,學校宿舍、工作租屋、辦公室、浴室、運動,但搬回家之後就多了許多沒用到的。

從《道德經》的觀點來看,YAGNI 可以被解釋為一個實踐節制和簡單的原則,符合道教哲學中強調的中庸之道和適度的概念。

YAGNI 提醒我們不要過於追求完美或添加過多的物品,而應該保持簡單和精簡,並且適時去反省只關注當下需求好好解決即可,不需要為了未來的可能增加多餘的東西。


喜歡這篇文章,請幫忙拍拍手喔 🤣


share