58. 給未來的消息

給未來的消息

        可能是因爲其中的大多數都是聰明人,這些年來我教導過的和一起工作過的程序員們,似乎大多數都認爲既然他們曾經研究的問題很難,那麼答案對於每個人(可能即便是對於代碼編寫幾個月後的自己)也應該一樣難以理解和維護。
        我記得和Joe的一件事。他是數據結構課程中的一名學生,找到我給我看了他寫的東西。“Betcha猜不出這是做什麼的。”他揚揚得意地說。
       “你很對,”我同意他,沒有花太多時間看他的例子並如何獲取重要的信息,“我肯定你在這個問題上一定付出了很多努力。我在想,你是不是忽略了一些重要的東西。呃,Joe,你是不是有一個弟弟?”
        “對。是的。Phil!他上你的導論課,也在學習編程。”Joe很自豪地宣稱。
        “很好,”我說,“我想知道他是不是能讀這個代碼。”
        “不可能!”Joe說,“這是很難的東西!”
        “設想一下,”我建議道,“這是真正的工作中的代碼,並且幾年後Phil被僱用來維護這個代碼的升級。你給他做了什麼?”Joe看着我只眨眼。“我們知道Phil真的很聰明,是吧?”Joe點頭。“雖不想這麼說,但我也很聰明。”Joe咧開嘴笑了。“所以如果我不能輕易理解你所做的,那麼你那位很聰明的弟弟也很可能被這個難住,你寫的這些到底是什麼意思?”Joe看着他的代碼,似乎和剛纔不一樣了。“這樣如何,”我儘可能地用友好的導師的聲音建議道:“把你寫的每一行代碼當成要傳遞給將來某個人的消息,那個人可能是你的弟弟,當成你在向這個聰明的人解釋你在如何解決這個困難的問題。”
        “你是你想像中要的吧?將來的那個聰明的程序員看到你的代碼了,說‘哇!真了不起!我能完全理解這裏做了什麼,這段聰明的,不,漂亮的代碼。我要給團隊裏面的其他人展示一下。這真是件傑作!’”
         “Joe,你覺得你可以寫出解決這個困難的問題的代碼,而且是很漂亮的、歌唱的代碼嗎?對,就像是縈繞心頭的旋律一末端。我想每個能弄懂這個非常困難的答案的人都寫出一些漂亮的東西。嗯......我想我是不是應該提升一下美感,你覺得呢?”
        Joe拿起他的作品,看着我,臉上浮出一些笑容。“我明白了,教授,我也該爲了Phil把事情做得更好。謝謝!”

原文:A Message to the Future by Linda Rising

發佈了0 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章