iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
Software Development

Clean Architecture 無瑕的程式碼:國中生阿吉的暑期閱讀筆記系列 第 7

Day7 :OPC 開放封閉原則 (加任務不用打掉重練)

  • 分享至 

  • xImage
  •  

今日主題:

SOLID 五個小規則進度條,現在來到 O。

O — 開放封閉原則 (Open/Closed) 👈 現在在這裡 👈
可以增加功能,不用大改原本的東西。

在 AI 應用中,像是如何在程式功能中擴充 AI 功能,
而不破壞原有程式?


開放封閉原則是什麼?

開放:可以「增加新功能」。
封閉:不用「大改舊東西」。

👉 就像一座積木城堡,要加房間,可以再疊新的積木,而不用把舊房間拆掉。


範例故事:

今天阿吉希望在「文章編輯」裡多一個 AI 幫手
所以我們在後台加上一個新的 service,前台加上一個 AI 按鈕

https://ithelp.ithome.com.tw/upload/images/20250921/20107703JT4k9pS3Dy.png

結果第一次測試,AI 一直顯示 400 錯誤。
不用把整個編輯器拆掉,只要找到錯誤在哪裡,應該再加上新的設定就能解決。


在程式中的應用

獨立寫了一個簡單的 demo 測試,key 是否可以正確使用。

import OpenAI from "openai";
import dotenv from "dotenv";

dotenv.config();

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
});

async function main() {
  try {
    const response = await client.responses.create({
      model: "gpt-5",
      input: "用三句話介紹台灣。",
    });

    console.log(response.output[0].content[0].text);
  } catch (error) {
    console.error("Error:", error);
  }
}

main();

小結與一個思考問題:

為什麼 open ai 平台確認創建 key ,打 API 仍然顯示 400 錯誤?有什麼方法除錯呢?
我們如何串接的服務的情境中快速找到問題點?


上一篇
Day6:SRP 單一職責(AI prompt 也要學習專注)
下一篇
Day8:LSP 里氏替換 ( 人不能,但 AI 可以換腦袋)
系列文
Clean Architecture 無瑕的程式碼:國中生阿吉的暑期閱讀筆記9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言