程序員獲取編程靈感的十種方式
有時我會陷入讀著編程書但編不了程的陷阱。我不能總是找到一個可工作的有趣項目,即使我知道有大量的機會。如果你有相同的問題,這里的一些提示可能會有所幫助。
1.與其他程序員聊天
這是***的靈感來源,因為,他們會有一些你想不到的點子。即使是一些程序員朋友、一個編程小組或甚至是一個會議都行。將所有這些想法混合起來肯定會給你一個新的視角。
2.和非程序員一起聊天
首先,在那些讓你覺得快樂或挑戰(zhàn)思維的人身邊,會讓人健康,無論他們是否會寫代碼。第二,他們可以從用戶的角度給你靈感。什么會讓他們對計算機感到失望?你能想出解決方案嗎?
3.有一個專用的工作區(qū)
如果不可能有一個專門的空間,那么至少確保工作時能夠安靜,以便于你可以專注于計算機,而不受干擾。讓這個地方成為你的“革命根據(jù)地”。確保椅子舒適,可以支撐背部。手邊備好水。不要一整天坐著不動——保持健康。
4.有良好的開發(fā)環(huán)境
上一個方法提示的軟件版本。我不在乎你使用哪個編輯器(雖然我推薦vim),但確保你使用一個可以給你一些力量和靈活性的編輯器??偸鞘褂迷创a控制——尤其我建議你學習git,因為它會教你概念。始終備份工作。所有這一切將防止你在你不使用它們時可能會遭遇的極度灰心喪氣,從而失去工作。
5.秉持開放的態(tài)度
閱讀你尊敬的程序員的Twitter Feed和博客。(如果你想的話,可以看看我的twitter feed——大多是程序員。)RSS閱讀器,例如Ruby Inside或者老式的Planets,都可以是很好的新聞來源,因為它們會添加突出的新程序員,而不必你去搜索。選擇一些你通常不會閱讀的主題的博客,并訂閱它們。
是的,這可以讓你陷入閱讀代碼而不寫代碼的陷阱,但進入更大的編碼生態(tài)系統(tǒng)對你是有益的,是激發(fā)思緒的源頭。
6.閱讀優(yōu)秀的代碼
想想你喜歡的一些軟件,然后看看軟件的源代碼。有什么問題?你如何從中學習,或者更好的是,你可以怎么改善這個軟件?有很多好代碼的源,但GitHub必然是***的之一。GitHub博客上的GitHub Rebase系列列出了一些值得注意的新項目,如果你想要了解更多細節(jié)的話。
7.學習一門新的語言
這是一個經(jīng)常被提到的經(jīng)典建議。我建議學習一些以下類別中提到的東西:
-
中級:C,C ++
-
面向?qū)ο螅篟uby,Python,Java,C#
-
Functional:Scheme,Haskell,Erlang
-
Shell:Bash,Zsh,awk,sed
-
基于Set:SQL
你所知道的語言越多,你就越需要用任意的語言來思考問題。你能以更多的方式思考,你就越容易找到有趣的方法來解決問題,因此找到一個激動人心的項目。(當然,不要局限于這個列表。)
8.學習好的技巧
而不是一種特定的語言,從書中學習好的通用技術(shù),如《The Pragmatic Programmer》,《Structure and Interpretation of Computer Programs》,和《The Little Schemer》。(***兩本特別關(guān)于Scheme,但非常好,很值得一讀。)
9.找一個娛樂項目
有一個娛樂項目是很令人愉快的,當你在其他項目上受到挫折時,你就可以轉(zhuǎn)而去搞搞娛樂項目。不管是什么樣的娛樂項目,只要你有即可。不要感到被迫分享它或使它成為某種成功——它只是幫助你解決問題的玩意兒。
10.寫一個游戲
很多人認為編寫游戲是在浪費時間,因為很少有獨立游戲在商業(yè)上是可行的,但如果你是玩家,那么還是寫一個吧。它是治療性的,有很多深刻的概念會在你在工作的時候自然而然地浮現(xiàn)在你腦中。我就寫了一些小游戲,幾乎所有都沒有發(fā)布過;它們是試驗,也是寶貴的經(jīng)驗財富。如果你不知道怎么起頭,那么試試Roguelike。
11.采取暴力方法
我知道,題目說是10個方法,但是這一條是在你真的有了靈感之后的獎勵提示??纯茨愕木幊虝?,RSS訂閱,twitter,Stack Overflow或任何其他編程信息的源。找到兩個不相關(guān)的主題,甚至你只覺得略有趣味?,F(xiàn)在找到方法來連接兩者。即使有點模糊。
例如,就隨機的,我選擇了解析器和…無障礙環(huán)境。你可以了解它們,然后編寫一個HTML解析器,并特別關(guān)注無障礙因素。截至今天,我沒有看到太多關(guān)于這個主題的代碼,所以這可能是一件好事。(這里有一個開源的無障礙測試器,我找到的一個例子,但一個是不夠的。)
譯文鏈接:http://www.codeceo.com/article/10-inspiration-as-a-programmer.html
英文原文:10 Ways to Get Inspiration as a Programmer