iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

寫個好的lib大家用吧!那些好用的lib常見的套路與想法 系列

隨著工作一段時間後,漸漸需要負責團隊中的核心lib的開發與維護
這次參賽的目的就是要將lib開發的經驗做一個彙整

參賽天數 25 天 | 共 25 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文 團隊森上依然梅友前
DAY 1

D1 - 開題啦,從今天開始學習怎麼寫一個好的lib給團隊使用吧

前言:隨著團隊的商業邏輯越發複雜,每個團隊都會開始開發內部使用的共用模組,但是不是每個共用模組都能夠節省成員的開發時間,有些模組提供的API參數超多,導致成...

2022-09-16 ‧ 由 andy_lin82411 分享
DAY 2

何謂『好用的』,要如何審視自己開出的API是否幫助了開發者?

如果在審PR的時候直接發一個comment說 這個lib 這個function根本不夠好用,我想第二天就是一場工程師之間的大戰我們應該有一些事實可以說明問題 例...

2022-09-17 ‧ 由 andy_lin82411 分享
DAY 3

D3 - SOLID就夠了嗎?淺談SOLID原則的誤解與誤用

談到架構設計/物件導向設計,SOLID原則就是常常會被提到的方式但是只要符合SOLID就是好的設計嗎?今天來看看舉兩個例子來討論SOLID的實踐 Restfu...

2022-09-18 ‧ 由 andy_lin82411 分享
DAY 4

D4 - Module的邊界

一個Module的內部應該包含哪些功能?這時候就要回到module的責任來看了責任分析一般會包含兩個角度 高階/低階 內聚/耦合簡單來說越高階,越接近API的...

2022-09-19 ‧ 由 andy_lin82411 分享
DAY 5

D5 - 我把參數都組合好放在那裡了 - DTO的運用

淺談一個關於標註的商業邏輯今天一個圖片內有N個標註,需要將其轉為YOLO格式 image width height depth path label...

2022-09-20 ‧ 由 andy_lin82411 分享
DAY 6

D6 - 在開始實作之前,淺談那些關於文件的事情

經過前面五天, 我們終於要開始設計module了 這時候我們要如何跟同事溝通這我們的設計呢? 在物件導向設計中, 通常會用UML來表達我們的軟體架構 但是UML...

2022-09-21 ‧ 由 andy_lin82411 分享
DAY 7

D7 - 和我定下契約吧,淺談interface的使用

需求:實現一個Draw程式,可以根據標註類型畫出以下標註 點 描點 框 多邊形並且要支援讓使用者輸入線寬/點直徑 此時如果把這四個功能丟給四個人實作 就會拿...

2022-09-22 ‧ 由 andy_lin82411 分享
DAY 8

D8 - 如何用設計鼓勵好的行為

在開發的過程中,溝通行為永遠是一件最難的事情 例如責任應該分割拉 發佈版本應該下tag拉 這些東西一但開發時程很緊就會被各種藉口給忽略掉 這時候就可以透過介面設...

2022-09-23 ‧ 由 andy_lin82411 分享
DAY 9

D9 -Framework

在寫module之前 確定module的分類很重要 這時候有一個經典的分類就是lib vs framework 根據wiki的定義 lib: lib基本上是一坨...

2022-09-24 ‧ 由 andy_lin82411 分享
DAY 10

D10 - 不要再import了,auto discover的運用

隨著功能越拆越細 有一天就會發現寫最多的code就是在到處import 像下面這個API的狀況 /routes/resource/| login.py| api...

2022-09-25 ‧ 由 andy_lin82411 分享