iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

大家有沒有一個經驗,出外的學子或是北漂打工族有天要搬回老家的時候,才驚覺東西怎麼這麼多? 等到要搬家前的那一刻才開始瘋狂出清堆放已久的雜物或是垃圾。

回顧一下前幾天的文章,先從難以理解的程式碼開始看起,就如同一團亂的人生一樣,需要好好的整理,重構的目的在於簡化,是在不改變行為和結果的情況下,讓自己更舒服的一種技巧。

接著我們從物件過多的角度切入,談到了物件變多之後所產生的重複問題,接著延伸談到當同類型物件變多之後該怎麼進行分類管理

但只是收爛攤子是不夠的,最終我們還是會回到物件過多的源頭也就是回到需求面來看,從根本問題看怎麼從來源就減少,或是評估自己擁有的物件到底是好或是不好?

在程式碼的撰寫上,最常聽到的就是不要自己造輪子,開源社群的蓬勃發展就好像現在的電商一樣在短短幾年內幾乎影響了世界的每一個角落,那開源的套件我們又該如何選擇?

套件的評估與選擇

套件評估大致上會有幾個步驟

  1. 明確需求: 確認自己要達成的需求,就好像買空調一樣,直接從規格就可以縮小選擇範圍
  2. 套件資料收集: 收集有關各種套件的資訊,包含功能、文件、社群、使用範例等等
  3. 測試和評估: 嘗試將套件加入到專案中,進行測試和評估

網路購物大家都懂得利用比價網站跟開箱介紹,以前端來說,常用的套件評估網站是 npm trends,用於追蹤和比較不同 JavaScript 套件(包括 Node.js)的下載量和使用趨勢,大家可以從底下的連結點去看看前端御三家的比較:

https://npmtrends.com/angular-vs-react-vs-vue

開源的專案來說,小編還會進一步去看該專案的 github 看看

  • commit 的次數是否頻繁是否原子化
  • Github 星星數量
  • issue 的開單跟解決數量
  • 套件引用的套件是不是有在更新
  • 貢獻的人多不多
  • 版號進版的狀況,是不是有 Change Log 或是不是有 Change Log 或是 Release Note
  • Quick Start 是不是真的 Quick
  • 套件有可能包山包海,有沒有輕量化的選擇
  • 是否有出付費版

如果從架構切入,以家具裝潢來說大概就是軟裝潢跟硬裝潢,軟裝潢通常指的是室內空間中的軟質元素和家具,有比較高的可動性和可替換性,硬裝潢是指室內空間中的固定和永久性元素,通常是在建築和結構方面進行的,而且做下去更動的成本就非常高。

小編會觀察那個套件的穿透性、影響範圍、是否方便再封裝

  • 穿透性: 套件的使用是不是穿透原本程式架構的設計,像 Redux 就屬於可以穿透在每個角落的一個套件,以 Redux 來說就像是硬裝潢,裝下去之後做更動的成本就非常高
  • 影響範圍: 是否容易被替代,跟原本的做法會不會差很多,是否需要重寫,像一般的表格換成 Aggrid 就相當於重寫
  • 再封裝: 如果套件屬於方便再封裝的設計,那其實可動性就會非常高,就好像 Ikea 提供的各種零組件其實是有機會交互使用的

不管是什麼樣的套件或是技術引入都是有成本的,所以在生活和工作中,區分「想要」和「需要」並做出明智的選擇是重要的。

想要和需要可能不同,所以須要評估後確保行動符合長期目標和價值觀,目的在節省資源、減少浪費,並專注於重要的事情。

然而,也不應該忽視「想要」,因為把錢換成其他存在的樣子可以增添生活樂趣和滿足感,技術的話就快點去開一個小專案吧,以小編來說雖然工作上大多是用熟習的工具,但就會在小專案中嘗試使用較新潮的 build tool 也因此常見的幾個都玩過一輪,甚至是大膽改寫小專案成沒使用過的 svelte 也是不錯的體會與經驗。

無論是在購物、工作還是生活中,好的選擇可以幫助我們保持平衡和滿足感,通過自我反省、目標設定和明確價值觀,我們可以更好地管理我們的想要和需求,從而建立更豐富、更有意義的生活。


上一篇
十年後你就知道了,別人說不好就真的不好嗎?
下一篇
架構與分層 X 整理的秘訣
系列文
前端三分鐘 X 每天三分鐘的斷捨離,讓每一天都可以早點下班30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言