Skip to content
💻程式#123進階金字塔 · 做
工程師Claude CodeCodexClaude.ai#程式碼審查#重構#程式品質

Python 程式碼審查與重構建議產生器

用途

對 Python 程式碼做六個維度的結構化審查,產出「問題 → 風險等級 → 修改建議 → 修改後範例」的可執行清單,讓你或接手的人有明確的重構路線圖。

何時用

  • 適合:開發完成要做 code review,或接手舊程式碼需要理解現狀並找出優化點時。
  • 不要用:只需要找安全漏洞與慣例問題的快速掃描——那情境用「Python 品質審查版」更精準;如果只是除錯請用「Python 除錯根因分析」。

Prompt

text
請對以下 Python 程式碼做六維結構化審查。

程式碼用途:{{程式碼用途,例:計算訂單折扣與稅金}}
使用情境:{{使用情境,例:電商後端,每天約 10 萬次呼叫}}

程式碼:
{{程式碼}}

六個審查維度:
1. 功能正確性(邏輯是否符合用途說明、邊界條件處理)
2. 異常處理(是否有明確的 except 類型、錯誤訊息是否有用)
3. 命名清晰度(變數名、函式名是否表達意圖)
4. 型別提示(有無缺失或錯誤的 type hints)
5. 可讀性(函式長度、巢狀深度、重複邏輯)
6. 效能(不必要的迴圈、大量資料的記憶體使用)

輸出格式(每個問題一條):
| 維度 | 問題描述 | 風險等級(高/中/低)| 修改建議 | 修改後範例(程式碼片段)|

範例 / 變體

  • 填好變數:程式碼用途填 計算訂單折扣與稅金、使用情境填 電商後端,每天約 10 萬次呼叫、程式碼填入 discount.py 的內容。
  • 變體(只看高風險):在輸出格式後加「只列出風險等級為高的問題」,縮小審查範圍。
  • 變體(產出重構計畫):在 prompt 末尾加「審查完成後,輸出一份三步驟重構計畫,依風險等級由高到低排序,每步預估工時」。

🎯 範例輸出(實測)

Claude.ai 跑這句、程式碼用途填「計算訂單折扣與稅金」、使用情境填「電商後端,每天約 10 萬次呼叫」、程式碼填入一段 discount.py 的結果:

點開看 AI 實際輸出

測試輸入程式碼(discount.py):

text
def calc_order_total(items, coupon_code=None):
    total = 0
    for item in items:
        total = total + item['price'] * item['qty']
    if coupon_code == 'VIP10':
        total = total * 0.9
    elif coupon_code == 'SUMMER20':
        total = total * 0.8
    tax = total * 0.05
    return total + tax

六維結構化審查結果:

維度問題描述風險等級修改建議修改後範例
功能正確性float 乘法累加在 10 萬次呼叫下誤差可累積到分位,台灣電商要求整數元精度改用 Decimalfrom decimal import Decimal; total = Decimal("0")
異常處理無任何例外處理;若 item 缺少 priceqty 鍵,回傳 KeyError 無法追蹤try/except KeyError as e: raise ValueError(f"商品資料缺少欄位: {e}")
命名清晰度total 在迴圈中既是小計又是折扣後金額,語意模糊;建議拆成 subtotaldiscounted_total拆分變數名稱subtotal = sum(...)
型別提示函式無任何 type hint,回傳值型別不明items: list[dict], coupon_code: str | None = None) -> Decimal
可讀性折扣邏輯硬編在函式裡,新增優惠券需改程式碼;建議抽成 COUPON_RATES: dict[str, Decimal] 常數常數化COUPON_RATES = {"VIP10": Decimal("0.9"), ...}
效能for item in items: total = total + ... 可改用 sum(),在 10 萬次高頻呼叫下更快subtotal = sum(Decimal(str(i['price'])) * i['qty'] for i in items)

💡 實測心得:「使用情境:每天約 10 萬次呼叫」這行讓 AI 把 float 精度問題從「低風險」升到「高風險」——同樣的 float 乘法,在一次性腳本裡可能只是 Suggestion,但在高頻金融計算場景就是 Critical。使用情境填越具體,風險等級的判斷就越準確。

延伸

簡單來說,六維審查的價值是讓「可讀性問題」不被「邏輯錯誤」遮蓋,也讓「效能問題」在優化前就被識別出來而不是等上線後才發現。如果審查結果顯示問題集中在安全與慣例,可以搭配「Python 品質審查」做更細的安全掃描。

依場景分類 · 一鍵複製 · 持續擴充