写点什么

专栏:代码之丑——开篇

  • 2010-11-16
  • 本文字数:688 字

    阅读完需:约 2 分钟

我是一个程序员,也是一个咨询师。

成为咨询师之后,我有机会在不同的项目中穿梭。同客户合作的过程中,我经常干的一件事是:code diff,也就是用源码管理工具的 diff 功能把当天全部修改拿出来,从编码的角度来分析代码写得怎么样。

因为这个工作,我看到了许多不同人编写的代码,我的编码底线不断受到挑战。许多东西,我以为是常识,但实际上不为许多人所知。比如,下面这段代码,你会做何感想?

复制代码
if(db.Next()) {
return true;
} else {
return false;
}

有的人会想,怎么写得这么笨啊!但是,请放心,绝对会有人这么想:挺好的,实现功能了。这并非我臆造出的代码,而是源自一个真实的 codebase。

这些代码的存在,给了我很多机会与人分享一些编码的心得。其间,有人建议,为什么不能把你说的这些内容写下来,与更多人分享。于是,有了这个即将看到的系列:《代码之丑》,以此向《代码之美》致敬。

最后要说的是,上面那段代码可以写成这样:

复制代码
return db.Next();

作者简介:

郑晔,ThoughtWorks 公司咨询师,拥有多年企业级软件开发经验,热衷于探索各种程序设计语言在真实软件开发中所能发挥的威力,致力于探寻合理的软件开发方式,加入 ThoughtWorks 公司后,投入到敏捷开发方法的实践之中,为其他公司提供敏捷开发方法方面的咨询服务。他的 blog 是梦想风暴

查看原文:代码之丑(零)

【编者按】:这是 InfoQ 中文站新推出的专栏栏目。专栏旨在邀请国内一线的技术领域专家,定期撰写发表连载专栏,从深度和质量上为国内的技术从业者提供专业性、持续性的知识分享。这个《代码之丑》专栏计划推出系列共十篇,敬请期待后续精彩内容。也欢迎向 InfoQ 中文站推荐专栏作者及内容

2010-11-16 03:0010472
用户头像

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

关注

评论

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

诊所数字化:连锁型诊所应用远程会诊做分级诊疗

boshi

数字化医疗 七日更 28天写作

日记 2021年2月25日(周四)

Changing Lin

2月春节不断更

3分钟学会如何上手supervisor看门狗

happlyfox

Linux centos7 28天写作 2月春节不断更

【文末彩蛋】数据仓库服务 GaussDB(DWS)单点性能案例集锦

华为云开发者联盟

sql 数据仓库 数据

华为云“网红”语言Python课程来啦!

华为云开发者联盟

Python

开工来面试了几十个人,一言难尽

yes

面试

添加小助理vx:mxzFAFAFA即可!!

比伯

Java 编程 架构 面试 计算机

可能是Java Stream的最佳实践(二)

ES_her0

28天写作

2021金三银四涨薪季,这些面试题都掌握了嘛?

ios 面试

安卓软件开发教程!全世界都在问Android开发凉了吗?offer拿到手软

欢喜学安卓

android 程序员 面试 移动开发

安卓天气app开发!2021年Android开发者跳槽指南,社招面试心得

欢喜学安卓

android 程序员 面试 移动开发

Centos7配置librdkafka运行时

happlyfox

Centos 7 28天写作 2月春节不断更

到底什么是敏捷

Teobler

敏捷 敏捷开发 敏捷精髓 敏捷书籍

常见的初级排序算法,这次全搞懂

Silently9527

Java 排序算法

使用Kong作为微服务网关

行者AI

kong

Oracle sqlldr快速导入和sqluldr2快速导出

阳光下、慵懒的熊

数据库

LeetCode题解:718. 最长重复子数组,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

第一篇文章

棉花糖

国产芯片WiFi物联网智能插座—项目简介

不脱发的程序猿

物联网 28天写作 二月春节不断更 WiFi物联网插座 智能插座

DCache 分布式存储系统|K-K-Row 缓存模块的创建与使用

TARS基金会

MySQL 数据库 nosql 分布式存储 TARS

简述:一款优秀的缺陷管理系统有哪些功能特点!

优秀

缺陷管理系统

2021版面试必问178条性能优化建议!(Java+JVM+Redis+MySQL等)

Java架构追梦

Java 架构 面试 性能优化 金三银四跳槽

国产芯片WiFi物联网智能插座—电源功能设计

不脱发的程序猿

28天写作 二月春节不断更 智能插座 WiFi物联网智能插座 电源设计

研发效能的历史和未来

李小腾

研发效能 数据驱动

魔改出一个 Encoder | Rust 学习笔记(一)

李大狗

区块链 rust 入门

技术干货 | 中间件技术在百度云原生测试中的应用实践

百度开发者中心

底层技术 #技术干货#

话题讨论 | 英语对IT从业人员重要吗?

happlyfox

IT 话题讨论 28天写作 2月春节不断更 话题王者

Git教程--git merge命令

生之欢愉,时间同行

git 程序员 git merge

教你如何在Python中读,写和解析CSV文

华为云开发者联盟

Python csv

技术干货 | 趣谈哈希表优化:从规避 Hash 冲突到利⽤ Hash 冲突

百度开发者中心

算法 数据结构和算法

话题讨论 | 在中国程序员工作是青春饭吗?

happlyfox

话题讨论 2月春节不断更 话题王者

专栏:代码之丑——开篇_Java_郑晔_InfoQ精选文章