發表文章

目前顯示的是有「Software development」標籤的文章

Trello workflow

圖片
團隊開發的網頁遊戲 《末日少女》 已經上市快兩個月了,成績比當初想像中還好,相較於 Gu Morning ,這次《末日少女》的開發學到很多寶貴的經驗,稍微鬆口氣之餘,也有許多需要檢討改善的地方,而《末日少女》Mobile 版其實也已經開發好一陣子了,最近這個專案 只剩下我一個人 交到我手上負責,趁這個機會導入一些新的開發方式,也 PO 上來分享心得。 這篇文章會講什麼? HtpChat - 開發團隊的 Log 整合中心。 Trello - 團隊的專案管理小白板。 Git flow - 最佳程式開發流程。 Jenkins - CI(持續整合)建構工具。 HipChat HipChat 是一款跨平台團隊溝通工具,為了節省開會浪費的時間,通常會使用 Lync 或 Skype 這類通訊軟體,而 HipChat 除了該有的聊天功能,歷史查詢,附件上傳,@mentions 通知之外,最棒的是它可以整合許多服務,例如 GitHub , Heroku , JIRA 等,將所有開發上分散的訊息統一管理,方便團隊隨時瞭解狀況,而接下來這篇文章會講到如何整合 Trello , GitHub 和 Jenkins 。 Trello 不同於一般市面上複雜的專案管理軟體, Trello 是一個簡單易用的 Scrum board,之前 Development Tools 這篇文章有稍微介紹,而我目前就是使用它來管理新專案,試用兩個月下來,感覺還不錯。 Trello 主要由 Board,List 和 Card 組成,如上圖所示,目前我將開發板分成五個 List: Backlog - 所有企劃開出來的功能會集中在這個 Backlog List,並按照預計完成日期排序。 To Do - Backlog 中的功能如果已經準備好企劃文件和美術檔案,那卡片就會移到 To Do 待命。 Doing - 正在實作中的功能會從 To Do 移至 Doing,建議每個人只留一張卡片在這。 Done (vX.X.X) - 下一版要完成的功能,在 Doing 完成的卡片會移到 Done,待產品發佈後會從 Done 改為 Live。 Live (vX.X.X) - 已經上線的功能 List,可以隨時使用封存,讓開發板保持乾淨...

AS3 Class Enumeration

筆記筆記.. 一般在 AS3 要列舉 Object 的 properties 時,通常會用下面這種寫法: 不過在處理 VO (Value Object) 時則會出問題,因為它是 Class,後來在這篇 文章 找到解法:

Development Tools

圖片
不知不覺,這個月的文章還沒想好要寫什麼, 七月就過了... 這一篇我打算分享一些最近在關注的玩意兒。 Trello Trello 是 Joel 團隊開發,一個專案管理的工具,當然,他是雲端網頁,所以在任何地方都可以掌握團隊的專案進度。 Trello 可以使用 Google 的帳號登入,登入後可以根據專案的開發流程自訂專屬的 Board ,每個 Board 內可以貼上各個項目的 Card,並且可以和專案成員即時協作。 自己本身大概用過兩三套這種PMS的產品,Trello 簡單易用,一個人獨立開發使用也很方便,算是敏捷式開發上不可或缺的好工具。 影片介紹: 另外,Trello 也有提供 iPhone 的版本: Sublime Sublime 是一個很棒的程式碼編輯器,前一陣子在這篇  Which is the Best Code Editor? 得到很高的分數。 我用過之後也是愛不釋手,漂亮的配色,安裝容易的眾多外掛,不錯的開啟速度,總而言之,大力推薦!! 一些必不可少的Sublime Text 2插件 Sublime Text 2 实用快捷键 Cloud9 IDE C9 也是一個寫程式的好工具,可是跟 Sublime 不同的地方,它是雲端網頁版的編輯器。 C9 支援的語言也不少,甚至可以直接跑 Node.js ,並且也支援 Github 的 Repository clone。 不過這幾天用下來發現速度不理想,常常會進入 Offline 狀態。 Heroku Heroku 是一個雲端應用的 host 平台,支援的語言有  PHP Ruby Python Node.js。 Heroku 和 Facebook 合作,讓開發者開發 Facebook 應用程式的時候可以直接連結 Heroku 的空間,並且支援 Git ,目前初步試用下來感覺很不錯。 Travis CI Travis CI,顧名思義,是提供持續整合(Continuous Integration)和每日建構的服務。 不過目前還沒機會使用,所以還不是很清楚它的詳細內容。 Travis CI 可以結合 Github,讓你隨時知道專案的測試狀況。

讀書心得 約耳趣談軟體

圖片
以下是節錄一些這本書覺得還不錯的點 激勵是有害的, 主要是說考績制度對程式設計師是不通的 工作切換有害無益, 讓程式設計師只專注一件事情 絕對不能把程式碼重寫(這裡不是指重構) 冰山一角理論, 冰山有90%是在水面下, 大部分的軟體, 那些漂亮的使用者介面通常只占10%的工作, 而背後90%的程式設是看不到的, 如果再考慮一半時間都在抓蟲, 那使用者介面就只剩5%, 如果只計算介面中的視覺部分, 那客戶真正看到的, 只有1%......, 這並不是秘密, 真正的秘密是非程式人員根本不知道這件事...... 約耳測試: 你有使用原始碼控制系統嗎?  SVN, CVS, Git, Mercurial... 你能用一個步驟建出所有結果嗎? 準備一個Script擋, 只要執行這個腳本, 就能一次搞定從最新原始碼快照到自動建立釋出產品的過程 你有進行每日編譯嗎? 提交原始碼到版本控制系統前, 一定要編譯並且沒有出現錯誤, 因為別人也想下班 你有沒有問題資料庫? 記錄已知的Bug清單, 每筆Bug需記錄: 1.重現問題的完整步驟 2.應該看到的結果 3.實際看到的結果 4.被指派的負責人 你會先把問題都修好之後,才寫新的程式嗎? 愈晚修正問題, 之後付出的代價成本愈高 你有一份最新的時程表嗎? 程式設計師討厭排時程, 但牽扯到業務人員的決策規劃, 擁有時程可以強迫自己決定要作哪些功能, 並剔除不重要的功能, 以避免過度膨脹 1.使用一些PMS工具 2.時程表簡單就好 3.每個功能應該包含多項任務(Task) 4.只有實際要寫該程式的程式設計人員,才能排出該項目的時程 5.要把任務分的很細(以小時為單位) 6.紀錄最初和目前的估計 7.每天更新已消耗時間 8.把休假時間算進去 9.把除錯時間算進去 10.把整合時間算進去 11.把緩衝時間算進去 12.絕對不讓經理縮短估計時間 你有寫規格嗎? 例如: GDD TDD 又是一件程式設計師討厭的事情, 設計初期的階段還看不出來, 愈後期程式碼一多修正的代價就愈高, 應貫徹沒有規格就不寫程式的原則 程式設計人員有沒有安靜的工作環境? 需要讓程式設計師進入沈浸狀態(in the zone), 因為這時候是最能全神貫注, 生產力最高的狀態, 所以, 要有安靜的環境!!! 你有沒有用市面上...