為什麼 ATM 會拒絕吐鈔票給你?

想像一下,如果你去提款機 (ATM) 想要領一萬塊錢,但你的戶頭裡面只有一百塊。如果你是寫這台提款機程式的工程師,你會怎麼寫? 你總不可能寫一行指令:「不管怎樣,就吐出一萬塊給他」吧?如果這樣寫,這家銀行隔天就倒閉了。

在真實世界中,所有的商業邏輯都充滿了「條件判斷」。

  • 如果 客戶的餘額大於等於一萬塊, 吐出鈔票,並且扣除一萬塊餘額。
  • 否則 (不然的話) 在螢幕上顯示「餘額不足」,並且把提款卡退出來。

這種「如果...就...;否則...就...」的邏輯,在程式語言的世界裡,有一個統一的名稱,叫做 if-else 條件判斷式。 這是賦予你的程式碼「大腦」與「判斷力」的最關鍵技術。


傳統程式語言的痛:括號地獄與縮排惡夢

在 Vibe Coding 時代之前,初學者學習 if-else 通常會面臨一場語法災難。

如果你學的是 JavaScript,你要寫一堆大括號跟小括號:

if (balance >= 10000) {
    dispenseCash(10000);
    balance = balance - 10000;
} else {
    showError("餘額不足");
    ejectCard();
}

如果你少打了一個 },整個程式就會大崩潰,跑出一整頁的紅字報錯。

如果你學的是 Python,雖然沒有大括號,但你必須嚴格遵守「縮排 (Tab/空白鍵)」:

if balance >= 10000:
    dispense_cash(10000)
    balance = balance - 10000
else:
    show_error("餘額不足")
    eject_card()

如果不小心多按了一個空白鍵,Python 就會無情地罷工。

對於非本科系的新手來說,把時間浪費在抓「少了一個括號」或是「多了一個空白鍵」這種事情上,是非常消磨熱情的。


Vibe Coding 實戰:用白話文寫商業邏輯

在 Vibe Coding 的世界裡,我們不再去死背這些語法。我們專注於「商業邏輯」的設計。 你只要會講人話,AI 就會幫你把完美無瑕的 if-else 寫出來。

讓我們來挑戰一個更複雜的電商購物車結帳邏輯:

【電商 VIP 折扣判斷 Prompt】 我正在開發一個購物車結帳系統 (請用 JavaScript 幫我寫一個 function)。 我們的折扣規則非常複雜,請幫我轉換成程式碼:

  1. 首先檢查客人的購物車總金額 (totalAmount)。
  2. 如果 總金額小於 500 元,不僅沒有折扣,還要加上 60 元的運費。
  3. 如果 總金額在 500 元(含) 到 2000 元之間,免運費,但沒有折扣。
  4. 如果 總金額大於等於 2000 元,請檢查客人的身份 (isVip)。
  5. 如果 他是 VIP,整筆訂單打 8 折 (乘以 0.8) 再免運費。
  6. 如果 他不是 VIP,但金額滿 2000 了,就打 9 折 (乘以 0.9) 再免運費。
  7. 請最後回傳 (return) 顧客實際上要付多少錢。

AI 產出的完美邏輯樹:

function calculateFinalPrice(totalAmount, isVip) {
  let finalPrice = 0;

  // 情境 1:總金額小於 500 (要加運費)
  if (totalAmount < 500) {
    finalPrice = totalAmount + 60;
    console.log("未達免運門檻,加收 60 元運費。");
  } 
  // 情境 2:總金額在 500 到 1999 之間 (免運,無折扣)
  else if (totalAmount >= 500 && totalAmount < 2000) {
    finalPrice = totalAmount;
    console.log("達免運門檻,無折扣。");
  } 
  // 情境 3:總金額大於等於 2000 (開始判斷 VIP)
  else {
    if (isVip) {
      finalPrice = totalAmount * 0.8;
      console.log("VIP 尊榮 8 折優惠!並享免運費!");
    } else {
      finalPrice = totalAmount * 0.9;
      console.log("滿額 9 折優惠!並享免運費!");
    }
  }

  return finalPrice;
}

