軟件匠藝 Software Craftsmanship

軟件匠藝 Software Craftsmanship

前言

Martin大叔的新書《敏捷整潔之道》(Clean Agile)出版了,趕緊入手了一本,一口氣讀完,感慨良多。

在該書中,Martin大叔作爲《敏捷宣言》發起人之一,結合自己50年軟件從業經驗,歷數了敏捷20年之怪狀。一言概括,缺乏技術實踐。

敏捷形式化,DevOps工具化,唯獨缺少了極限編程實踐。

在2008年,開發者們在《敏捷宣言》的基礎上發起了軟件匠藝(Software Craftsmanship)活動,併發布了《軟件匠藝宣言》。

非常可惜,直到今天(2020年)我才知道軟件匠藝(Software Craftsmanship)。我想還有非常多的人不瞭解它,因爲它是開發人員發起的另一項運動。但是與敏捷不同,這裏沒有Scrum,沒有看板,沒有迭代,沒有計劃會議,沒有評審會議和回顧會議,沒有敏捷教練和項目管理人員“聽得懂”的詞,也沒有認證機構和培訓機構可以牟利的空間,所以它沒有火起來。但是,對開發人員來說,《軟件匠藝宣言》是對自己的修行,激勵自己作爲軟件開發的專業人士來工作,與客戶緊密合作併爲客戶提供優質服務,其它專業人士合作,打造專業人士社區,不斷提升專業技能,不斷追求卓越。

軟件匠藝宣言

作爲有理想的軟件工匠,我們一直身體力行,提升專業軟件開發的標準,並幫助他人學習此工藝。通過這些工作,我們建立了如下價值觀:

不僅要讓軟件工作,更要 精益求精

不僅要響應變化,更要 穩步增加價值

不僅要有個體與交互,更要 形成專業人員的社區

不僅要與客戶合作,更要 建立卓有成效的夥伴關係

也就是說,左項固然值得追求,右項同樣不可或缺。

參見:

軟件匠藝倡導的實踐

軟件匠藝社區以極限編程實踐作爲最佳實踐,鼓勵:

更多極限編程實踐參見:

還鼓勵學習和實踐:

  • 微服務架構設計
  • 搭建CI/CD持續部署流水線
  • 把系統遷移上雲
  • 使用容器和容器雲
  • 學習多種編程語言和編程範式
  • 自動化測試
  • 自動化系統運維
  • 新技術和新方法

相關書籍

  • 《解析極限編程:擁抱變化》
  • 《敏捷整潔之道:迴歸本源》
  • 《重構:改善既有代碼的設計》
  • 《代碼整潔之道》
  • 《持續交付:發佈可靠軟件的系統方法》
  • 《DevOps實踐指南》

Code Kata

如何避免“眼會手不會”,或者“字幕人均XX大師”,最好的做法就是重複練習一些簡單的動作(日語:kata),來自日本空手道的套路練習。

編程是一門”眼腦手“的匠藝。

  • 只靠看祕籍,而不去練習功夫,不可能成爲一名高手。
  • 只靠看琴譜,而不去練習指工,不可能成爲一名音樂家
  • 只靠看菜譜,而不去練習刀工火候,不可能成爲一名大廚。

如果能堅持每天1小時的Code Kata (編程練習),練到爐火純青,融會貫通,就能不斷提升升自己的實戰水平。

Code Kata收集:

與Leetcode刷題不同,Kata練習得不是死記硬背幾個算法,而是探索更好的方法來解決現實世界的問題,雖然簡單,但是如果練習到爐火純青,融會貫通,則威力無窮。

另外一篇關於更好地做Code Kata(或更好地提升編程技能)的文章:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章