聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

四月 11, 2015

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» Git Flow and JavaScript Coding Style

github-logo

Git 已經是每日必備使用的指令,在平常工作上常常使用到 git rebasegit merge,發現很多工程師不知道什麼時候該用 rebase 什麼時候該用 merge,所以做了底下投影片來清楚描述 git rebase 及 merge 的優缺點及使用時機。

Git Flow and JavaScript Coding Style from Bo-Yi Wu

此投影片最主要的目的是要讓工程師善用 git rebase 而不是濫用 git merge,無意義的 merge 會讓整個分支線看起來非常亂,以我在 github 跟其他 open source project 上面 review 看到的問題,只要是 PR 內有任何衝突,一律會請開發者 rebase 主分支,並進行 squash commit,所以對我而言,開發新功能或解 bug 會用到的都是 git rebase,幾乎很少的情況會使用到 git merge。附上兩個比較的線圖,清爽度看起來就是有所不同。

git merge

git_merge

git rebase

git_rebase

如上圖比較發現如果自行開發的 branch 常用 git merge 方式合併主分支,就會多出很多無意義的分支。投影片最後討論到 JavaScript Coding Style 問題,相信在團隊合作之間,務必要制定 Coding Style 規範,透過 JSCS 來制定,而常用的 JSCS Rule 可以在 node-jscs 找到像是 Google jQuery Grunt Airbnb .. 等規範,而我個人比較推崇 Airbnb JavaScript Style Guide,因為新進人員可以快速看完整個 Style Guide 文件,非常完整,團隊可以不用再額外寫任何範例,只要針對文件增加或減少條件即可。

三月 28, 2013

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» 統一開發者編輯器 Coding Style

在多人開發專案時候,一定會遇到大家使用的編輯器大不相同 TextMate, Vim, Sublime Text 2, Geany, Notepad++…等,該如何統一程式碼的一致性呢?這邊要講得不是各種語言的 Coding Style,而是編輯器的設定,例如大家一定會遇到有的開發者使用 Tab 另外一群人使用 Space,在同一專案裡面就會發現有的 tab 有的 space,這樣看起來非常的亂,該如何統一大家的預設 indent style,就是要使用 EditorConfig 啦。使用方式很簡單,可以在專案目錄內加入 .editorconfig 內容設定如下

; EditorConfig is awesome: http://EditorConfig.org

root = true ; top-most EditorConfig file

; Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

; 4 space indentation
[*.py]
indent_style = space
indent_size = 4

; Tab indentation (no size specified)
[*.js]
indent_style = tab

; Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

設定方式真的很簡單,如果是 Makefile 可以加入底下

[Makefile]
indent_style = tab

設定完成,最後只要裝上編輯器的 Plugin 即可,可以參考這裡,目前支援編輯器如下

如果開發者沒有使用上面的編輯器,那可能需要請他更換了,或者是設定該編輯器設定了。

七月 21, 2012

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» 寫出好維護的 PHP 程式碼

今天有機會到台中幫創業團隊制定 PHP Coding Style,相信程式設計師每天花最多時間的就是 maintain code 了,如何寫出大家都易於維護的程式碼,必須先制定團隊的 coding style 為首要目標,底下分享個人推薦的寫法給大家參考,希望對於未來維護,轉移程式碼或教育訓練剛起步的團隊有些幫助。

Maintainable PHP Source Project from Bo-Yi Wu

Related View

support:

biggo.com.tw

biggo.sg

A Django site.