写点什么

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

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

评论

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

JVM进阶(八):Stop The World

No Silver Bullet

JVM STW 2月月更

JavaScript 数组常见操作 (二)

编程三昧

JavaScript 前端 2月月更

Hadoop运行环境搭建

编程江湖

hadoop

要重复阅读的一个原因:思维模型驱动学习的过程

panda

思维模型 阅读

架构实战营 毕业设计项目

红莲疾风

「架构实战营」

了解一下DDD领域驱动设计

蜜糖的代码注释

Java DDD 领域模型 2月月更

JavaScript 数组常见操作(一)

编程三昧

JavaScript 前端开发 数组操作 2月月更

Spring Cloud Alibaba Nacos 服务注册与发现功能实现!

王磊

SpringCloud Alibaba

一人走路不孤独,小度化身百度地图导航NPC,伴你回家路

百度大脑

Web Components系列(一) —— 概述

编程三昧

前端 组件化 2月月更

JS事件详解和js事件委托

编程江湖

M3U8 视频封装格式的深度解析 | 社区征文

liuzhen007

音视频 新春征文 2月月更

如何写出格式清晰的代码

蜜糖的代码注释

Java 2月月更

Netflix是如何做决策的? | 6. 实验是数据科学的主要关注点

俞凡

数据分析 netflix 大厂实践 2月月更

【初探云原生】服务注册中心对比总结

路上的小崔哥

微服务 云原生 注册中心

《也许你该找个人聊聊》读书笔记 - 直面的勇气

懒时小窝

读书笔记 读书感悟

聚力同行,迈向零碳未来

大咖说

云计算 阿里巴巴 阿里云 数智化

DeepMind公司最新ai技术参加Codeforces击败大部分选手

你?

一个cpp协程库的前世今生(二十五)channel

SkyFire

c++ cocpp

一个老程序员的计算机视觉蹒跚学习之路| 社区征文

老猿Python

AI OpenCV 计算机视觉 图像处理 新春征文

AI,机器人和元宇宙(9/100)

hackstoic

元宇宙

架构实战训练营-模块9-作业

温安适

「架构实战营」

JVM进阶(十一):JAVA G1收集器

No Silver Bullet

G1 JVM 垃圾收集器 2月月更

视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

RadonDB

数据库 redis 后端 RadonDB

GitLab + Jenkins + ACK 自动化部署方案

百瓶技术

运维 jenkins 自动化部署 #GitLab ACK

URL中的空格、加号究竟应该使用何种方式编码

Gopher指北

HTTP url Go 语言

创业方法论(10/100)

hackstoic

创业 商业分析

Pulsar 在云原生消息引擎领域为何如此流行?| 社区征文

老周聊架构

云原生 Apache Pulsar 新春征文 2月月更

JVM进阶(十):年老代收集器

No Silver Bullet

CMS JVM 2月月更 年老代收集器

让所有工具变成你的锤子 — 邂逅《Every Tool's a Hammer》

蔡超

方法论 学习笔记 软件架构

Java常见数据结构详解

编程江湖

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