写点什么

专栏:代码之丑——开篇

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

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

关注

评论

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

【直播回顾】Hello HarmonyOS系列应用篇完美收官!

HarmonyOS开发者

HarmonyOS

自主研发不断突破!索信达AI技术再获国家发明专利授权

索信达控股

十分钟带汝入门大数据开发语言Scala

百思不得小赵

scala 大数据 6月月更

详解Cache缓存与DB数据库一致性

分治实践

数据一致性 缓存Redis

OpenHarmony 官网文档有哪些上新?下篇:设备开发文档上新

OpenHarmony开发者

Open Harmony

华为云发布新伙伴体系,携手伙伴及开发者共建新生态,共创新价值

郝俸🦁好棒

华为云 生态

有了钉钉和企业微信,企业还需要专属IM吗?

BeeWorks

PingCAP 与阿里云达成合作 云数据库 TiDB 上线阿里云心选商城

PingCAP

分布式数据库 TiDB

React Suspense 尝鲜,处理前后端IO异步操作

葡萄城技术团队

大前端 SpreadJS 表格控件 纯前端表格组件

PingCAP 与阿里云达成合作 云数据库 TiDB 上线阿里云心选商城

极客天地

Windows/Linux系统下python的安装与环境配置

左手の明天

Python Python库安装 python安装

使用 eBPF 增强监控和可观测性

观测云

InfoQ 极客传媒 15 周年庆征文|【Docker最佳实践】Windows上安装Docker及常见问题解决

迷彩

Docker 架构 运维 6月月更 InfoQ极客传媒15周年庆

2022年中国露营市场专题洞察

易观分析

露营

java开发技术培训MyBatis的缓存

@零度

mybatis JAVA开发

现场办公VS居家办公——我的2022居家办公经验分享| 社区征文

No Silver Bullet

经验分享 居家办公 6月月更 初夏征文

基于宽表的数据建模应用

百度Geek说

大数据 数据建模

得物质量度量之“三级指标体系”及其应用实践

得物技术

质量保障 指标监控 工程效能 质量指标 效能平台

ABAP BDC常见问题-FICO

桥下本有油菜花

abap

盲盒APP开发新玩法,盲盒APP需具备的模块

WDL22119

盲盒商城 盲盒开发 盲盒APP开发 盲盒源码 盲盒H5开发

一个 Angular 程序员两年多的远程办公经验分享 | 社区征文

汪子熙

程序员 远程办公 Slack 6月月更 初夏征文

InfoQ 极客传媒 15 周年庆征文 | 跨系统数据一致性问题

架构精进之路

数据一致性 构架 InfoQ极客传媒15周年庆

Vue-11-条件渲染

Python研究所

6月月更

开源等于免费吗?

源字节1号

开源

墨天轮访谈 | 叶金荣:GreatSQL开源社区——做中国广受欢迎的开源数据库

墨天轮

数据库 开源数据库 国产数据库

摆脱五彩斑斓的黑,成为七彩程序员!

禅道项目管理

大数据培训Flink 运行架构

@零度

flink 大数据开发

支持 M3U8 格式播放的方法

CRMEB

java培训MyBatis动态SQL

@零度

mybatis JAVA开发

解决方案| 快对讲综合调度系统

anyRTC开发者

音视频 快对讲 语音对讲 调度系统 视频对讲

开发者能力大赏,谁是技术知识达人?

华为云开发者联盟

华为云

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