專案概述:
Subject | Description |
what | 共用發信API 是讓開發人員可以透過打API的方式寄出email信件的軟體中介層(Middleware) |
when 開發時程,與預估啟用時程 | 開發時程:2023/01/03-2023/01/07 |
why 為什麼要發起這個專案 一開始的構想、假設是什麼 | 希望開發人員未來在進行email信件寄送的時候,可以有一個共同的接口、共同的格式、共同的錯誤例外處理 |
how 執行策略是什麼 | 在專案A已經有相關使用AWS queue的寄信功能,故把專案A的功能移植至專案B上面使用。 1.整合與開發增加API接口層:依照API Guideline 設計接口層 2.整合信件種類:依照Subject Naming Rule 和Billing Send Mail Training Material 進行信件種類邏輯分類和整合 3.增加log訊息。 4.讓API有回傳queue是否收到的結果 |
effect 短期、中期、長期的目標預設,一開始預設的 | 便捷:開發人員如需要寄信,透過各語言自己打API即可,不用另外安裝AWS相關寄信套件。 統一格式接口:統一格式,開發較不會出錯,建立開發團隊有發信共識,未來邏輯層或AWS attribute如有整,只需要修改此區塊程式碼。 統一例外處理:打錯誤的request時,有相關卡控,並提共友善的回覆訊息方便開發人員進行debug。避免錯誤傳遞到AWS上面。 節省:相較於每個專案各自開發自己的寄信功能,統一API信件功能,可以節省開發人員的重工性開發。 |
過程經歷
專案挑戰:
跟原開發人員的關係
Type | Description |
---|---|
Status | 原本開發專案A的開發人員個性比較暴躁,且面對男生較不想理會。 |
Task | 詢問專案A的開發人員,詢問需求功能放置位置。 |
Action | 1.在該人員,沒有在處理任何事情的時候,客氣的詢問專案A的開發人員。 2.該人員給出一些資訊訊息後,就立刻去查看專案A並自行思考一下。 |
Result | 後來成功搬移所有相關系統功能。 |
Think | 工程師因為團體男性過多,有時候男工程師只想面對女生無可厚非,但是過於顯露這樣的個性,對於團隊運作開發,其實並不利。建議還是團隊男女平衡為主,或是由主管組長點破此事(可用玩笑的方式),希望改善。 |
技術挑戰:
共用Function,使用方式不同
Type | Description |
---|---|
Status | 在專案A已經有相關使用AWS queue的寄信功能,故把專案A已經完成的功能移植至專案B上面使用。 |
Task | 從專案A開發的寄信功能搬移到專案B(此專案)時,遇到一些Function,功能是一樣地,但是使用方式不一樣。 |
Action | 將引用到的function調整成 專案B(此專案) 的使用方式。 |
Result | 搬移成功,測試完成,可正確執行。 |
Think | 在做專案功能搬移的時候,除了思考他們語言一致以外,如果是派工者,可以更加的思考到,使用的相關Function或是Library是否是同樣的。 |
異步Function轉換為同步Function
Type | Description |
---|---|
Status | 在專案A已經有相關使用AWS queue的寄信功能,故把專案A已經完成的功能移植至專案B上面使用。但在A專案的時候,此功能是用非同步的方式撰寫。 |
Task | 原本A專案非同步的功能,轉換為同步,即可取得Queue的回應訊息。 |
Action | 接口介面層(Controller))使用 Task.Wait,等待function回傳以後再運行。 |
Result | 修正完成。 |
Think | 依照不同的使用形況,轉換同步與異步。 |