先思再行 閉著眼睛編程

來源: CSDN  發布時間: 2012-09-26 12:13  閱讀: 5427 次  推薦: 35   原文鏈接   [收藏]  
摘要:解決問題最重要的習慣不是一直盯著屏幕和編寫/修改代碼,某些時候,阻止你成功的東西恰恰會是過于努力。這時候你需要暫停一下,平緩你的思緒,換一種方法或許能帶給你不一樣的效果。

  英文原文鏈接:Programming with closed eyes

  你會花多少時間思考如何編寫代碼?

  乍看這是一個引人思考的深層次問題,在編程專業中常有這樣的誤解,軟件開發就是寫代碼。軟件開發實為一門藝術,而代碼僅僅是通往藝術之門的工具。好比燃料和畫布是畫家的工具一樣,寫代碼的目的是實現某種策略和思路。對程序員來說,他的目標是開發出完整的軟件系統,按照需求完成各個功能模塊或許是某種無形的思路、特性。比如一個深思熟慮的架構、明確的內部組織和代碼質量,最后將這些進行整合。畫家每隔一小段時間會停下來重新評估進展和繪畫,看看是否達到自己的要求,程序員也一樣,必須定期審查代碼、查看進展、檢查思路是否實現。

  那么你平時是如何工作的呢?是否確定工作區后就埋頭苦干?什么都無法阻止你的前進呢?如果這個描述很適合你,那么你做的一切都有可能是錯的。

  所有好的軟件都有共同之處——他們都設計精良。同樣,大多數失敗的案例也會有相同之處——缺乏結構和視覺上的盛宴,最終導致崩潰。軟件開發是一項智力活動,這一切都歸結于實現的結構和在混亂中找到開發軟件的最佳理念。

  我做過一個非常有趣的觀察。在我第一年的編程生涯中,我設法在規定的時間里開發出大量的代碼。結果大多數代碼都需要重新開發、設計甚至是丟棄。速度提高了,而效率卻明顯下降了,欲速則不達。隨著的時間推移,我學會一小步一小步前進,在開發前進行仔細分析思考,然后再開始開發、編碼。結果發現代碼生成速度下降了好幾倍,而成功率幾乎達到100%,是不是有點戲劇性。我越來越多采用這種策略進行編程,我沒有堅持把時間直接轉換成代碼量。事實上,我經常每天只寫幾行代碼甚至有些時候會再刪除幾行。反而讓我的代碼從整體上更加簡潔、效率更高。

  許多程序員都體驗過這種黑暗感覺,當你看到許多大大小小的缺陷都摻雜在一起的那種混亂,當走到這一步再回頭重新修改設計代碼,你會意識到為時已晚并且是毫無意義的,因為你繼續下去的工作本質上已經是被丟棄的。

  對此,你還能做什么?

  事實上,你可以!學會把更多的時間用來思考并且減少代碼輸入。我發現長時間的盯著屏幕并不會幫助你找到解決問題的方式。當思緒被卡住的時候,我會放棄繼續工作,離開電腦和所思考的問題。當我漫步在公園和一些安靜的場所時,常常會想到一些非常棒的思路和理念。實際上你可以試著閉著眼睛編程,燈光和周圍的一切都不會影響到你,片刻的休息會給你帶來轟動的、突破性的思路。 我最喜歡的地方是浴室,它可以讓人放松和平靜下來,聽到照亮內心的那些非常安靜的想法和靈感。

  解決問題最重要的習慣不是一直盯著屏幕和編寫/修改代碼,某些時候,阻止你成功的東西恰恰會是過于努力。這時候你需要暫停一下,平緩你的思緒,換一種方法或許能帶給你不一樣的效果。

35
1
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()