程式碼的風格與個性

看程式碼看久了,會有一些有趣的觀察。年輕的時候加入這一行之後,很快就看出寫程式碼跟寫文章其實是很類似的心智活動。變數的命名,區塊的縮排,甚至是電腦語言關鍵字的選擇,很容易反應寫的人的行事風格 - 有的是敷衍了事 (變數都是i, j, k ,m 之類,也不縮排),也有規矩謹慎 (每個 block 都排得整整齊齊)。到了後來經驗夠了,可以從第一眼看到程式碼就能判斷你面對的是多大的麻煩。

還有一種情況,是天才型的程式碼 (正確說法應該是: 天才工程師所寫出來的碼)。它的特點是超級簡潔,簡潔到不努力想想實在不知道它的作用是甚麼,即使是已經很熟練的語言。不過看懂了之後,你會不由的稱讚他的聰明才智,這些人可能平常在路上都在想: 路要怎麼走比較近。

還有一種也是讓人讚嘆的,是將程式結構環環相扣到緊密無比,你要將整個程式或是大模組看通,才知道他的某個細節為什麼這樣設計。好像在看推理小說,直到看到結局,才恍然大悟,原來是這樣!

到了後來,看的 code 大部分是多人分工寫的。本以為大公司對風格要素要求比較嚴謹,應該碼的結構都要很相近;但我看到的反而不是這樣,一看就知道是很多不同人寫的。後來想想,也許是因為公司組織以產出為第一優先,並不侷限不同性格的人進來寫碼,只要能 work 就好。

另一方面,最進常常觀察到 open source 的 projects,即使是很多人參與,反而個性很一統。完全看的出來這些是志同道合的人一起寫的。

我的心得: 剛入行時總認為應該是工作來影響人的性格,這樣看來,反而是不同性個的人會選擇不同的領域呢。這樣簡單的道理,花了我幾十年來體認,不得不自承魯鈍。

results matching ""

    No results matching ""