代码猴子与童子军军规

2007年3月,我在SD West 2007技术大会上聆听了Robert C. Martin(Uncle Bob)题为Craftsmanship and the Problem of Productivity: Secrets for Going Fast without Making a Mess的主题演讲。一身休闲打扮的Uncle Bob,以一曲嘲笑低水平编码者的Code Monkey(代码猴子)开场。

 

是的,我们就是一群代码猴子,上蹿下跳,自以为领略了编程的真谛。可惜,当我们抓着几个酸桃子,得意洋洋坐到树枝上,却对自己造成的胡乱熟视无睹。那堆“可以运行”的乱麻程序,就在我们的眼皮底下慢慢腐坏。

从听到那场以TDD为主题的演讲之后,我就一直关注Uncle Bob,还有他在TDD和整洁代码方面的言论。去年,人民邮电出版社计算机分社拿一本书给我看,封面上赫然写着Robert C. Martin的大名。看完原书序和前言,我已经按捺不住,接下了翻译此书的任务。这本书名为Clean Code(《整洁代码》),乃是Object Mentor(Uncle Bob开办的技术咨询和培训公司)一干大牛在编程方面的经验累积。按Uncle Bob的话来说,就是“Object Mentor整洁代码派”的说明。

 

正如Coplien在序中所言,宏大建筑中最细小的部分,比如关不紧的门、有点儿没铺平的地板,甚至是凌乱的桌面,都会将整个大局的魅力毁灭殆尽。这就是整洁代码之所系。Coplien列举了许多谚语,证明整洁的价值,中国也有修身齐家治国平天下之语。整洁代码的重要性毋庸置疑,问题是如何写出真正整洁的代码。

 

本书既是整洁代码的定义,亦是如何写出整洁代码的指南。Uncle Bob认为,“写整洁代码,需要遵循大量的小技巧,贯彻刻苦习得的‘整洁感’。这种‘代码感’就是关键所在。……它不仅让我们看到代码的优劣,还予我们以借戒规之力化劣为优的攻略。”作者们阐述了在命名、函数、注释、代码格式、对象和数据结构、错误处理、边界问题、单元测试、类、系统、并发编程等方面如何做到整洁的经验与最佳实践。长期遵照这些经验编写代码,所谓“代码感”也就自然而然滋生出来。更有价值的部分是Uncle Bob本人对三个Java项目的剖析与改进过程的实操记录。通过这多达三章的重构记录,Uncle Bob充分地证明了童子军军规在编程领域同样适用:离开时要比发现时更整洁。

接触开发技术十多年以来,特别是从事IT技术媒体工作六年以来,我见过许多对于代码整洁性缺乏足够重视的开发者。不算过分地说,这是职业素养与基本功的双重缺陷。我翻译《C#编程风格》(已由人民邮电出版社出版)和《整洁代码》,实在也是希望在这方面看到开发者重视度和实际应用的提升。

 

在《整洁代码》结束语中,Uncle Bob提到别人给他的一条腕带,上面的字样是Test Obsessed(沉迷测试)。Uncle Bob“发现自己无法取下腕带。不仅是因为腕带很紧,而且那也是条精神上的紧箍咒。……它一直提醒我,我做了写出整洁代码的承诺。” 有了这条腕带,代码猴子成了模范童子军。我想,每位开发者都需要这样一条腕带吧?

 

(《整洁代码》中文版一书即将由人民邮电出版社推出。)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
scratch猴子吃香蕉代码是一种基于图形化编程语言的方式,让孩子们能够轻松理解和编写代码。下面是一个用scratch编写的猴子吃香蕉的简单代码: 首先,我们需要画出猴子和香蕉,可以在scratch的绘画区域中使用相应的图形工具进行绘制。 接下来,我们需要设定猴子的初始位置,可以通过把猴子的x和y坐标设定为屏幕中央,使它出现在屏幕正中央。 然后,我们需要设置猴子的行动。我们可以使用一些控制块来实现猴子的行为。比如,使用“当猴子接触到香蕉时”这个事件块,让猴子能够察觉到香蕉的存在。 接下来,在该事件块中,我们可以添加一个“向前移动10步”的动作块,让猴子能够向前移动10个像素。这样,当猴子接触到香蕉时,它将向前移动一小步。 最后,我们还可以在猴子吃到香蕉时,添加一个“播放音效”或者“跳舞”的动作块,以增加乐趣和互动性。 这样,我们的猴子吃香蕉代码就编写完成了。当我们点击“运行”按钮后,猴子将在屏幕上出现,并且向前移动,直到它接触到香蕉。接触到香蕉后,猴子会执行相应的动作,例如播放音效或跳舞,以增加用户的互动体验。 通过使用scratch猴子吃香蕉代码,孩子们可以通过简单的拖拉动作块的方式,实现一个有趣的互动场景,提高他们的创造力和逻辑思维能力。这也是scratch这一编程语言的主要目的之一,鼓励儿童学习和参与创作编程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值