代码是写给人看的,不是写个机器看的

简介: 《计算机程序的构造和解释》(简称为SICP) 这本书提到,代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。如果代码是写给机器看的,那完全可以使用汇编语言或者机器语言(二进制),直接让机器执行。

《计算机程序的构造和解释》(简称为SICP)

这本书提到,代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。如果代码是写给机器看的,那完全可以使用汇编语言或者机器语言(二进制),直接让机器执行。

 

我觉得

高级语言(java,php等都算),之所以被称为是高级语言,是相对汇编和机器指令而言的,他们更加可阅读性,更加符合人类语言的阅读习惯。

低级语言让人看起来非常吃力,不容易编写,所以产生高级语言,容易上手点。

作者强调的是,代码是写给人看的,所以要做到良好的编程风格,方便其他程序员阅读,维护。

所以这点我非常感悟,这确实是一个有力的证据。代码的可读性非常重要:注释,空白对其,工整都是风格的提现。保持这些编程风格最终目的只有一个:方便人类阅读。

诚然,就算你不按照好的风格来编写,编译器也能识别,通过编译。但基于可阅读性、方便维护考虑。程序员还是要有良好的编码风格。

 

就拿我们汉字的语言,一个段落要空格,写信的时候开篇有开篇的写法,其实我觉得都是为了可读性、优雅性。其实多个段落完全可以混合在一起,那样子很难阅读。让其他阅读人员理清楚思路就比较难。

 

其实语言中的逗号、顿号等标点符号也是为了方便人的阅读,断句,如果没有这些标点符号,阅读起来很吃力的。

 

基于一个方便其他程序员容易阅读的考虑,我觉得很多程序员喜欢以下的方式都方便其他程序员阅读

1、一个文件中定义多个类,放到一块。看起来吃力

2、代码之间没有缩进

3、多行代码实现可读性更强,偏偏要写在一行中。读起来费力,比如

 

$config = empty($_config['userinfo']['memory']['memcache']['addServer'])?$_G['config']['userinfo']['memory']['memcache']['addServer']:$_config['userinfo']['memory']['memcache']['addServer'];

 

为了方便人的阅读,写这么长。

目录
相关文章
|
6月前
|
存储 安全 Unix
了解服务器,原来这一篇就够了!
了解服务器,原来这一篇就够了!
82 0
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
分享68个Python爬虫源码总有一个是你想要的
分享68个Python爬虫源码总有一个是你想要的
86 0
|
2月前
|
数据采集 数据可视化 Java
分享66个Python爬虫源码总有一个是你想要的
分享66个Python爬虫源码总有一个是你想要的
76 1
|
2月前
|
小程序 机器人 Python
分享28个VX小程序源码,总有一款适合您
分享28个VX小程序源码,总有一款适合您
55 1
|
3月前
|
机器学习/深度学习 存储 数据可视化
【学习打卡02】可解释机器学习笔记之ZFNet
【学习打卡02】可解释机器学习笔记之ZFNet
|
10月前
|
Go
选择困难?试试libhunt
选择困难?试试libhunt
65 0
|
10月前
|
程序员
什么是好代码/坏代码?给普通人的图解示例
什么是好代码/坏代码?给普通人的图解示例
79 0
|
机器学习/深度学习 人工智能 自然语言处理
机器阅读理解 VS 机器问题生成
机器阅读理解 VS 机器问题生成
|
存储 缓存 算法
《程序是如何跑起来的》知识整理
《程序是如何跑起来的》知识整理
119 0
|
存储 前端开发 JavaScript
#yyds干货盘点# 前端一文带你理解如何解决工作中的需求
#yyds干货盘点# 前端一文带你理解如何解决工作中的需求
116 0
#yyds干货盘点# 前端一文带你理解如何解决工作中的需求