iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Software Development

從實戰中學習:Take Home Assignment review & refactor系列 第 22

[Day 22] 作業4:Bitcoin Trading Bot Design - 專案 review

  • 分享至 

  • xImage
  •  

Bitcoin Trading Bot Design - 專案 review

今天來revie當時依照這個設計文件所簡單實現的專案,由於這個是第一次開發Rust專案,花了滿多時間在學習Rust專案的架構以及coding 框架等,我自己認為就算是同時學習並開發新語言,可以從專案架構以及Code的架構框架可以看出在軟體設計上的造詣。

Readme review

優點:

  • 明確結構: README有明確的結構,先介紹了整個系統,然後列出了各個模組和它們的職責。
  • 徽章: 使用徽章(如最後一次提交和codecov)為開發者提供了一些即時的、有用的信息。
  • 開發環境說明: 提供了該項目所使用的主要技術和工具的信息,有助於開發者了解開發環境。
  • 建置和測試指南: 提供了建置和測試的明確指南,有助於新的開發者或使用者輕鬆上手。

建議:

  • 系統架構圖: 可以加入系統架構圖或流程圖,這可以幫助使用者更直觀地理解系統的運作方式。
  • 依賴和設定: 描述任何外部依賴,例如Redis或任何特定的數據庫。另外,如果系統需要特定的設定或環境變量,也應在此部分提供說明。
  • 使用說明: 如果這個系統可以被其他開發者用作工具或服務,考慮提供一個簡單的使用說明或例子。

專案結構 review

優點:

  • 模組化結構:專案結構明確地將不同的功能分割為不同的模組(或稱為packages),這有助於分離功能,使得每個模組可以獨立開發、測試和維護。
  • 清晰命名:模組名稱與其功能一致,使得新進的開發者或者維護者能夠很快地了解每個模組的用途。
  • 核心庫的分離: trading_bot_lib將核心的Lib和功能分開,這有助於避免代碼重複並保持模組的整潔。
  • 統一結構:每個模組都有其獨立的 Cargo.toml 和程式結構,使得每個模組都可以作為獨立的Rust crate進行建置和測試。

建議:

  • 單一職責原則:部分模組(如 data_collection 和 trading_module)都包含 lib.rs 和 main.rs。這可能表示這些模組不僅作為韓式庫使用,還有獨立的可執行應用。可以將這些模組進一步拆分,使其更符合單一職責原則。
  • 加入模組間的互動說明:考慮在每個模組的資料夾內加入一個簡單的README,描述該模組的主要功能、互動方式以及任何外部依賴。這可以幫助開發者更快地理解模組之間的互動。
  • 共享模組:如果有一些共享的功能、結構或常量,可以考慮創建一個共享的模組,例如 shared 或 common,並在此處放置這些共享的程式。
  • 完整性:是否需要添加其他模組以符合系統設計的需求,例如:任何配置、常數或環境相關的文件或模組。
  • 測試文件:建議為每個模組加入專用的測試文件或測試資料夾,以確保模組的功能性和健壯性。

上一篇
[Day 21] 作業4:Bitcoin Trading Bot Design - 設計文件 review
下一篇
[Day 23] 作業4:Bitcoin Trading Bot Design - Code review
系列文
從實戰中學習:Take Home Assignment review & refactor30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言