iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
1
自我挑戰組

卡牌連線遊戲開發經驗分享系列 第 25

#24 今年的專案進步

  • 分享至 

  • xImage
  •  

今年的專案和之前的相比,進步的地方有:

  1. 使用了物件導向封裝了遊戲物件
  2. 使用 pyLinter 檢查自己寫的程式碼,code sytle 的部份
  3. 導入 gitHub 做專案管理
  4. 學習撰寫 commit message
  5. 學習透過重構改善自己的程式架構 (不過有點太早了)
  6. 學習為自己的專案撰寫測試案例 TDD
  7. 使用蕃茄鐘作為生產力管理工具

因為第一次使用 python 開發,所以稍微了解語法和封裝的辦法。

pyLinter 是根據 PEP 8 -- Style Guide for Python Code 程式碼風格指引製作出來的語法檢查程式。
當大家的格式規範都有共識時,我們就可以聚焦在 what to code 而不是 how to code。就像文章摻雜大量錯字的時候,其實很容易讓人失焦。 Linter 的功能就是在送出程式碼出去前,先對內容格式進行一次修正建議,讓大家的程式風格可以統一,這樣我們可以更專心去注意文章要表達的內容,而不是去數落對方的 code 格式不對、變數命名不符合規範…這一些之微末結的事情上。這是邁向社群開發的過程中,需要學習的工程師素養

gitHub 是管理專案常常會用的代碼託管、版本控制系統,一樣也是在社群開發中常常會使用到的工具。最著名的功能就是開分支、開發,然後合併。

commit message 也是社群開發的一種建議格式,讓其他人能夠在短時間了解你 commit 的更新重點。請參考《如何寫一個 Git Commit Message》

重構的部份其實是自己命名部份還不夠精準,可能程式寫到後面覺得程式架構不好,又修修改改好幾次。我覺得算是正常過程,但有把它記錄下來,這樣也比較清楚自己當時候為什麼要這樣子改。

TDD 是一個以測試案例作為驅動的開發風格,它會從需求出發,先描述案例(應用情境),然後一步一步勾勒出專案的功能,算是 Top-down 的開發方式。這樣可以開發出很穩定的功能,在程式更新時,務必要通過測試案例以確保你對程式的更動不會造成問題。

蕃茄鐘的部份是為了提高自己的生產力,然後在做專案回顧時,可以知道自己在開發過程中的瓶頸大概在哪裡?日後做專案時,比較能夠推估一個合理的專案開發進程。

其實會發現工程師在專案開發上也有許多嚴謹的紀律。因為開發專案的過程中,溝通是最消耗時間的成本。為了減少不必要的溝通、促進開發的效率,這些「共識」被寫下來成為「建議」。在社群中受到許多讚揚和推廣,變成專案開發中受到推崇的典範。

這些是我在今年的專案開發中學習到並且有應用的部份
接下來會再舉一些範例說明,明天見

//雖然很可惜在第24天斷賽,但我還是一樣會把後續系列完成的,同時也感謝觀看此系列到現在的你 :)


上一篇
#23 專案歷程:那是從你開始的故事阿
下一篇
#25 工欲善其事,必先利其器 - 談遊戲開發環境&多人連線管理
系列文
卡牌連線遊戲開發經驗分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
sixwings
iT邦研究生 4 級 ‧ 2019-10-10 00:06:00

第一次參賽可以寫到這裡,也算不錯了
剩下的篇幅,我會盡力補完

我要留言

立即登入留言