写点什么

专栏:代码之丑——开篇

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

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

关注

评论

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

java中有哪些并发的List?只知道一种的就太逊了

程序那些事

Java 程序那些事 面试秘籍

软件测试/测试开发丨web自动化——cypress测试框架

测试人

软件测试 Cypress

马斯克警告威胁,奥特曼自请监管,小扎呼吁开源丨RTE开发者日报 Vol.49

声网

公开免费的代理ip有哪些不足的地方?

巨量HTTP

代理IP 免费代理ip

AI已经改变游戏规则,新环境下如何用好这一新利器,提升开发团队的生产力

龙智—DevSecOps解决方案

汽车行业解决方案 | 龙智总经理杨林晶作客ACT汽车电子与软件技术周,并接受专访

龙智—DevSecOps解决方案

如何选择美国多IP服务器租用,提升网站排名的秘密武器

一只扑棱蛾子

站群服务器

直播预告 | 博睿学院:浅谈可观测性的价值

博睿数据

使用cpu模型运行时报异常错误

矩视智能

机器视觉

多主架构:VLDB技术论文《Taurus MM: bringing multi-master to the cloud》解读

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号9月PK榜

Enhancer-轻量化的字节码增强组件包

得物技术

aop 字节码增强 性能监控 轻量级 企业号9月PK榜

【kafka源码】/log_dir_event_notification的LogDir脱机事件通知

石臻臻的杂货铺

kafka

在对接自有账户体系时,FinClip 是怎么做的?

FinClip

【Y 新闻】YMatrix携手三一集团,荣获“2023爱分析·数据库最佳实践案例”

YMatrix 超融合数据库

超融合数据库 YMatrix 三一集团 数据库最佳实践案例 泵涌云

华为云盘古大模型加码生物医药,为行业插上“数字翅膀”

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 华为云盘古大模型 企业号9月PK榜

GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号9月PK榜

企业网盘 VS 大文件传输, 哪个才是企业传输的正确选择?

镭速

大文件传输 大文件传输工具

QCA9890-MU-MIMO- and QCA9880-MIMO-different wireless communication standards

wifi6-yiyi

MU-MIMO MIMO

Kafka如何修改分区Leader

石臻臻的杂货铺

kafka

又一重磅利好来袭!Zebec Payroll 集成至 Nautilus Chain 主网

西柚子

云的灵魂是人工智能

Finovy Cloud

对话在行人|远东数智采:数智底座创新,让招投标规范高效

用友BIP

2023全球商业创新大会 对话在行人

软件测试/测试开发丨Web自动化—headless无头浏览器 学习笔记

测试人

软件测试

软件测试/测试开发名企定向培养训练营,升职加薪快人一步!

测试人

软件测试 测试开发

eosio.system智能合约介绍(四)合约部署介绍

BSN研习社

面对一家营收上千亿的焦化厂,这家数科公司靠什么赋能业务?

用友BIP

数科公司 2023全球商业创新大会 升级数智化底座

《孤注一掷》揭露你我身边的网络安全威胁

云起无垠

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