為什麼廚師不需要從種菜開始做起?

想像一下你去一家餐廳點了一盤「宮保雞丁」。 廚師接到點單後,他會直接轉身去打開冰箱拿雞肉,然後開火熱鍋、加入特製醬汁,五分鐘後把菜端給你。 他絕對不會跑到後院去孵小雞、等雞長大,然後再去種蔥、種蒜頭,最後才回來炒菜給你吃。這太荒謬了。

這家餐廳之所以能運作,是因為它有一套「標準作業流程 (SOP)」。 有人已經把「切蔥花」、「醃雞肉」、「調醬汁」這些複雜的動作,全部包裝好了。主廚只需要「呼叫 (Call)」這些準備好的半成品,就能快速炒出一盤完美的宮保雞丁。

在程式語言中,我們把這套「把複雜動作打包起來,隨時可以重複使用」的機制,稱為 「函式 (Function)」


如果沒有函式,你的程式會變成一場災難

在前面兩章中,我們學會了寫 if-else 計算打折,也學會了寫 迴圈 找不及格的學生。 但假設今天你是一個超級電商網站的老闆,你的網站有三個地方需要「計算折扣」:

  1. 首頁的限時搶購區
  2. 會員專區的購物車
  3. 客服人員後台的退款系統

如果你不懂得使用函式,你就必須把那長達 20 行的打折計算程式碼,複製貼上到這三個地方。 這有什麼問題? 萬一有一天,你決定「VIP 只要打 85 折就好,不要打 8 折了」。 你慘了!你必須要在幾千行的程式碼裡面,用肉眼找出那三個地方,然後一個一個手動改掉。如果漏改了一個,客人就會打電話來罵人!

封印魔法:打造你自己的「打折計算機」

為了解決這個問題,工程師發明了 function。 它就像是一台你親手發明的機器。你可以把這台機器命名為「神奇打折機」,然後告訴它:

  • 投幣口 (參數 Parameters):你需要吃進「原價」跟「是不是 VIP」。
  • 內部運作 (執行邏輯):你在機器裡面用 if-else 算好價錢。
  • 出口 (回傳值 Return):最後機器會把算好的「最終價格」吐出來給你。

Vibe Prompt 實戰:設計你的第一台商業機器

【封裝函式 Prompt】 我正在使用 JavaScript。 請幫我寫一個名為 calculatePrice 的 function。

  1. 它需要接收兩個參數:originalPrice (數字) 與 isVip (布林值 true/false)。
  2. 邏輯是:如果是 VIP,價格打 8 折。如果不是,價格打 9 折。
  3. 最後,請 return 計算後的最終價格。
  4. 請在程式碼下方,示範如何「呼叫 (Call)」這個函式兩次(一次是 VIP 消費 1000 元,一次是一般客消費 2000 元),並把結果印出來。

AI 產出的函式封裝與呼叫:

// 1. 製造機器:定義一個名為 calculatePrice 的函式
function calculatePrice(originalPrice, isVip) {
  let finalPrice;

  if (isVip === true) {
    // 是 VIP,打 8 折
    finalPrice = originalPrice * 0.8;
  } else {
    // 不是 VIP,打 9 折
    finalPrice = originalPrice * 0.9;
  }

  // 把算好的結果「吐出去」
  return finalPrice;
}

// ==========================================

// 2. 使用機器:在需要的地方「呼叫」它
// 情況一:VIP 客人買了 1000 元的東西
const price1 = calculatePrice(1000, true);
console.log(`VIP 客人要付的錢是:${price1} 元`); // 預期印出 800

// 情況二:一般客人買了 2000 元的東西
const price2 = calculatePrice(2000, false);
console.log(`一般客人要付的錢是:${price2} 元`); // 預期印出 1800

看到了嗎?當你把邏輯封裝進 function 之後,你在下面使用的時候,程式碼變得多麼乾淨俐落! 更棒的是,如果以後你要改成 85 折,你只需要去改機器裡面的一行程式碼,全世界所有呼叫這台機器的地方,瞬間就會全部一起更新為 85 折。這就是軟體工程中最重要的心法:「DRY (Don't Repeat Yourself,不要重複你自己)」。


結語:恭喜你,你已經成為 Vibe Coder 了!

歷經了這五章的「程式語言麻瓜101」課程,你已經掌握了現代軟體開發最核心的四大基石:

  1. 變數與資料型態 (名詞):知道怎麼存資料。
  2. 條件判斷 (邏輯):知道怎麼用 if-else 教電腦做決策。
  3. 迴圈 (苦力):知道怎麼叫電腦處理幾萬筆大數據。
  4. 函式 (武器庫):知道怎麼把複雜的招式打包起來重複利用。

在傳統的資工系,要學完並熟練這四大基石,通常需要一整個學期的期中考與期末考煎熬。 但在 Vibe Coding 的時代,你不需要背誦括號、不需要糾結縮排。你只要懂得這些**「概念的名詞與邏輯」**,然後用清晰的中文寫成 Prompt,Cursor 就會為你產出完美無瑕的程式碼。

你不再是一個苦命背單字的「工人」,你是一位指揮 AI 幫你蓋大樓的「架構師」。 帶著這些強大的武器,前往下一個更進階的課程吧!無論是去寫網站、做 Line 機器人,還是寫爬蟲,整個程式世界的地圖,現在都為你敞開了!


🎁 [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 範例!