---
# System prepended metadata

title: 在進開發前你應該要會的...

---

# 在進開發前你應該要會的...
## github flow
> 這個很重要，如果未來要當工程師你一輩子都會用到

開 branch
commit... commit... commit...
push
在 github 上發 PR
等待 CICD 過了之後再 merge 進 master

## 基礎篇
  - React
    https://zh-hant.reactjs.org/docs/hello-world.html
    > 重點在於 props/state 以及 lifecycle 的概念
  - redux
    > 剛開始寫 react 就會發現 需要由 children 去控制上層時要用到 callback 之類的方法 但其實這種操作不僅麻煩 還算是 anti-pattern 的行為 所以需要有可以操作的全域變數 也就是 redux
    > 這部分程式碼不難 但**觀念很重要**
  
    https://redux.js.org/basics/basic-tutorial
    > 我先前是看這個的，跑過一次就會對整個流程比較有概念
    > middleware 的部分我們用 redux-observable 如果不喜歡 rxjs 的可以拔掉，換成 thunk 會比較簡單
  - typescript https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html
    > 目前專案是用 ts 寫的，可以想成變成強型別的 js
    > 微軟出的 缺點是有時候 compile 很慢

## 套件篇
  - styled-component
    > 這部分直接看扣比較快，css的部分應該大家都會寫
  - react-final-form
    https://final-form.org/docs/react-final-form/getting-started
    > 這套件我最近才剛碰，但比起前一代的 redux form 友善很多
    > 可以看他的文檔 我覺得蠻清楚的
  - nextJS
    https://nextjs.org/learn/basics/getting-started
    > 主要是在講這個框架的一些規範
    > 正所謂 convention over configuration 乖乖遵守就對了
  - draftJS
    https://draftjs.org/docs/quickstart-api-basics
    > 基於 immutable 的富文本編輯器，FB出的套件，我覺得還蠻複雜的 畢竟 immutable 操作起來有夠麻煩 範例都在官網上