你看!這就是所謂的「巢狀判斷 (Nested If-Else)」。在 else 裡面又包了一層 if-else 來判斷是不是 VIP。 如果請初學者自己手寫這段邏輯,大約有 80% 的機率會因為大括號放錯位置而導致程式算錯錢。 但在 AI 的輔助下,你只要把中文規則條列清楚,它就能產生 100% 正確且附帶完整註解的高階程式碼。


結語:工程師的價值在於「考慮周全」

有了 AI 的幫助,你再也不需要擔心語法錯誤。 但這並不代表你不需要思考。

一個優秀的 Vibe Coder,他的價值在於「有沒有想到極端情況 (Edge Cases)」。 例如:如果傳進來的 totalAmount 是一個負數 -100 怎麼辦?程式會不會真的退錢給客戶? 這時候,你就要在 Prompt 裡面加上防禦機制: 「請先檢查總金額是否小於 0,如果是,請直接拋出錯誤『金額異常』,不要繼續執行後續邏輯。」

在下一章中,我們將學習程式語言中最有效率、也最像血汗工廠的神奇技術:迴圈 (Loops)。看看如何用兩行程式碼,瞬間處理一萬筆資料!


🎁 [VIP 專屬加碼] Vibe Coding 實戰演練與商業思維

在學習完基礎的程式語法後,很多人會問:「我懂了迴圈跟判斷式,但我還是不知道怎麼接案賺錢啊?」 這就是傳統填鴨式教育的盲點。傳統課程只教你「文法」,卻不教你怎麼寫出一篇「賣錢的文章」。

身為 Vibe Coder,你必須具備以下三個核心商業思維,這將是你未來接下 5 萬元以上專案的底氣:

1. 永遠先想「商業價值」,再想「技術實作」

當客戶說:「我要一個登入系統」時。

  • 初階工程師的反應:開始想我要用什麼資料庫、用什麼雜湊演算法來加密密碼。
  • Vibe Coder 的反應:問客戶:「這個登入系統是給誰用的?如果是給一般消費者,我們應該直接串接 LINE Login 或 Google 登入,因為這樣轉換率最高,而且你不用擔心密碼外洩的資安風險。」 你看出來了嗎?你不需要寫半行密碼加密的程式,但你幫客戶創造了更高的轉換率。這就是價值。

2. Cursor 除錯 (Debug) 的進階詠唱法

在真實開發中,你一定會遇到 Error。當畫面上出現紅字時,請遵循以下步驟:

  1. 不要慌張:Error 是電腦在跟你溝通,它不是在罵你。
  2. 複製完整錯誤:把終端機或瀏覽器 Console 裡的錯誤訊息,連同上下文「一字不漏」地複製下來。
  3. 附上你的企圖:在 Cursor 裡面輸入:

    「我正在嘗試建立一個迴圈來渲染商品列表,但遇到以下錯誤:(貼上錯誤訊息)。請幫我分析這是資料格式不對,還是語法寫錯?並提供修正後的程式碼。」 當你給予足夠的背景資訊,AI 幫你抓蟲的命中率將從 50% 飆升到 99%。

3. 如何把這堂課的知識變成報價單上的服務?

你現在懂了基礎的 JS/Python。你可以開始在 Upwork 或是 PTT 上尋找這類型的案子:

  • 「需要幫忙把 100 份 Excel 的資料整理合併。」 (使用 Python 迴圈)
  • 「需要寫一個簡單的腳本,每天檢查網站有沒有當機。」 (使用 JS 判斷式)

這種案子對資深工程師來說太小,他們不想接;但對傳統行政人員來說太難,他們做不到。這就是你的藍海市場。 你可以大膽報價 3000 ~ 5000 元,然後花 10 分鐘用 Cursor 寫完收工,時薪高達 30000 元!

記住,你賣的不是程式碼,而是幫客戶節省的時間。 帶著這個思維,繼續挑戰進階課程吧!

解鎖完整教學內容

本章為付費內容。加入專案即可解鎖超過 5000 字的深度解析,包含 10 個以上神級 Prompt 與真實 Source Code 範例!