写点什么

专栏:代码之丑——开篇

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

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

关注

评论

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

产品经理:实现一个微信输入框

南城FE

JavaScript 微信 前端 交互 输入框

直播平台开发协议分析篇(一):会话初始化协议SIP

山东布谷科技

软件开发 SIP 源码搭建 直播平台开发 会话初始化协议

[BitSail] Connector开发详解系列三:SourceReader

字节跳动数据平台

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

软件测试 | 修改特定的元素属性

测吧(北京)科技有限公司

leetcode22_Valid_Parentheses_有效的括号

okokabcd

LeetCode

注册与充值操作手册

zhizhi

AI azure openai AIGC zhizhi

数据安全架构总结及案例分享

I

安全架构师 架构设计 数据安全 安全架构

SpringBoot3集成RocketMq

RocketMQ springboot SpringBoot3

从0开始学Java——抛出和声明异常的代码实现

java易二三

Java 程序员 计算机 科技

WPS Office AI实战总结,智能化办公时代已来

MavenTalker

Microsoft 365 Copilot WPSAI

软件测试 | web跟踪元素属性

测吧(北京)科技有限公司

测试

搜文本搜位置搜图片,1小时玩转Elasticsearch

阿里云大数据AI技术

软件测试 | 使用WebScarab观察实时的POST数据

测吧(北京)科技有限公司

测试

数跨新阶,原生新纪 | 2023 数字化转型发展大会蓄力启航

信通院IOMM数字化转型团队

数字化转型 大会 IOMM 数字化转型峰会

软件测试 | 计算散列值

测吧(北京)科技有限公司

测试

分布式可视化 DAG 任务调度系统 Taier 的整体流程分析

袋鼠云数栈

大数据 开源 Taier

软件测试 | 使用TamperData观察实时的响应头

测吧(北京)科技有限公司

测试

软件测试 | 使用以URL方式编码的数据

测吧(北京)科技有限公司

测试

ARTS 打卡第 1 周: Jackson如何自定义属性的序列化策略

前行

#Jackson #正则表达式 #IDEA高效使用技巧

【直播合集】HDC.Together 2023 精彩回顾!收藏勿错过~

HarmonyOS开发者

HarmonyOS

软件测试 | 查看隐藏表单域

测吧(北京)科技有限公司

测试

CutLER:一种用于无监督目标检测和实例分割的方法

华为云开发者联盟

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

ARTS 打卡第 7 天

自由

ARTS 打卡计划

Presto 设计与实现(二):一切从 0 开始?

冰心的小屋

数据湖 presto presto 设计与实现

Spring Cloud OpenFeign - 远程调用

java易二三

Java spring 程序员 计算机 科技

敏捷采购:如何在采购中应用敏捷方法

ShineScrum

敏捷 敏捷采购

零代码搭建一个微信小程序

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

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