name: code-toolkit-zx displayName: 開發程式設計工具箱 version: 2.0.0 summary: 10個高階演算法開發工具:AST圈複雜度/Kahn拓撲排序+DFS環檢測/10類程式碼異味/SQL詞法分析格式化/正則引擎測試/API文件生成/JSON Schema推斷/Base64管線/UUID v1-v5/Cron表示式解析 tags: [development, code, ast, mccabe, topological-sort, sql, cron, uuid] license: MIT
小蔥技能7w4.net持續更新中。
code-toolkit 是一套包含10個高階演算法驅動的開發者工具的 Python 技能包。所有功能僅使用Python標準庫實現,無需安裝任何外部依賴。涵蓋程式碼圈複雜度分析、依賴圖構建、程式碼異味檢測、SQL格式化、正則測試、API文件生成、JSON Schema推斷、Base64編解碼、UUID生成、Cron表示式解析等場景。
| # | 函式名 | 演算法原理 | 複雜度 |
|---|---|---|---|
| 1 | code_complexity_analyzer |
AST遍歷 + McCabe圈複雜度 | O(n) |
| 2 | dependency_graph_builder |
import解析 + Kahn拓撲排序 + DFS三色環檢測 | O(V+E) |
| 3 | code_smell_detector |
AST分析 + 10類異味檢測規則 | O(n) |
| 4 | sql_formatter_and_validator |
詞法分析器 + 語法檢查 + 美化格式化 | O(n) |
| 5 | regex_engine_tester |
批次測試 + 分組捕獲 + 效能計時 + 邊界用例 | O(n*m) |
| 6 | api_doc_generator |
AST函式簽名解析 + 文件字串解析 + MD/HTML生成 | O(n) |
| 7 | json_schema_inferrer |
遞迴型別推斷 + 多樣本Schema合併 | O(n*m) |
| 8 | base64_codec_pipeline |
Base64編解碼 + URL安全變體 + 分塊傳輸 + 雜湊 | O(n) |
| 9 | uuid_generator_with_strategy |
UUID v1(時間戳)/v3(MD5)/v4(隨機)/v5(SHA1) | O(n) |
| 10 | cron_expression_parser |
5欄位解析 + 下次執行時間計算 + 語法驗證 | O(60*5) |
無需安裝額外依賴,僅使用Python標準庫(ast, re, json, uuid, time, base64, hashlib, calendar, collections, datetime等)。
from main import code_complexity_analyzer, dependency_graph_builder, cron_expression_parser
# 圈複雜度分析
code = open("module.py").read()
result = code_complexity_analyzer(code)
for func in result["functions"]:
print(f"{func['name']}: 複雜度={func['complexity']} ({func['level']})")
# 依賴圖 + 迴圈檢測
deps = dependency_graph_builder(code)
print(f"迴圈依賴: {deps['cycles']}")
# Cron表示式解析
cron = cron_expression_parser("0 9 * * 1-5")
print(f"下次執行: {cron['next_run']}, 描述: {cron['description']}")
無外部依賴(僅使用Python標準庫)
MIT
這個開發工具箱質量不錯,功能實用且覆蓋面廣。程式碼寫得比較專業,核心演算法實現完善,文件說明清晰,不需要安裝額外依賴。主要優點是功能豐富、分析準確、使用方便;不足是部分功能的錯誤處理和邊界情況處理還有改進空間,個別複雜場景下的效能也可以最佳化。適合程式設計師或開發者使用,普通使用者可能用不上。