→ happychung:痾...看不懂...我程式果然很弱Q_Q 05/16 09:30
Reading Code is Like Reading the Talmud
作者:周思博 (Joel Spolsky)
譯:Warlocky
Friday, May 26, 2000
屬於Joel on Software, http://www.joelonsoftware.com
Seth Gordon 寄給我一些很棒的關於閱讀他人程式碼時的建議:
在一家以色列的猶太教學院念了大約八個月的書後,我第一份工作是在波士頓擔任技術文
件寫作人員。
大約一年前,我和另一位同事試著讀懂一支用 yacc 及 Perl 寫的醜陋程式,它的目的是
用來產生我們的一些文件。把整份程式印出來之後,我們坐下來幾乎是一行一行地檢視。
「由於 yacc 的原理是這樣,所以它碰到*這種*資料會執行*這個*函數 ... *這行*是幹
什麼用的? ... 在*這個地方*這一沱資料看起來像什麼?...」
別的同事問我是怎麼做到的,我就告訴他:「這就像讀猶太法典一樣。」
以下這些閱讀猶太法典的技巧我想對閱讀程式也會有幫助:
成對進行,並將想法大聲唸給對方聽。
討論。若你的伙伴說「這個代表 X」但你卻不了解箇中原因或有不同意見時,請他說明原
因。
在閱讀程式時,有時候先讀完前後的程式*之後*,中間的部份會較容易了解。若你讀到一
段程式卡住時,先試著跳過去,之後再看看能不能重讀一遍(但你最終還是得回來)。
程式的內部運作及外部用法都要理解。了解內部運作時,應將一段一段的程式翻譯成中文
(或是你自己的母語);觀察外部用法時,應將一大段程式轉換成直覺的概念。若只看內
部運作,難免見樹不見林;若只看外部用法,卻又難免流於猜測而未佐以具體的細節。
謝謝你,Seth!很棒的建議!
--
我能說什麼....= =
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.81.176.181