NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

评论

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

HashMap 源码分析(五)

知识浅谈

HashMap底层原理 10月月更

【kafka运维】TopicCommand运维脚本(1)

石臻臻的杂货铺

kafka 运维 10月月更

云数据库助力电池云(一)

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

[HCTF 2018]WarmUp题解(较为详细的)

w010w

Web CTF 每日一题 10月月更

如何用crontab实现Python定时任务

芥末拌个饭吧

后端 python 3.5+ 10月月更

数据结构-栈、队列、堆(java)

Studying_swz

数据结构 10月月更

服务治理实施流程

阿泽🧸

10月月更 服务管理

Spring Boot概述(二)

Studying_swz

springboot 10月月更

Web3.0杂谈-#008(55/100)

hackstoic

Web3.0

极客时间运维进阶训练营第一周作业

老曹

Python运算符有哪些你清楚吗

芥末拌个饭吧

后端 python 3.5+ 10月月更

【kafka运维】ConfigCommand运维脚本

石臻臻的杂货铺

kafka 运维 kafka运维 10月月更

MyBatisPlus学习

Studying_swz

mybaitsplus 10月月更

git fetch&pull讲解 | Git

Appleex

git

谈谈曾经做的一个测试报告平台(1)

MegaQi

Python 测试平台 10月月更

python有哪些格式化输出的方法

芥末拌个饭吧

后端 python 3.5+ 10月月更

在线问题反馈模块实战(十三)​:实现多参数分页查询列表

bug菌

springboot 项目开发 10月月更

趁年少,多读书

暮春零贰

读书笔记 10月月更

【ArchSummit】众安金融微服务架构演进实战

小明Java问道之路

架构 微服务 全球架构师峰会 ArchSummit 10月月更

“程”风破浪的开发者 | 关于web3.0远离银手镯比什么都重要!

王中阳Go

区块链 NFT Web3.0 10月月更 “程”风破浪的开发者

资源管理系统Apache Mesos

穿过生命散发芬芳

10月月更 Mesos

docker数据卷使用

忙着长大#

,docker

在线问题反馈模块实战(十四):实现在线答疑功能

bug菌

springboot 项目开发 10月月更

在线问题反馈模块实战(十五)​:实现在线更新反馈状态功能

bug菌

springboot 项目开发 10月月更

PyTorch (1) | PyTorch的安装与简介

timerring

PyTorch 10月月更

ubuntu使用apt-get安装docker

忙着长大#

Ubuntu20.04

SAP CDS entity 中使用 @readonly 进行访问控制

Jerry Wang

CDS SAP abap 10月月更

Jenkins把GitHub项目做成Docker镜像

程序员欣宸

Docker jenkins 10月月更

数据湖(八):Iceberg数据存储格式

Lansonli

数据湖 10月月更

架构实战营模块3-外包学生管理系统架构设计文档

冷夫冲

架构 架构设计 架构训练营

Linux系统-基础IO

可口也可樂

Linux 10月月更 基础IO

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