写点什么

阿里工程师谈,什么是好的代码?

  • 2019-12-19
  • 本文字数:508 字

    阅读完需:约 2 分钟

阿里工程师谈,什么是好的代码?

导读:我们每天都与代码打交道,但当被问道什么是好的代码时,很多人可能会先愣一下,然后给出的回答要么比较空泛,要么比较散,没办法简单明了地概括出来。显然,这个问题并没有唯一的标准答案,谁都可以谈论自己的理解,今天谈谈我对于好代码的理解。

一句话概括

衡量代码质量的唯一有效标准:WTF/min —— Robert C. Martin



Bob 大叔对于好代码的理解非常有趣,对我也有很大的启发。我们编写的代码,除了用于机器执行产生我们预期的效果以外,更多的时候是给人读的,这个读代码的可能是后来的维护人员,更多时候是一段时间后的作者本人。


我敢打赌每个人都遇到过这样的情况:过几周或者几个月之后,再看到自己写的代码,感觉一团糟,不禁怀疑人生。


我们自己写的代码,一段时间后自己看尚且如此,更别提拿给别人看了。


任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。—— Martin Fowler


所以,谈到好代码,首先跳入自己脑子里的一个词就是:整洁。


好的代码一定是整洁的,给阅读的人一种如沐春风,赏心悦目的感觉。


整洁的代码如同优美的散文。—— Grady Booch


本文转载自淘系技术公众号。


原文链接:https://mp.weixin.qq.com/s/AjubL4vVhFa_FIlaopLVCA


2019-12-19 18:18658

评论

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

一击必杀!内网渗透——对不出网目标的精准打击

Thrash

安全

2021,国产数据库人的最好时代

BinTools图尔兹

数据安全 数据库管理 国产数据库

Dubbo 服务分组与多版本

青年IT男

Redis - 哈希表

旺仔大菜包

redis

微前端中,为子应用配备开发环境临时导航菜单,提高开发效率

blueju

JavaScript 大前端 React umi

区块链为何会上升国家战略技术?

CECBC

区块链

宝马、沃尔沃、奇瑞纷纷布局,区块链将颠覆汽车行业?

CECBC

如有神助!阿里P7大牛把Spring Boot讲解得如此透彻,送你上岸

飞飞JAva

immutability模式

wzh

Java 设计模式 并发 线程安全

IDEA 这样设置,好看到爆炸!!!

楼下小黑哥

Java 程序员 IDEA 编程开发

架构实战营 - 模块 3- 作业

请弄脏我的身体

架构实战营

编程规范的意义

顿晓

5月日更 编程规范

网易数帆云原生故障诊断系统实践与思考

网易数帆

Docker 云计算 Kubernetes 云原生 故障诊断

谈谈测试环境管理与实践

大卡尔

测试环境 工程效能

第八大洲环游记(三):人间胜境新西兰,AI孤岛or方舟?

脑极体

要不要去创业?

石云升

创业 5月日更

吴凡 ベ莫离: 网友都说MyBatis多表查询太难了,小白:就这?我都学会了

牛哄哄的java大师

硬核资源!清华博士的Spring Boot中AOP与SpEL笔记,码农:膜拜

牛哄哄的java大师

Java

数据架构:概念与冷热分离

程序员架构进阶

数据架构 架构设计 28天写作 5月日更 冷热分离

玩转直播系列之从 0 到 1 构建简单直播系统(1)

vivo互联网技术

消息推送 RTMP 直播推流

Golang中runtime包的基本使用方式

liuzhen007

Go 语言 5月日更

Map在Java 8中增加非常实用哪些函数接口?

xcbeyond

Java java8 5月日更 内容合集

网络攻防学习笔记 Day6

穿过生命散发芬芳

5月日更 网络攻防

架构实战营 - 模块 3- 作业

carl

Nginx基础配置-基础模块配置

梁龙先森

nginx 大前端

区块链为法院工作插上科技翅膀

CECBC

法院

全球数字货币加快研发

CECBC

安全团队和云计算团队之间更好协作的6个技巧

云计算

LeetCode题解:150. 逆波兰表达式求值,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

数字化助力金融科技,实现产业良性循环

CECBC

科技

IDEA 的 debug 怎么实现?出于这个好奇心,我越挖越深!

Java小咖秀

Java debug IDEA 調試

阿里工程师谈,什么是好的代码?_文化 & 方法_淘系技术_InfoQ精选文章