歡迎來到每週三「點D紀錄」。
在這裏固定每週分享,1個Node.js開源專案,2篇中英文技術文章,3句軟體開發名言。
1個Node.js開源專案
I. reSolve
今天來跟大家分享,一個Node.js框架,號稱「CQRS」、「DDD」、「Event Sourcing」的框架。我覺得蠻有趣的,一開始我是透過DDD的國外分享文章無意間看到的,但當時的部落格文章發現是2020年的我以爲目前維護頻率比較低,但仔細一看他的release,真是相當的頻繁啊!找時間玩玩看,有點心得之後與大家分享。
(我知道有些人會認為DDD不是一個框架。對,我認同,但我認為我們可以透過原始碼去了解DDD怎麼去實踐與應用)
來源:https://reimagined.github.io/resolve/
2篇技術文章分享
I. Change
文中描述「軟體的成本」,我覺得這是一個很有趣的題目。我自己也沒有很深刻的思考過軟體成本這件事情。
Kent Beck說:「軟體的總成本=軟體初次成本+軟體改動成本,而軟體改動成本=了解軟體成本+改動成本+驗證成本+部署成本」
請問大家知道要怎麼降低軟體開發成本了嗎?
Source: Change
II. Solving: How to test APIs with Gherkin? (#GivenWhenThenWithStyle – Challenge 21)
長文慎入啊!
文中描述許多開發者在測試API的階段,會不知道該怎麼去撰寫GivenWhenThen。作者給予四種選擇來撰寫GivenWhenThen的語法,透過投票的方式調查一下大家普遍偏好哪一種?我個人在撰寫GivenWhenThen其實是第一種「列出完整的JSON」。
文中描述出四種選擇寫法的方式。我個人認為非常有趣,不過可惜的是,沒有足夠多的範例讓我去比較這四種寫法的明確差異,我只能說身為工程師「寫作力」是必須的呀。(當工程師好難)
Source: Solving: How to test APIs with Gherkin? (#GivenWhenThenWithStyle – Challenge 21)
3句軟體開發金句
I.
"The secret to software architecture: Don’t cross the streams."
Clean Code 作者:Uncle Bob Martin
來源: Twitter
II.
“You mean you don't stage the software?" I asked him. "You don't test it?"
"Why should we? Everything we do is live all the time, always new, minute by minute.This is the Web! Code it, post it, run it, change it, run it again.”
The Bug 作者:Ellen Ullman,
III
“Clean code always looks like it was written by someone who cares”
Michael Feathers
Working Effectively with Legacy Code. 作者:Michael Feathers
如果你喜歡這一份電子報,分享給你的朋友吧!
我們下週見。
鄭棋文 Steven Cheng