---
title: "SITCON 2014 會後心得"
date: 2014-03-17T00:00:00+08:00
publishDate: 2014-03-17T09:51:00+08:00
lastmod: 2025-11-16T21:21:24+08:00
tags: ["心得","SITCON"]
permalink: "https://blog.aotoki.me/posts/2014/03/17/sitcon2014/"
language: "zh-tw"
---

分心了一整天，趕緊補一下 SITCON 2014 的心得啊（趴地

今年依舊是工作人員，各種意義上就是還是學生的時候就都奉獻給 SITCON 這樣的感覺拉～
只是今年同時也成為了講師，扣掉 Lightning Talk 之外，這是第一次上台講。

去年 COSCUP 在台上的時候，整個人是發抖狀態不能好好講完內容（面對可能有快千人的壓迫感可能真的不一樣）
這次一上台就是很淡定，只是速度很快，快到遭到會眾反映 XD

不過今年超累，所以除了主持之外幾乎沒有去聽其他議程（下午講完就累癱了 XD）
所以只好來補充一下我的 Talk 跟分享一下感想拉～

<!--more-->

{{< speakerdeck 2e8748108e480131d0af229be1ce8987 >}}

> 打開 Speakerdeck 右邊下載 PDF 就可以點連結拉（不能點不要激動啊！）

據說是 Code Review 議程，不過裡面只有提到一點點啊 XD

整個演講其實範圍很大，基本上 40 分鐘講完很難。做完簡報的時候我就發現，一張兩分鐘，很可怕的速度啊！
不過幸好是順利講完，不過代價就是速度有點太快。

我基本上分為五個方向去討論，儘量讓大家可以了解這些工具。

* 企劃製作
* 版本控制
* 編程風格
* 單元測試
* 線上協作

### 企劃
基本上，企劃製作我能說的就只能告訴大家「企劃必須寫」還有「企劃的用途」然後就沒了！
企劃這東西，過多或者過少其實都不好，依照專案的方向、規模去「調整」會比較適合。
（與其說是企劃，不如說是一種假想的草稿）

大致上，比較重要的作用有這幾個：

* 記錄想法
* 同步團隊成員意見
* 找出功能缺陷（在設計階段）
* 限制自己不要做多餘的功能（身為技術人的我就很喜歡這樣，適當的時候再放手去做這個會比較好）

### 版本控制
大概是五個方向中最困難的地方，不過很幸運的是這部分也很好上手學習。
這邊因為第一次 Demo 所以沒有注意到字太小的問題，另外就是被抱怨太快 XD

其實我主要是要讓大家了解「版本控制」的用途，並沒有要解釋使用方式所以加快了⋯⋯
（也許大家誤會了吧，簡報上列的是基本該學的技能）

關於這部分，重點大概就這幾項：

* 學一個版本控制
* 學一個版控流程 Ex. Gitflow
* 熟悉版本控制的用法

若要細說大概不知道會花掉多少時間，所以這邊一樣簡單帶過。
（如果真的有需要 Workshop 請告知 SITCON 我們會想辦法開來講 XD）

### 編程風格

這邊比較沒有梗（印象中）主要是提醒大家，很多時候難以團隊合作一部份的原因是沒有統一的編程風格。
像是我就看過有人用 `iCount` 這樣的寫法，前面的 `i` 表示 `int` 讓變數好分辨。
而變數的命名也會有 `user_count` 和 `userCount` 兩種習慣。

或者是說 `{` 該放在新行，或者是同一行等問題，當這些不統一的時候程式碼會很混亂。
（不管怎麼說，都不可能是一個人負責核心，剩下人各自寫各自的模組啊！）

另一方面，良好的編程風格我認為是可以成為一定程度的文件（語意化）這對內部開發溝通也應該會有幫助。

重點大概就是「團隊要有共識、統一編程風格」也許你一開始會不太習慣，不過習慣之後用複數的編程風格在不同專案中運作，是挺容易的（如果參照一些網路上的共同標準，那會相對輕鬆些。）

### 單元測試

其實我很不熟，因為我自己也是到最近才比較熟悉該怎麼寫。
然後忘記告訴大家怎麼寫 `Controller` 的測試，這是裡面最抽象的，因為要跟 `View` 一起討論。
不過當你的 `Controller` 需要和 `View` 一起討論才能寫出大部份的測試，這也表示你的 `Controller` 狀況並不好。

理想的狀況下 `Controller` 應該只會做把資料處理並且 Pass 給 `View` 或者 `Model`。

後面還有提到 CI (持續整合) 不過沒時間 Demo 一下跑過 CI 後自動 Deploy 到 Heroku 的範例。

### 線上協作

從這裡開始，會議室裡面笑聲就比較多了！與人接觸的部分果然是比較有趣的，所以「一個人是無法完成偉大的專案」還挺有道理的不是嗎 XD

大致上就是介紹 GitHub 與 Code Review 和 Pull Request 機制。
這部分就有不少梗，像是「外國人竟然說中文了！」「就跟他亂來，送 Pull Request 就對了！」「拿你同學練習啊！因為他不管怎樣還是得當你同學！」

之後就是 Q&A 其實那時候我已經抱走，所以都也跟會眾亂來。不過我還是有認真想過才回答拉。
不過印象中第一個問的會眾好像有提到 Framework 這邊補充一下就是「不管用啥，你用到很熟就是好工具」這樣的感覺 XD

### 心得

感覺今年整體素質提高很多（也許是人多的關係）而且其實說真的，講師今年似乎也讓大家很 High 而且 IRC 也非常歡樂（可惜我只上了一下就得下線 XD）

然後正妹似乎也變多的感覺，我當天早上怎麼想都想不通為啥這麼多正妹（遠望


