2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

专栏:代码之丑——开篇

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

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

关注

评论

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

NLP技术如何为搜索引擎赋能

不在线第一只蜗牛

nlp NLP 大模型 技术 优化体系

龙蜥社区联合浪潮信息发布《eBPF技术实践白皮书》(附下载链接)

OpenAnolis小助手

Linux 白皮书 ebpf 云栖大会 龙蜥社区

python爬虫代理的渠道有哪些

Geek_ccdd7f

合约交易所开发

区块链技术

守护 C 盘,Python 相关库设置

北桥苏

Python conda anconda

解决室内种植最大弊端的是方法—植物生长灯

电子信息发烧客

选购护眼台灯,全网都没有说清一个关键点!——照度均匀度

电子信息发烧客

中馥集团双11当日发货销售额突破1000万!

电子信息发烧客

软件测试/测试开发丨探索Python中的函数定义和调用

测试人

软件测试

万字解析XML配置映射为BeanDefinition的源码

华为云开发者联盟

spring 开发 华为云 华为云开发者联盟

在跨境数据传输方面,如何应对跨国企业面临的挑战和风险

镭速

跨境数据传输

超级App的前端框架也可以足够轻量

FN0

前端框架 超级app

动作活体检测能力支持自定义扫描动作,开发者接入更高效

HarmonyOS SDK

HMS Core

区块链开发:区块链软件开发包装相关解析

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

华为音乐枫叶音乐会,倾耳聆听心动音乐故事

最新动态

以程序员的身份,教您使用API接口获取虾皮商品详情

Noah

JavaScript slice 方法使用指南

Liam

JavaScript 程序员 前端 前端开发 slice

一图看懂华为云CodeArts Link六大特性

华为云开发者联盟

开发工具 华为云 华为云开发者联盟 华为云CodeArts

动态IP代理是怎么实现的?

Geek_ccdd7f

11月创作挑战赛开启!新奖品、新标准~

Openlab_cosmoplat

新一代信息技术成为数字化转型满意度评价新要素

极客天地

跨国企业在数据跨境传输中应该知道的五大要点

镭速

跨境数据传输 数据跨境传输

数字马力面经和答案解析!社招岗

王磊

Java 面试 java面试

轻量级前端架构之:小程序技术

Speedoooo

小程序容器 小程序技术 小程序容器技术 微前端架构 轻量级前端架构

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