7月QCon广州站2022,关注Web 3.0、数据架构选型、数字化转型等热门话题,点击了解 了解详情
写点什么

专栏:代码之丑——开篇

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

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

关注

评论

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

深圳企业办理等保备案流程详细说明

行云管家

网络安全 深圳 等级保护 等保备案

索信达控股:四大策略、五大行动,新趋势下数字生态的落地策略及行动路径

索信达控股

金融科技 数字化转型 数字金融 银行业 金融机构

打造一个物联网平台真的工程巨大吗?

Speedoooo

容器 ios开发 APP开发 Andriod开发

如何利用EasyRecovery恢复c盘已删文档

淋雨

数据恢复

CSS布局(三)之等分布局

Augus

CSS 11月日更

深入理解 WKWebView(入门篇)—— WebKit 源码调试与分析

百度Geek说

Webkit

HBase 基础及核心架构解析

五分钟学大数据

11月日更

企业云资源管理系统着重推荐-行云管家!

行云管家

云计算 服务器 云资源

第二届腾讯“开悟”大赛初赛放榜,强化学习研究还能这么快乐?

科技热闻

Tapdata 在线研讨会:DaaS vs 大数据平台,是竞争还是共处?

tapdata

数据库

Flink CDC 2.0 数据处理流程全面解析

大数据技术指南

11月日更

Go语言学习查缺补漏ing Day5

Regan Yue

Go 语言 11月日更

智慧园区综合管理平台系统开发,智慧园区综合能源管理系统方案

电微13828808271

质量基础设施一站式服务平台开发,国家NQI一站式云平台搭建

电微13828808271

公布半小时下载量达10W:阿里大牛出品「MyCat笔记」真香

热爱java的分享家

Java 面试 编程语言 经验分享 mycat

TDSQL-C for MySQL版产品新特性

腾讯云数据库

tdsql 国产数据库

【概率】抽屉中的袜子

潮汐朝夕

概率

【可观测之路】“观测云”CSDN技术专区正式上线!

观测云

可观测 CSDN

我以为自己MySQL够牛逼了,直到看到了Alibaba的面试题

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

保姆级神器 Maven,再也不用担心项目构建搞崩了

沉默王二

Java maven

“阿里爸爸”又爆新作!Github新开源303页Spring全家桶高级笔记

热爱java的分享家

Java 面试 编程语言 经验分享 Spring全家桶

深入理解 WKWebView(入门篇)

百度开发者中心

Webkit WKWebView

灵犀平台—API的全可视化开发

鲸品堂

开发者 工具

恒源云(GPUSHARE)_长尾分布的多标签文本分类平衡方法(论文学习笔记)

恒源云

人工智能 深度学习 算力

太完整了!阿里内部热捧“Spring全线笔记”,不止是全家桶

热爱java的分享家

Java 面试 编程语言 springboot 经验分享

TDSQL Server产品新特性

腾讯云数据库

数据库 tdsql

学不懂Netty?看不懂源码?不存在的,手把手带你阅读Netty源码

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

一文带你快速掌握PTN网络的路由计算

鲸品堂

观测云产品更新|新增场景笔记、监控SLO、升级场景视图、异常检测库等功能

观测云

功能更新

100行代码,轻松搞定文本编辑器中草稿箱

Tom弹架构

Java 架构 设计模式

提升软件开发效率,企业数字化转型更轻松?

云原生开发者社区

技术 云原生 开发 数字化转型

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