写点什么

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

  • 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:18711

评论

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

web技术分享| 虚拟 tree

anyRTC开发者

Vue 前端 Web tree antDesign vue

倒计时第1天!2022 XDR网络安全运营新理念峰会即将开幕

未来智安XDR SEC

网络安全

长安链源码分析之交易过程分析(2)

房产|9月全国70城房价出炉!快来看看你的城市房价变化

前嗅大数据

数据 房地产 房产

社招前端必会面试题(附答案)

loveX001

JavaScript

长安链源码分析之交易过程分析(6)

关于JavaScript的本地存储方案

CoderBin

JavaScript 前端 LocalStorage 本地存储 10月月更

长安链源码分析之交易过程分析(3)

一次 Redis 事务使用不当引发的生产事故

悟空聊架构

redis 事务 悟空聊架构 10月月更 @Transactional

在线问题反馈模块实战(二十):实现文件批量导出到zip压缩包中功能

bug菌

springboot 项目实战 10月月更

快递单信息抽取【二】基于ERNIE1.0至ErnieGram + CRF预训练模型

汀丶人工智能

nlp 算法、

长安链源码分析之交易过程分析(5)

一天梳理完React所有面试考察知识点

beifeng1996

React

React源码分析6-hooks源码

goClient1992

React

Redis数据结构(一)-Redis的数据存储及String类型的实现

京东科技开发者

二进制 哈希算法 数据存储 结构化 Redis 数据结构

在线问题反馈模块实战(十九):实现数据批量导出到excel文件中功能

bug菌

springboot 项目实战 10月月更

在线问题反馈模块实战(二十一):完结篇

bug菌

springboot 项目实战 10月月更

长安链源码分析之交易过程分析(4)

Java中的final关键字详解😁

共饮一杯无

Java final 10月月更

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

杨帆:拆解研发流程,做好探索型项目的过程管理丨声网开发者创业讲堂 • 第 5 期

声网

技术管理 人工智能’

最短的桥

掘金安东尼

算法 10月月更

使用注解 @requires 给 SAP CAP CDS 模型添加权限控制

汪子熙

云原生 CAP Cloud SAP 10月月更

1024,我们干了点儿大事 | StarRocks 2.4 新版本特性介绍

StarRocks

数据库

百度前端高频react面试题总结

beifeng1996

React

React源码分析5-commit

goClient1992

React

SpringCloud-04 Feign学习笔记

游坦之

10月月更

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

一道React面试题把我整懵了

beifeng1996

React

微信小程序wx.getLocation审核不通过的解决方法

源字节1号

前端开发 小程序开发

SpringCloud-05 Hystrix学习笔记

游坦之

10月月更

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