Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alincode/20190805-show-me-the-code
https://github.com/alincode/20190805-show-me-the-code
Last synced: 11 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/alincode/20190805-show-me-the-code
- Owner: alincode
- Created: 2019-08-05T11:37:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-08-16T18:31:12.000Z (over 5 years ago)
- Last Synced: 2024-11-06T07:27:29.959Z (about 2 months ago)
- Language: JavaScript
- Size: 6.84 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: history.md
Awesome Lists containing this project
README
# 20190802-show-me-the-code
分享的可以是一個簡單概念、一個小技巧,大啟發。
**Agenda**
* 什麼是模組化設計
* 為什麼我們需要模組化
* 為什麼學習寫模組化對你有好處?
* 什麼是好的模組,需要具備什麼?
* 如何開始建構你的模組?
* 我的模組
* 如果你真的想不到有哪些需要你的貢獻?### 什麼是模組化(modular)
* 藉由使用具有「簡潔、經過妥善測試、文件化的 API 的小型模組來處理複雜性問題。
* 定義精確的 API 可以解決整合的複雜性,而且小模組的目的是讓程式更容易了解與使用。### 為什麼我們需要模組化 (模組化設計的優點 / 好在哪裡)
* 是處理複雜性的手段之一
* 改善可維護性### 為什麼學習寫模組化對你有好處?
* 你可以像廣大的世界學習
*
*
* 你可以跟別人一起合作
*
* 你可以用你的技能幫助別人
*
* 你可以得到別人的幫助### 什麼是好的模組,需要具備什麼?
* 一個好的 API 要遵循 CRUST 原則
* 一致(Consistent)
* 彈性(Resilient)
* 明確(Unambiguous)
* 簡單(Simple)
* 小巧(Tiny): 單一功能原則
* 最大限度地遵循所有的介面,向下相容
* 簡潔的介面
* 測試
* 使用說明書 (README)
* 描述功能
* 必要環境
* 安裝說明
* 使用說明 / 範例
* 許可宣告 (License)### 我的模組有哪些?
* 人人都可以是 maker,打照你的積木方塊。
*
*
*
*
*
*
*
*
*
*### 貢獻你的技能
**常見的模組型態**
* 組合型模組
*
* 包覆型模組
*
* 前端元件型模組
*
* plugin
*
* Hook / middleware
*### 如何開始建構你的模組?
**release 之前最少要提供什麼**
* 使用說明書
* 測試
* 範例**Tips**
* 不要急著做抽象化,等真正需求出現再開出 API。
* 拆分模組:可以先放入 /lib 資料夾中### 善用工具
* yarn workspaces
*
*
*
* lerna
*### 結語
* 你需要用到的,通常也是別人需要的。
* 整個世界都是你的練功場