天天看點

代碼是寫給人看的,不是寫個機器看的《計算機程式的構造和解釋》(簡稱為SICP)

這本書提到,代碼是寫給人看的,不是寫給機器看的,隻是順便計算機可以執行而已。如果代碼是寫給機器看的,那完全可以使用彙編語言或者機器語言(二進制),直接讓機器執行。

我覺得

進階語言(java,php等都算),之是以被稱為是進階語言,是相對彙編和機器指令而言的,他們更加可閱讀性,更加符合人類語言的閱讀習慣。

低級語言讓人看起來非常吃力,不容易編寫,是以産生進階語言,容易上手點。

作者強調的是,代碼是寫給人看的,是以要做到良好的程式設計風格,友善其他程式員閱讀,維護。

是以這點我非常感悟,這确實是一個有力的證據。代碼的可讀性非常重要:注釋,空白對其,工整都是風格的提現。保持這些程式設計風格最終目的隻有一個:友善人類閱讀。

誠然,就算你不按照好的風格來編寫,編譯器也能識别,通過編譯。但基于可閱讀性、友善維護考慮。程式員還是要有良好的編碼風格。

就拿我們漢字的語言,一個段落要空格,寫信的時候開篇有開篇的寫法,其實我覺得都是為了可讀性、優雅性。其實多個段落完全可以混合在一起,那樣子很難閱讀。讓其他閱讀人員理清楚思路就比較難。

其實語言中的逗号、頓号等标點符号也是為了友善人的閱讀,斷句,如果沒有這些标點符号,閱讀起來很吃力的。

基于一個友善其他程式員容易閱讀的考慮,我覺得很多程式員喜歡以下的方式都友善其他程式員閱讀

1、一個檔案中定義多個類,放到一塊。看起來吃力

2、代碼之間沒有縮進

3、多行代碼實作可讀性更強,偏偏要寫在一行中。讀起來費力,比如

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

為了友善人的閱讀,寫這麼長。