對於一名程式師來說, 在工作日常中, 多多少少都會碰到這麼一個尷尬的情況:對著電腦憋了半天都寫不出一行代碼。 眼睜睜地看著你, 卻無能為力...寫不出代碼這種感覺非常讓人心塞。
程式設計最重要的是實踐, 就是寫代碼、看別人寫的代碼、再寫代碼, 你看再多的書, 不寫代碼, 你還是不會程式設計。 但是寫代碼也要講究方法循序漸進, 不能剛學了幾天語法, 就想寫個作業系統什麼的, 樹立這種不切實際的目標只會讓你的自信受到嚴重打擊迷失自我。 同時小編推薦一個學C/C++的學習群627819188無論你是大牛還是小白,
程式設計, 或者更嚴格的叫程式設計, 其本質就是用高度邏輯化的方法去描述一個模型, 並以這個模型為基礎來解決具體的問題。
在程式設計中所面臨的一切問題, 將其抽象昇華之後最終都可以總結成兩部分, 即這個模型包含了多少個元結構, 以及是以何種方式來組織這些元結構。
所謂的元結構, 也可以理解為某種最基本的不可分拆的運算式, 或者說基本的運算法則, 或者用更專業的詞來說叫指令。 而元結構的組織方式則描述了如何這些元結構如何互相連接組合, 並最終一磚一瓦的組成了軟體這種摩天大樓。
就好像無論多麼複雜的數學問題, 最終都可以一步一步的拆分到最基本的運算和公理上一樣;對於程式設計來說, 每一個程式最終都可以被分解成一個一個最基本的指令以及這些指令的契合方式。 通過程式師對於問題的分析和理解, 將其拆分成簡單的結構並用合適的方法來描述就是, 這個行為就可以稱之為程式設計。
即使是最優秀的程式師也會遭遇無法解決的軟體工程問題。 碰到這樣的問題, 並不一定意味著你缺乏技能或知識。
程式設計不是一項容易的工作, 我們可以通過採取非正統的方法來保持你想要的生產力水準, 並確保提交高品質的代碼。
為什麼會寫不出代碼
這個時候你應該去找原因為什麼寫不出代碼,
興趣和樂趣:如果不喜歡程式設計, 固然也不會出寫好代碼, 甚至寫不出代碼。 這一點非常重要。
業務不熟悉:看過我在回答的同學都知道, 之前有回答過十年前的程式師和現在的程式員工作有哪些不同, 現在很多互聯網公司與之前傳統軟體公司在程式師這個崗位上,
缺乏程式設計思維:看過【大道至簡】的同學都應該知道, 代碼的核心不是你寫的代碼多少、多簡單, 而是代碼的執行效率更高、性能更好、更易擴展。 這一點對正在學習過程中的人體現的更加明顯。
遇到問題時心態變化
如果我在一個問題上花了幾個小時, 卻仍然找不到解決方案的話, 最後我會覺得這是浪費了時間。 會顯得非常焦躁, 會產生很多情緒。 如下:
沒有憤怒和悲傷。 因為我們已經嘗試過所有方向, 只是都走不通而已。 失去希望, 於是開始想辭職不幹。 我覺得自己應該換工作,
這些都是我在不敲代碼時的想法。 我開始懷疑生活, 懷疑編碼, 懷疑人生。
有成效不?好吧, 我從來沒聽任何專家說過“辭職和萎靡不振”可以造就偉大的代碼, 所以可能並沒有成效。
如果你是正在學習程式設計的過程中你的腦子裡或許會浮現“算了吧”、“放棄吧”之類的字眼。
如何避免心態的奔潰
重新發現問題, 重新發現你的生產力。 可能你已經行進在這條路上了。 那麼此時你只要繼續就可以了, 我可能沒有什麼新的東西可以告訴你的。
如果你是新手, 那麼可能你還不知道如何重新發現生產力, 那麼請你接著看下去。
不斷嘗試新的解決方案, 知道你發現你想不出任何新的方案
在你研究或詢問其他開發人員之前,你應該嘗試使用你現有的知識和思維來制定每一個可能的解決方案。顯而易見的是,太多的人是從詢問他人開始的,自己甚至都不曾靜下心來分析問題本身。不要成為這樣的討厭鬼,盡可能不要浪費別人的時間。
學會使用搜尋引擎
當你投入於代碼,卻沒有什麼成果的時候,那麼下一步你可以嘗試開原始程式碼。許多程式設計人員構建軟體,是出於創造解決方案並線上發佈以供大家使用的樂趣。有些人發佈的代碼曾被它們的程式師使用于商業專案。
GitHub 是尋找開原始程式碼的兩個主要地方之一。另一個是 StackOverflow。
這些網站的解決方案是採用可重用代碼的形式,方便你在項目中實現。
如果你是正在學習程式設計的同學可以上百度、穀歌、stackoverflow這些網站搜一遍基本都會有結果
使用其他人開發的代碼總是有風險的。它可能會以你意想不到的方式改變程式的行為。備份原始代碼,這是常識。
明確問題所在並請教他人
你有沒有碰到過這樣的情況,向其他人求助卻發現你甚至不知道自己在問什麼?在詢問任何人之前,你得準備好一些你無法通過網路資訊搜索解答的問題。明確的問題,才能有明確的解決方案。如果是你自己都描述得雲裡霧裡的問題——那麼你只會得到一個雲裡霧裡的回答。
有條件找認識的學長、老師、大牛提問,你也可以在網上討論。你可以在各大社交論壇上詢問,或查找特別針對於你所用技術頻道。
如果一切都失敗,那就暫時放下
不要一心鑽在死胡同裡,實在不行,那就去幹點別的事——睡覺,吃東西,等等。把你自己的心態調整好。在程式設計和生活兩者之間保持了一種健康的平衡。無論你是為了興趣愛好、錢還是改變世界的宏圖偉業而選擇程式設計——程式設計都不應該是你唯一癡迷的東西,否則你會走火入魔。
最後再說一句,如果你絞盡腦汁,卻仍然無法解決問題,那麼不妨先放一放。放鬆下自己,搞不好突破性的想法就會靈光乍現。
一點建議
多寫一點小的程式碼。從一開始比著別人的寫,多寫幾遍多思考,一直能到最終你可以把這些小程式碼寫出來完畢。
其實寫代碼也是一個記憶的過程。這也就要求應該多記憶,多理解。每擱一段時間之後,多回來看看以前寫的內容。
可以加強基礎知識的學習,重點理解結構語法。其實很多代碼就是自己思路加上基礎語法的集合。
多思考完成這個程式的邏輯。思考整個流程。在寫代碼之前先想好了。然後再去寫。
同樣在看別人代碼的時候,也要注意寫代碼的邏輯和方法。
程式設計從某種程度上來說僅僅是把你的想法,用程式化的方法實現出來而已。所以,要麼你沒想清楚自己要幹嘛,要麼程式設計語言的基礎你沒學好。要麼是你自己陷入了思維的死胡同。
知道你發現你想不出任何新的方案在你研究或詢問其他開發人員之前,你應該嘗試使用你現有的知識和思維來制定每一個可能的解決方案。顯而易見的是,太多的人是從詢問他人開始的,自己甚至都不曾靜下心來分析問題本身。不要成為這樣的討厭鬼,盡可能不要浪費別人的時間。
學會使用搜尋引擎
當你投入於代碼,卻沒有什麼成果的時候,那麼下一步你可以嘗試開原始程式碼。許多程式設計人員構建軟體,是出於創造解決方案並線上發佈以供大家使用的樂趣。有些人發佈的代碼曾被它們的程式師使用于商業專案。
GitHub 是尋找開原始程式碼的兩個主要地方之一。另一個是 StackOverflow。
這些網站的解決方案是採用可重用代碼的形式,方便你在項目中實現。
如果你是正在學習程式設計的同學可以上百度、穀歌、stackoverflow這些網站搜一遍基本都會有結果
使用其他人開發的代碼總是有風險的。它可能會以你意想不到的方式改變程式的行為。備份原始代碼,這是常識。
明確問題所在並請教他人
你有沒有碰到過這樣的情況,向其他人求助卻發現你甚至不知道自己在問什麼?在詢問任何人之前,你得準備好一些你無法通過網路資訊搜索解答的問題。明確的問題,才能有明確的解決方案。如果是你自己都描述得雲裡霧裡的問題——那麼你只會得到一個雲裡霧裡的回答。
有條件找認識的學長、老師、大牛提問,你也可以在網上討論。你可以在各大社交論壇上詢問,或查找特別針對於你所用技術頻道。
如果一切都失敗,那就暫時放下
不要一心鑽在死胡同裡,實在不行,那就去幹點別的事——睡覺,吃東西,等等。把你自己的心態調整好。在程式設計和生活兩者之間保持了一種健康的平衡。無論你是為了興趣愛好、錢還是改變世界的宏圖偉業而選擇程式設計——程式設計都不應該是你唯一癡迷的東西,否則你會走火入魔。
最後再說一句,如果你絞盡腦汁,卻仍然無法解決問題,那麼不妨先放一放。放鬆下自己,搞不好突破性的想法就會靈光乍現。
一點建議
多寫一點小的程式碼。從一開始比著別人的寫,多寫幾遍多思考,一直能到最終你可以把這些小程式碼寫出來完畢。
其實寫代碼也是一個記憶的過程。這也就要求應該多記憶,多理解。每擱一段時間之後,多回來看看以前寫的內容。
可以加強基礎知識的學習,重點理解結構語法。其實很多代碼就是自己思路加上基礎語法的集合。
多思考完成這個程式的邏輯。思考整個流程。在寫代碼之前先想好了。然後再去寫。
同樣在看別人代碼的時候,也要注意寫代碼的邏輯和方法。
程式設計從某種程度上來說僅僅是把你的想法,用程式化的方法實現出來而已。所以,要麼你沒想清楚自己要幹嘛,要麼程式設計語言的基礎你沒學好。要麼是你自己陷入了思維的死胡同。