當前位置:
首頁 > 最新 > 10個編程提示,讓你在實踐中更高效、更具創造性

10個編程提示,讓你在實踐中更高效、更具創造性

不知你有沒有注意到,編程並沒有非常好的自學書籍。當然,有很多片段的解釋能從理論上指導各種編程語言。但是程序員們的實際行為方式呢?如果你追 Silicon Valley 這個(美國)電視節目,你就會知道,程序員也會像作家一樣在工作中受到阻礙:理查德不再睡覺,穿著衣服走進一個游泳池。但一定會有更好的辦法。

其實,作家知道程序員遇到障礙的秘密。如果你是一個程序員(無論新手還是專家),這十個寫作提示將幫助你成為一個更有效率、更具創造性和更自信的程序員。

這些提示來自哪裡?為了在教師訪談期間緩解我去年關於博士學位的內疚感,我讀了很多關於飛機寫作的書(參見末尾的閱讀清單)。我發現許多書中,都有適用於編程的見解和方法。

當然,這個清單是從零開始的。

Tip 0

程序優先

把編程安排在重點位置,畢竟人們整天都很忙。具體該怎麼做呢?我們早上時是最有創意的,所以讓你每天早晨的第一個小時變得神聖不可侵犯。不安排會議,不要檢查你的電子郵件或社交平台。如果你早晨在家,甚至不要刷牙。對我來說,喝杯咖啡很有必要。但此後,只需要讓你自己坐在椅子上(有人說,作家最有用的工具是膠水)。

把這段時間像一個會議一樣安排進你的日程表,並防止這段時間免受其他任何事件的影響。

Tip 1

不要害怕使用紙張

在打開電腦之前,先在腦海中勾畫出你的想法,列一個列表並在記事本上注釋。《在十五分鐘內撰寫論文》強調了達到零草稿的重要性,而概念模板早於初稿,你已經花了所有傍晚和晚上的時間去思考、產生想法,現在只需要將它們表現出來。

< Artist』s Way > 主張,自由的寫作能幫你成為一個更好的程序員(或者雕塑家、投資銀行家)。所以什麼方式對你編程有效,就用什麼方式。

Tip 2

建立編程計劃

人類是具有「習慣性」的生物。因此,使編程成為你計劃的一部分,為它設定合理的目標。這個理念來自於< Writing Down the Bones >。一段時間後當你形成習慣,如果某天沒有編程,你就會覺得好像忘了什麼事。

Tip 3

跟蹤想法以及bug

建立一個記錄想法和問題的日誌,當你受到阻礙或想要尋找其他事的解決方法,可以返回查找。建立編程計劃(Tip 2)是第一步。但創造力並不總是遵循著計劃走,或者你可能正在忙於其他事情。所以,儘可能地記住你的靈光乍現。

有人說寫作會鼓勵人更多的去寫作。所以編程越多,你就會對編程產生越多的想法。我平時總是隨身攜帶一本筆記本,以隨時記錄自己的想法。

Tip 4

交朋友

保持責任心會讓我們做得更好。在你設定目標的周期內保持每周自查,與大家討論編程中遇到的問題,共享資源和策略。

例如,我在CMU做計算機視覺的朋友每個星期一早上都會在校園咖啡廳做15分鐘的常規會議。這樣的交流能親自去現場參加最好,如果不能去,還可以用在線論壇。當你向人們請教代碼問題,他們可能會迫不及待的和你分享。

Tip 5

借鑒他人

就像把事情分開一般往往是把事情放在一起,程序員可以通過閱讀和修改他人代碼來為代碼開發一個「耳朵」。在< The Sense of Style >中,Stephen Pinker強調「好的作家是狂熱的讀者」。

與寫作(借鑒被認為是抄襲)不同,程序員將已有的庫和樣本用來支撐自己的項目是非常被鼓勵的。你可以參考這些代碼的來源,但是當已有人弄清楚一個問題時,沒有必要重新發明輪子。

Tip 6

認真沉思

創造的過程,就是將你腦海中的代碼進行結構化,體現到實際中並用它們解決某個問題。想像一下,在辦公室里有兩個書桌,一個用於寫作(此Tip),一個用於編輯(Tip 7)。從書桌能望向窗外,你可以異想天開、開放思考,像追逐蝴蝶一樣追逐你腦海中的想法。

