写点什么

Coding Dojos:练习掌握软件开发的艺术

  • 2007-09-06
  • 本文字数:1363 字

    阅读完需:约 4 分钟

Coding Dojos(编码道场)为开发人员们提供了一个放松和舒适的环境,让他们磨砺自己开发技能的聚会之所。 Emily Bache 和其他人开始在一个 Wiki 上记录“道场”的内容,大家可以从Wiki 中的内容开始了解Coding Dojos。

Dave Thomas 介绍了什么是“ Code Kata(代码之‘形’)”(译注:Kata 来自日语,对应的汉字为“形”或者“型”,常用在日本技击中,如柔道、空手道、合气道及剑道等,指套路。这里用来指代代码练习中的形式),并且记录了 21 种可以用来磨砺我们编程技能的不同“形”。他解释了通过这样的方式来进行学习的原因:

你怎么样才能成为一个伟大的音乐家?了解音乐理论以及你的乐器的运作机理,这样做是有帮助的。有天分也能帮你成为音乐家。不过,追根问底,伟大来自持续不断的练习;反复应用相关理论,并根据每次得到的反馈来不断提升自己的水平。你怎么样才能成为一个全明星运动员呢?当然,好的身体和天分会起到辅助作用。但是伟大的运动员们每天都会花费数小时进行训练。

但是在软件行业中,我们给开发人员们培训完理论之后,就直接把他们扔到实际的项目中去了。这就像找来一帮身体很棒的小伙子,直接跟他们说,他们要用四节的比赛时间来击败 Redskin 橄榄球队(译注:一只美国橄榄球大联盟 NFL 球队)(嘿,我们是按照目标进行管理的,对吧?)。在软件行业里,我们直接在工作中进行练习,这就是为什么我们工作中总是犯错误的原因。我们要找到将日常练习与职场工作分开的方式。我们需要练习课程。

Coding Dojos 就是这样一个供人们聚集在一起进行“形”练习的场所。InfoQ 问到 Emily Bache 关于 Coding Dojos 的受众问题,她回应道:

我认为只要是希望提升自己编码技能的人,特别是在测试驱动开发的领域中的人,都应该尝试一下 Coding Dojos。这不是什么新创意了,多年以来,一直存在着互相分享学习经验的用户组和学习圈子聚会,Coding Dojos 不过是在建立同一个想法上的新的视角。几年前,我曾是一个设计模式学习组的成员,Dojo 只是对老主意的一个新包装而已。一帮希望提升自己技能的人,聚在一起,互相学习,并且很享受这样的过程。

这种技术的前提是:熟能生巧;形成专业技能的关键,是仔细的练习,而不是纯粹靠天赋。通过对同一个小问题的反复研究,你会发现自己时常有灵光迸发之感,自己的设计和编码技能也从而得到提升。 Bob 大叔在参加完 Laurent Bossavit 的一个关于 Coding Dojos 的演讲之后,曾说道:

我现在已经反复地做一个“形”好些年了,并且完成了它上百遍。在会议中,客户那里,商业秀等等场合,我都会去完成它。这就是保龄球游戏。由于做的次数太多,我在睡觉时都可以把它解决掉。不过有趣之处在于,我仍然能够获得微小的改进。这并不经常发生,而且改进的幅度也不大,但是确实有进步。

所以,代码之“形”的练习可以一个人做,也可以一组人一起做,来提升我们的编程技能。Coding Dojos 提供了一个有趣而舒适放松的环境,让大家可以一起进行练习。不过这些需要占用我们朝九晚五之外的业余时间来完成。

查看英文原文: Coding Dojos to Master the Art of Development - - - - - -

译者简介:郑柯,目前任职《程序员》杂志社高级编辑,有志于在中国的软件开发业界推广 Agile 的理念和方法论,笃信以人为本,关注 Ruby,关注敏捷,关注人。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-09-06 21:30758
用户头像

发布了 479 篇内容, 共 152.4 次阅读, 收获喜欢 47 次。

关注

评论

发布
暂无评论
发现更多内容

软件测试学习笔记丨Python中执行pytest

测试人

软件测试

盘点|《数据安全法》的26部配套立法(附下载)

极盾科技

数据安全

云PBX的介绍

ctsxiyou

通信 通讯 云pbx 云通讯

AWE2024,中国家电智能化的《山海经》

白洞计划

智能家居

如何用云手机运营Facebook账号

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 跨境云手机

云原生最佳实践系列2:基于 MSE 云原生网关同城多活

阿里巴巴云原生

阿里云 云原生 云原生网关

Solidity案例详解(六)食品溯源合约

BSN研习社

区块链 Solidity

数据中台应具备哪些功能?

京东科技开发者

亚马逊云科技与英伟达扩展合作 持续推进生成式AI创新

财见

Hybird App开发,纯血鸿蒙系统兼容救星

Geek_2305a8

深入理解Sora技术原理

得物技术

AIGC sora

海外云手机如何帮助亚马逊引流?

Ogcloud

云手机 海外云手机 云手机海外版 电商云手机 跨境云手机

个人开发App成功上架手机应用市场的关键步骤

雪奈椰子

面试官:Kafka和ES选主有什么区别?

王磊

Java 面试

东郊到家服务系统开发

l8l259l3365

【AAAI 2024】M2Doc:文档版面分析的可插拔多模态融合方法

阿里云大数据AI技术

鸿蒙HarmonyOS实战-工具安装和Helloworld案例

不在线第一只蜗牛

HarmonyOS 鸿蒙开发 鸿蒙系统

小程序应用市场的发展演变

FinFish

应用市场 小程序应用市场 移动应用市场

Debezium vs OGG vs Tapdata:如何实时同步 Oracle 数据到 Kafka 消息队列?

tapdata

同步 Oracle 数据到 Kafka Oracle 到 Kafka Kafka 数据同步方案 Oracle 数据同步工具

生成大边界不重复随机整数

waitmoon

伪随机函数 随机数

[每日秒懂] 软件工程

dinstone

DevOps 敏捷开发 软件工程 持续交付 持续部署

如何在Docker容器启动时自动运行脚本

华为云开发者联盟

Docker 开发 华为云 华为云开发者联盟

倒排索引关键点普及

京东科技开发者

如何借助API提升产品设计的用户体验

Noah

万界星空科技商业开源MES,技术支持+项目合作

万界星空科技

开源 mes 开源mes 万界星空科技 商业开源

海外客户获取难?海外云手机助力电商营销引流!

Ogcloud

云手机 海外云手机 云手机海外版 电商云手机 跨境云手机

软件测试学习笔记丨Pytest–Fixture特点及优势

测试人

软件测试

得嘞,分页插件PageHelper返回记录总数total竟然出错了!

京东科技开发者

体育赛事直播平台:开发新增短视频模块,影响竟然这么大

软件开发-梦幻运营部

.NET开源免费的Windows快速文件搜索和应用程序启动器

EquatorCoco

C# .net 开源

三款.NET代码混淆工具比较分析:ConfuserEx、Obfuscar和Ipa Guard

雪奈椰子

Coding Dojos:练习掌握软件开发的艺术_研发效能_Amr Elssamadisy_InfoQ精选文章