软件匠艺 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(或更好地提升编程技能)的文章:

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