不要害怕散步,或者害怕嘗試可能是,也可能不是最好的最終解決方案。我最有生產能力的實習生之一,當想弄清楚她代碼下一步該怎樣寫,她喜歡在CMU的走廊上走路。編程就像寫作一樣,不僅僅是在屏幕上打字,更重要的是你腦中想的東西。所以在種植前,先為土壤施肥而慶祝,然後再澆水。

Tip 7

無情(但非卑鄙)

如果你處於編輯階段,你經常會「殺死你的親愛的」。這句話已經被許多作家,包括史蒂芬·金所推崇。這是關於消除多餘的代碼。

例如,你可能花了很多時間讓一個代碼塊工作,但現在你有更好的方式來取代它。如果你真的不能忍受它,那就消除它。 Google 為員工提供了失敗獎金,用於一些永遠無法解決的項目(引自< How Google Works >)。所以,從你的代碼存在的根本價值出發,而不是從自己的感情出發。

Tip 8

對知識局限性保持警惕

我們通常不會用彙編語言編程的原因之一是它不容易被人讀取。較高級別的編程語言讓我們覺得抽象,所以我們應該選擇有意義的抽象語言。調用一些變數1和變數2對於任何其他使用你的代碼的人(特別是你自己)會事倍功半,尤其是這些代碼之後還會被刪改。

寫作最大的挑戰之一是確保讀者能順利跟上。使用空格、評論你的代碼、花時間去創造能被理解的抽象和結構。如果人們不能理解的話,你的文章(或者代碼)有多麼優秀並不重要。

Tip 9

停在一個向下的滑坡

每天早上應該從前一天開始,每天將最後10%的時間用於準備第二天的工作。你可以為下一個代碼塊的結構做注釋,也可以做一個事項列表。

我曾駕駛一輛換乘車,通過並停在一個向下的斜坡上,我知道即使車的電池一夜之間耗完,我也能利用山的潛力來啟動引擎。這就像在前一天晚上放好你的運動服。第二天,你只要直接走就好。

將以上10點視為程序員的自學列表。編程是一個創造性的過程,就像寫作一樣,我相信這10個提示可以讓你更有創意、更有成就、更不容易陷入困境。

閱讀清單

Writing Your Dissertation in Fifteen Minutes a Day. Joan Bolker.

The Artist』s Way. Julia Cameron.

Writing Down the Bones. Natalie Goldberg.

On Writing: A Memoir of the Craft. Stephen King.

The Sense of Style. Steven Pinker.

How to Write a Lot: A Practical Guide to Productive Academic Writing. Paul J. Silvia.

If You Want to Write. Brenda Ueland.

On Writing Well: The Classic Guide to Writing Nonfiction. William Zinsser.

51CTO學院4周年慶來啦!

4年風雨相伴,感恩一路有你!

各種活動接踵而至,更有N波驚喜大獎助興!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 51CTO 的精彩文章:

程序員的深夜食堂
五分鐘教程:如何在Docker當中運行平行測試
你相信嗎?這些互聯網大佬們以前都是程序員
態牛-Tech Neo 5月刊:深度學習

TAG:51CTO |

您可能感興趣

最適合鍛煉編碼技能的10個最佳編程遊戲!
81歲自學編程的開發者:阻礙你實現夢想的,從來就不是年齡
鍾超:基因編程時代已來臨?它如何改造微生物,創造新材料
谷歌 CEO 表示:比編程能力更重要的是持續學習
谷歌CEO:比編程能力更重要的是持續學習
81歲自學編程,蘋果最高齡iOS開發者:阻礙你實現夢想的,從來就不是年齡
製造業透過快速編程迎戰彈性製造
10個值得推薦的學習編程的網站
學編程開始前就該知道的工具集,提升五倍學習效率
谷歌CEO:比編程能力更重要的是持續學習!
為了讓孩子學習更主動,MIT創建了一個AR可視化編程平台
少兒編程,為更好的世界
其實學編程不難,難的是心中的那個本我
2018,編程語言與開源的趨勢發生了哪些有趣變化?
對於編程學習,什麼才是最重要的?
其實我也很害怕編程
編程,讓大腦更靈活,讓生活更美好
展望2018:為什麼都說編程是有史以來最好的工作?
11種最佳編程字體中的哪款適合你?
32行代碼輕鬆搞定很酷的C語言窗口抖動,10分鐘愛上編程