技術債就是一種債,只要是債都要連本帶利還

技術債就是一種債,只要是債都要連本帶利還

【不是只有本金】 相信大家在開發軟體產品時,都會提到技術債(Technical Debt)這個詞,大家都知道這個債總有一天要還,但是很容易忘了「利息」這件事,以為借 $100 只要還 $100, 但其實並不是。 事實是,你還要償還隨著時間進行「複利成長」的利息,因而很容易讓人不知不覺就碰到償債能力不足,導致破產的狀況。 【為什麼會產生技術債】 會產生技術債的原因有很多,其中一個原因是「想要展現超出自己目前能力範圍的東西」,就像有些人會有車貸、房貸的道理一樣。 【技術債中的利息是什麼】 我把技術債分成兩種:房貸跟高利貸 1%...
Google Test Adapter

Google Test Adapter

平常 C++ 的開發工具是 Microsoft Visual Studio,然後現在的測試框架是使用 Google Test,以前都是一邊寫,一邊手動執行 test case 來驗證,沒有辦法跟 VS 內建的 Test Explorer 做整合,真的蠻原始的 =.=最近因為 TDD 的關係,這樣子的開發環境真的太鳥了,所以認真研究了一下解決方案,發現了 Google Test Adapter 這個好東西:https://github.com/csoltenborn/GoogleTestAdapter很簡單,照著...
RIDE 中的雞肋功能 – Pause On Failure

RIDE 中的雞肋功能 – Pause On Failure

平常在使用 Robot Framework 時,通常會搭配 RIDE 來撰寫,整體而言算是個有幫助的 IDE 功具。有時侯在開發 UAT 時,會希望一但有錯誤就馬上停止執行,這樣可以馬上就定位到有問題的地方(keyword)。在 RIDE 中有一個 Pause On Failure 的功能,如字面所述,就是一旦有失敗,它就會進入暫停的狀態,但這個功能最大的問題就是:’Pause On Failure’ should ignore the keyword failure when using...

敏捷當中的 透明性 帶來什麼好處?

在 Scrum Team 中很強調 透明(transparency),這次跟大家分享的是 Developer Resource 透明化帶來的好處。傳統團隊在傳統的開發方法上,常常都是以”月”、”季”為時間單位,因此常會聽到 PM 說:可不可以再加這個 X 功能、這個 Y 功能,還有那個 Z 也順便加進來好了,這一季完成這些,應該沒問題吧?身為 developer 能拒絕他嗎?有點難,因為感覺一季的時間應該可以做蠻多事情的,就算你覺得不可以,PM也很容易這樣感覺:一季耶,三個月你竟然沒辦法幫我多做 X+Y+Z?在 Developer...

Qt/QML Performance Tuning #1

https://blog.qt.io/blog/2013/04/15/evolution-of-the-qml-engine-part-1/這一系列 QML engine 的文章(其實目前也只有一篇….)深入探討了 QML engine 的內部運作機制。Lars Knoll 指出了目前 QML engine 比較大的問題包括:Several object models也就是一個 QML item 必需有3個object models,分別存在於 V8 engine, QML engine, Native Qt...

應不應該用 UAT 做回歸測試?

「不要試圖覆蓋所有使用案例。Spec.不是用來替代組合回歸測試的。」 - Spec by Example 中文版 p.151但我們明明覺得現在用 Robot Framework 實現自動化 UAT 來替代組合回歸測試是很正確的做法,為什麼作者覺得這樣不對?我認為是因為作者在討論的是 Spec by Example ,或著說想用 ATDD 的方式來開發軟體,而一旦變成回歸測試,就失去了最初的目標了。但是..「Since your examples might serve as regression tests, you are...