写点什么

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:30833
用户头像

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

关注

评论

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

首届玄铁 RISC-V 生态大会上海举办 龙蜥操作系统持续深度参与标准共建

OpenAnolis小助手

芯片 risc-v 龙蜥操作系统 平头哥 生态大会

基于Mindspore2.0的GPT2预训练模型迁移教程

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

“鼎新杯”案例精选 | 中国联通数字化研发低代码平台为一线赋能

信通院IOMM数字化转型团队

低代码 数字化转型 中国联通

AI脸部美容,一键让你变瘦变美变老变年轻

极客飞兔

php Python AI PaddleGAN 人脸编辑

从代理机制到Spring AOP,这篇给你安排得明明白白的

做梦都在改BUG

Java spring aop 代理机制

AI+人类,实现高效网络安全

HummerCloud

人工智能 网络安全

CI/CD | 不可忽略的Jenkins基础架构修复问题

龙智—DevSecOps解决方案

ci cicd jenkins CI/CD CloudBees

思码逸任晶磊:ChatGPT 时代的软件研发数据与效能提升

思码逸研发效能

机器学习 研发效能 ChatGPT

Atlassian Server用户新选择 | 云版和本地部署的数据中心版,总有一个适合您

龙智—DevSecOps解决方案

迁移 Server Atlassian

柏拉图会反对ChatGPT吗?~深度好文| 社区征文

李韧

人工智能 ChatGPT

基于 Flink 流计算实现的股票交易实时资产应用

Apache Flink

大数据 flink 实时计算

联合解决方案 | 亚信科技AntDB数据库携手浪潮K1 Power赋能关键行业数字化转型,助力新基建

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库 企业号 3 月 PK 榜

隔离级别+事务+连接池+锁

hasWhere

镭速传输是如何管理大文件跨国传输的

镭速

web3 NFT代币铸造盲盒抽奖质押dapp游戏系统开发智能合约技术分析

开发微hkkf5566

CleanMyMac4.20汉化免费版Mac清理工具

茶色酒

CleanMyMac4.20

GitHub上线重量级分布式事务笔记,再也不怕面试官问分布式了

小小怪下士

Java 程序员 分布式 分布式事务 后端

vivo全球商城:库存系统架构设计与实践

vivo互联网技术

系统架构 电商 库存

课程作业及比赛任务,已支持 Notebook 内直接提交|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 canvas 模型管理

详解命令模式本质及其在高复杂调用中的实践案例

阿里技术

设计模式 命令模式

关于加解密、加签验签的那些事 | 得物技术

得物技术

java

研讨会回顾 | Perforce发布数字资产管理工具Helix DAM,帮助您按时按预算交付虚拟产品

龙智—DevSecOps解决方案

版本控制 数字资产 游戏开发 数字资产管理 芯片研发

Oracle ASM磁盘组配置、日常运维、故障处理等操作资料汇总

墨天轮

数据库 oracle asm 磁盘管理

数据标注工具,多维度体验优化|ModelWhale 版本更新

ModelWhale

人工智能 标注 标注工具 团队协同 模型管理

DTO、VO、BO、PO、DO的用法区别,居然这么多人搞不清楚.....

程序知音

代码质量与安全 | SAST与DAST有什么区别?

龙智—DevSecOps解决方案

klocwork SAST DAST 静态应用程序安全测试 动态应用程序安全测试

DBT 收购 Transform,指标平台已成现代数据栈关键拼图

Kyligence

数据分析 指标管理

你没有必要完全辞去工作

宇宙之一粟

创业 个人成长 思维方式 工作 打工人

云图说丨Astro Canvas一站式数据可视化开发,分钟级构建业务大屏

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

从“13天”到“0天”延时,揭秘火山引擎DataLeap SLA保障最佳实践

字节跳动数据平台

大数据 数据治理 数据研发 企业号 3 月 PK 榜

FL Studio21最新版DAW数字音频工作站

茶色酒

FL Studio FL Studio 21

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