噹噹噹當提示您:看後求收藏(奇妙書庫www.qmshu.tw),接著再看更方便。
而且這個奇怪的模組,它所表現出的程式設計水準也很高,跟這個程式的其他部分相比,毫不遜色。還有它編寫的風格,也跟程式的其他部分相似。這都說明,這個模組的作者跟整個程式的作者是同一個人,而且兩者都是這個人以同樣認真的心情設計出來的。可是,這個人到底為什麼對自己的作品做出這種事情?
莫蘇石怎麼也想不明白這裡面的設計意圖,不由大傷腦筋。雖然這在技術上其實並不影響他對整個程式的破解,卻讓他忍不住耿耿於懷,不斷苦苦思索著有關這個模組的問題。
反覆掃描著這個模組附近的光點,他終於有了新的發現。
“LC-12……海?”莫蘇石如夢囈般,痴痴地念出眼前這段光點組成的文字。
☆、37 排除異常
為什麼在這個程式裡會出現小怪物的名字?海又是誰?
莫蘇石看著眼前這片光點,它們出現的方式,在這個程式裡應當屬於註釋的部分——也就是類似於備註之類的東西。它們對程式的功能和資料毫無影響,也不會被程式的使用者看見。它們隱藏在程式碼中,只有閱讀程式碼的人才會看到它們。
根據上輩子研究電腦所得的經驗,莫蘇石知道,程式設計師通常會寫在註釋裡的內容無非兩種型別。
一種是關於程式碼的解釋。比如某一段程式碼大致是用來做什麼的,可以怎樣使用……這種註釋可以提高閱讀程式碼的效率,人們不需要細看,就能對程式的框架有個大致的瞭解。對於維護和修改程式的人來說,這樣可以讓他們省不少事兒。這對程式日後的維護和完善很有好處。
一種是關於程式產品的資訊。比如使用說明,版本資訊,更新日誌……這種註釋的作用很多,不過基本上都和程式本身沒有關係——那就不是莫蘇石感興趣的範疇了。雖然他知道業內很多人有這種習慣,但他自己接程式設計委託的時候,從來都不在自己的程式碼裡新增這種註釋。
當然,能在程式裡新增的註釋並不僅限於這兩種型別。理論上來說,在註釋裡出現任何內容都有可能。只要程式設計師樂意,哪怕在裡面寫一句“今天天氣真不錯”,也是沒有問題的。有些人還會故意把註釋寫得跟暗號一樣,除了自己就沒人看得懂,故意不為其他閱讀程式碼的人提供方便,以此來對自己的作品進行“保密”。
不過專業的程式設計師都不會在正規的作品裡做這種事,因為那隻會破壞程式碼的整潔,還會給閱讀程式碼造成許多不必要的困難。有時候,這就等於是跟自己過不去,因為註釋往往也是寫給你自己看的——雖然那本來就是你寫的程式碼,但是幾年之後你還會記得自己當時的思路嗎?還會記得那暗號一樣的註釋是什麼意思嗎?本來註釋可以幫你回憶起自己以前的想法,你把它寫壞了,說不定到時候連你自己都看不懂了,那就是搬起石頭砸自己的腳。
再說,如果你真的不需要註釋來給自己備忘,同時也不想幫助別人理解自己的程式碼,那乾脆一開始就不要寫註釋,不就結了?何苦寫些自己看不懂,別人也看不懂的東西,浪費時間?
越是經驗豐富的程式設計師,就越是明白,把註釋寫得清晰明瞭的重要性。
現在展現在莫蘇石面前的程式碼,是那麼簡約、嚴謹而精妙,它的設計者當然不可能是個菜鳥。出現在註釋中的“LC-12”和“海”,應該是有意義的。
這句話一點也不像是對某段程式碼的註解。而且莫蘇石之前對這個程式研究了這麼長時間,都不曾發現其他註釋,只能靠自己來理解每一段程式碼的作用。這說明程式的設計者,多半是根本就沒有留下任何幫助理解的文字——可能他就是那種不想讓別人輕易讀懂自己的程式碼,同時也不需要註釋來給自己備忘的人。多半,他覺得自己的程式也不需要別人的維護和改進。
第一種情況基本可以排除了。
那麼,這是關於程式產品的資訊?
“難道是產品的名字和設計者的名字?”想來想去,莫蘇石也就覺得這個答案比較合理了,“這個程式是用在小怪物身上的?海……他就是這個程式的設計者?把小怪物改造成機甲的事情,他一定也有參與吧。”
在他看來,把人類改造成機甲肯定是一件很龐大的工程,不是一個人就能完成的事情。海設計了小怪物身上的這個程式,卻不一定是改造小怪物的主謀。這是因為他對這個世界的瞭解僅限於地下城,僅限於魔術師給他的記憶。如果是生活在其他地方的人,肯定不會有這樣的疑惑。
人改兵器之父,海先生!現在的莫蘇石並不知道,這個名