《计算机程序的构造和解释》(简称为SICP)
这本书提到,代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。如果代码是写给机器看的,那完全可以使用汇编语言或者机器语言(二进制),直接让机器执行。
我觉得
高级语言(java,php等都算),之所以被称为是高级语言,是相对汇编和机器指令而言的,他们更加可阅读性,更加符合人类语言的阅读习惯。
低级语言让人看起来非常吃力,不容易编写,所以产生高级语言,容易上手点。
作者强调的是,代码是写给人看的,所以要做到良好的编程风格,方便其他程序员阅读,维护。
所以这点我非常感悟,这确实是一个有力的证据。代码的可读性非常重要:注释,空白对其,工整都是风格的提现。保持这些编程风格最终目的只有一个:方便人类阅读。
诚然,就算你不按照好的风格来编写,编译器也能识别,通过编译。但基于可阅读性、方便维护考虑。程序员还是要有良好的编码风格。
就拿我们汉字的语言,一个段落要空格,写信的时候开篇有开篇的写法,其实我觉得都是为了可读性、优雅性。其实多个段落完全可以混合在一起,那样子很难阅读。让其他阅读人员理清楚思路就比较难。
其实语言中的逗号、顿号等标点符号也是为了方便人的阅读,断句,如果没有这些标点符号,阅读起来很吃力的。
基于一个方便其他程序员容易阅读的考虑,我觉得很多程序员喜欢以下的方式都方便其他程序员阅读
1、一个文件中定义多个类,放到一块。看起来吃力
2、代码之间没有缩进
3、多行代码实现可读性更强,偏偏要写在一行中。读起来费力,比如
$config = empty($_config['userinfo']['memory']['memcache']['addServer'])?$_G['config']['userinfo']['memory']['memcache']['addServer']:$_config['userinfo']['memory']['memcache']['addServer'];
为了方便人的阅读,写这么长。