重新敲一遍程式碼,勝過拷貝貼上

qwzs112.iteye.com發表於2015-12-08

  如今這個時代,Google 和 Stack Overflow 已經成為了很多開發者不可或缺的工具。但是最近,後者貌似名聲壞了。一方面,是因為表面上特別、有時候會偏離適度的原則。說得更中肯些,取笑別人是「十足 的 Stack Overflow 式的開發者」的現象,明顯增多了。

  說簡單點兒,有些人在 Stack Overflow 上扔程式碼、還大肆拷貝、貼上回答裡的程式碼示例,他們最應該得到這個稱號。他們幹起活來可能相當麻利,但是對於他們所面對的問題、以及他們樂於使用的解決方案,缺乏應有的理解。

  當然,程式碼的拷貝貼上不應該都被鄙視。我敢肯定,大部分閱讀本文的讀者(當然包括寫本 文的我!)恥於把 Stack Overflow 上的程式碼片段、原封不動地拷貝到他們自己的程式碼庫裡。那又能怎樣呢,人家的程式碼為什麼要這樣寫,我們或許根本沒有興趣去了解。從本質上講,不是每一項技術 都讓人著迷,畢竟,deadline 有時過於急迫。

  但是,果真如此的話,是不是意味著,我們漸漸就變成了十足的 Stack Overflow 式的開發者?對頭!我們肯定不希望走到這一步!

  緩解對策

  每當你想把 Stack Overflow 的一段程式碼拷貝到專案裡時,別急著斷網,而要考慮下面的技巧。

  不要使用剪貼簿。不要拷貝和貼上。而是把你找到的程式碼,重新敲一遍。

  是的,這要多花些時間。和你簡單地敲擊 Ctrl+C/Ctrl+V 相比,這肯定笨拙不堪。或許沒有多少意義:如果最終結果是一樣的,那麼,程式碼的轉移是否通過了剪貼簿,又有多大的關係呢?

  理由

  無論如何,我堅持認為,敲一遍程式碼,意義十分深遠。按照重要程度,下面列出我的理由:

  重新敲一遍,要比拷貝貼上慢,這實際上非常好。如果你發誓不再使用剪貼簿了,就不會只是尋找 Google 給出的第一條 Stack Overflow 的結果。你將權衡不同的解決方案,正常情況下,你將傾向於更短、更簡潔的方案。

  在你敲程式碼時,你不可能完全無意識地敲著。不管你是否願意,你都將潛移默化地吸收一部 分知識,因為當程式碼從瀏覽器轉移到編輯器或 IDE 時,也是在你的眼睛和大腦之間流動。你下意識地會對部分資訊感興趣,並梳理清楚,便於今後使用。即使你不想這樣做,你也會學到點兒東西。

  最重要的、也是幾乎可以肯定的是,你自己敲的東西不等同於原始程式碼片段的完全拷貝。在 你敲程式碼的過程中,只要你遵從專案正在採用的、特定的風格規範,那麼,你將不可避免地偏離原始程式碼。更有可能發生的是,你也會做出更大的修改。你將替換調 用工具函式的常見模式。為了更好的可閱讀性,你將重新組織程式碼。你將新增註釋、或抽出功能,讓其更加自文件化(self-documenting)。甚至 改善並個性化,這樣,你就能抽象並多次複用。

  此後,你剛才敲好的程式碼,就不只是你從網上找到的程式碼。它成了你自己的程式碼。

相關文章