為什麼廚師不需要從種菜開始做起?
想像一下你去一家餐廳點了一盤「宮保雞丁」。 廚師接到點單後,他會直接轉身去打開冰箱拿雞肉,然後開火熱鍋、加入特製醬汁,五分鐘後把菜端給你。 他絕對不會跑到後院去孵小雞、等雞長大,然後再去種蔥、種蒜頭,最後才回來炒菜給你吃。這太荒謬了。
這家餐廳之所以能運作,是因為它有一套「標準作業流程 (SOP)」。 有人已經把「切蔥花」、「醃雞肉」、「調醬汁」這些複雜的動作,全部包裝好了。主廚只需要「呼叫 (Call)」這些準備好的半成品,就能快速炒出一盤完美的宮保雞丁。
在程式語言中,我們把這套「把複雜動作打包起來,隨時可以重複使用」的機制,稱為 「函式 (Function)」。
如果沒有函式,你的程式會變成一場災難
在前面兩章中,我們學會了寫 if-else 計算打折,也學會了寫 迴圈 找不及格的學生。
但假設今天你是一個超級電商網站的老闆,你的網站有三個地方需要「計算折扣」:
- 首頁的限時搶購區
- 會員專區的購物車
- 客服人員後台的退款系統
如果你不懂得使用函式,你就必須把那長達 20 行的打折計算程式碼,複製貼上到這三個地方。 這有什麼問題? 萬一有一天,你決定「VIP 只要打 85 折就好,不要打 8 折了」。 你慘了!你必須要在幾千行的程式碼裡面,用肉眼找出那三個地方,然後一個一個手動改掉。如果漏改了一個,客人就會打電話來罵人!
封印魔法:打造你自己的「打折計算機」
為了解決這個問題,工程師發明了 function。
它就像是一台你親手發明的機器。你可以把這台機器命名為「神奇打折機」,然後告訴它:
- 投幣口 (參數 Parameters):你需要吃進「原價」跟「是不是 VIP」。
- 內部運作 (執行邏輯):你在機器裡面用
if-else算好價錢。 - 出口 (回傳值 Return):最後機器會把算好的「最終價格」吐出來給你。
Vibe Prompt 實戰:設計你的第一台商業機器
【封裝函式 Prompt】 我正在使用 JavaScript。 請幫我寫一個名為
calculatePrice的 function。
- 它需要接收兩個參數:
originalPrice(數字) 與isVip(布林值 true/false)。- 邏輯是:如果是 VIP,價格打 8 折。如果不是,價格打 9 折。
- 最後,請
return計算後的最終價格。- 請在程式碼下方,示範如何「呼叫 (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」課程,你已經掌握了現代軟體開發最核心的四大基石:
- 變數與資料型態 (名詞):知道怎麼存資料。
- 條件判斷 (邏輯):知道怎麼用
if-else教電腦做決策。 - 迴圈 (苦力):知道怎麼叫電腦處理幾萬筆大數據。
- 函式 (武器庫):知道怎麼把複雜的招式打包起來重複利用。
在傳統的資工系,要學完並熟練這四大基石,通常需要一整個學期的期中考與期末考煎熬。 但在 Vibe Coding 的時代,你不需要背誦括號、不需要糾結縮排。你只要懂得這些**「概念的名詞與邏輯」**,然後用清晰的中文寫成 Prompt,Cursor 就會為你產出完美無瑕的程式碼。
你不再是一個苦命背單字的「工人」,你是一位指揮 AI 幫你蓋大樓的「架構師」。 帶著這些強大的武器,前往下一個更進階的課程吧!無論是去寫網站、做 Line 機器人,還是寫爬蟲,整個程式世界的地圖,現在都為你敞開了!
🎁 [VIP 專屬加碼] Vibe Coding 實戰演練與商業思維
在學習完基礎的程式語法後,很多人會問:「我懂了迴圈跟判斷式,但我還是不知道怎麼接案賺錢啊?」 這就是傳統填鴨式教育的盲點。傳統課程只教你「文法」,卻不教你怎麼寫出一篇「賣錢的文章」。
身為 Vibe Coder,你必須具備以下三個核心商業思維,這將是你未來接下 5 萬元以上專案的底氣:
1. 永遠先想「商業價值」,再想「技術實作」
當客戶說:「我要一個登入系統」時。
- 初階工程師的反應:開始想我要用什麼資料庫、用什麼雜湊演算法來加密密碼。
- Vibe Coder 的反應:問客戶:「這個登入系統是給誰用的?如果是給一般消費者,我們應該直接串接 LINE Login 或 Google 登入,因為這樣轉換率最高,而且你不用擔心密碼外洩的資安風險。」 你看出來了嗎?你不需要寫半行密碼加密的程式,但你幫客戶創造了更高的轉換率。這就是價值。
2. Cursor 除錯 (Debug) 的進階詠唱法
在真實開發中,你一定會遇到 Error。當畫面上出現紅字時,請遵循以下步驟:
- 不要慌張:Error 是電腦在跟你溝通,它不是在罵你。
- 複製完整錯誤:把終端機或瀏覽器 Console 裡的錯誤訊息,連同上下文「一字不漏」地複製下來。
- 附上你的企圖:在 Cursor 裡面輸入:
「我正在嘗試建立一個迴圈來渲染商品列表,但遇到以下錯誤:(貼上錯誤訊息)。請幫我分析這是資料格式不對,還是語法寫錯?並提供修正後的程式碼。」 當你給予足夠的背景資訊,AI 幫你抓蟲的命中率將從 50% 飆升到 99%。
3. 如何把這堂課的知識變成報價單上的服務?
你現在懂了基礎的 JS/Python。你可以開始在 Upwork 或是 PTT 上尋找這類型的案子:
- 「需要幫忙把 100 份 Excel 的資料整理合併。」 (使用 Python 迴圈)
- 「需要寫一個簡單的腳本,每天檢查網站有沒有當機。」 (使用 JS 判斷式)
這種案子對資深工程師來說太小,他們不想接;但對傳統行政人員來說太難,他們做不到。這就是你的藍海市場。 你可以大膽報價 3000 ~ 5000 元,然後花 10 分鐘用 Cursor 寫完收工,時薪高達 30000 元!
記住,你賣的不是程式碼,而是幫客戶節省的時間。 帶著這個思維,繼續挑戰進階課程吧!