近幾年互聯網的發展越來越好,在國外,Java程序員已經成為高薪以及穩定職業的代表,雖然國內的有些程序員很苦逼,但是那只是少數,按照國外的大方向來看,程序員還是一個很吃香的職業。根據編程語言的流行程度,Java語言排名現在基本是在編程語言排行榜前幾位,既然這么多人選擇了Java開發,今天就來說下剛接觸Java編程的學員要克服的6個坎,在我們學習編程的過程中,肯定會遇到很多的困難,僅僅是靠興趣是不足以支撐我們走下去的,所以學習一門語言,就要克服6個坎。
不正確的學習動機
不要只是為了編程而學編程,也不要因為聽說它很酷,很劃得來就來學編程。你得因為要解決問題而學習編程,你得因為想要自動化和改善生活而學習編程,你得因為想要構建應用程序以造福社會來學習編程。
如果你只是喜歡編程,并希望以此作為職業的話,那么在之后的學習過程中,你可能會有一種強烈的沖動想要放棄。這通常發生在事情變得艱難,學習體驗變得痛苦的情況下。這時你會告訴自己,你不喜歡編程了,編程操作不適合你,覺得自己天生就成不了程序員。
這就是為什么你應該考慮圍繞著完成項目設置目標的原因。如果你的心里有計劃,或者你想要解決更高層次的問題,那么你可以對自己說:“這可能不是一次愉快的經歷,但是我真的想要解決這個大問題,所以我一定要克服這個障礙。”
不知道從什么技術入手
很多人會問:“我應該先學什么編程語言?”之所以會提出這個問題,是因為他們不知道自己為什么要學習代碼。
一旦你下定決心去完成一個特定的項目,那么從什么語言入手這個問題就變成一件很容易的事情:
如果你想構建iOSapp,那么你需要學習ObjectiveC或Swift。
如果你想構建Androidapp,那么你需要學習Java。
如果你想構建Webapp,那么你需要學習JavaScript。
其實現在我們可以使用JavaScript來創建任何類型的項目——無論是簡單的web和移動app,還是高級的硬件項目。大多數行業中都有它的身影:音樂、醫療、游戲、時裝。這種語言非常值得學習。
不吸取解決任務中獲得的經驗
最好的情況是,你解決了任務并且結果證明非常不錯。此時,很多人往往就直接開展下一個任務。但是如果你這樣做的,那么你浪費了一個很好的學習機會。
希望你能夠用以下問題來挑戰自我,幫助自己成長:
哪些邊界情況會導致我的代碼失敗?即使現在還沒有失敗,有哪些應用程序狀態可能會破壞代碼?
我的代碼是否足夠整潔?對其他開發人員,甚至是自己而言,代碼是否易于理解和改變?因為以后可能需要改正隱藏在這段代碼中的問題,或者根據其他產品規格改變代碼。
我的方法是比較好的嗎?有沒有其他選項是我可以選擇使用的?各個方案的利弊?這任務是否值得用不同的方式解決?
此模塊與其他模塊是如何交互的?是否會對其他模塊造成負面影響?是否容易被其他模塊影響?
不能學以致用,以及責備自己
很快大多數學習者掌握了理論知識,甚至完全可以自己來解釋某個代碼片段的工作原理。理論只是概念的有限集合。
習者碰到的大問題在于,實際應用理論來解決問題并編寫新代碼的時候。這中間的差距實際上就是技能空白。
認為自己不夠聰明,或者覺得自己沒有天賦。這其實跟聰明天賦沒有關系,你只是需要練習技能的過程:
選擇一個復雜的項目。理想情況下,這項目得能夠激發你的興趣。
將這個任務分割成既小又獨立的任務。例如,“實現登錄頁面”是一個很大的任務。解決一個任務不應該超過20行左右的代碼。下面這些提示有助于成功做到這一點:
如果你不能解決這個任務,那么進一步將它分割成更小的任務。一個任務一次不應該使用太多的理論概念。
一次專注一項任務,而不是并行解決多任務。不要跳到下一個任務,除非你已經徹底測試過當前任務,并確信沒有問題。
如果你不這么做,而此時應用程序又出現了問題,那么你就不知道你正在并行解決的多任務中到底是哪個出了問題,尋找起來就麻煩多了。
確保自己在開始任務之前知道所有必要的理論知識。有時候,你可能不知道需要學習什么理論,這很正常,所以你需要向他人尋求幫助:程序員朋友,導師。
最后,你解決了任務。在解決任務的過程中,你可能會碰到很多問題,你需要做的就是吸取教訓,這也是下面要說的要點:
解決方案不管用
這是編程中常見的情況,哪怕是那些經驗豐富的程序員也是如此。你的解決方案之所以不起作用最大的可能是你的代碼中存在著bug。
如何修改?方法是調試代碼。這也是作為一個程序員需要學習的重要技能之一。這不是可以隨便湊合的事,也不是玩幸運猜猜猜游戲。如何尋找bug是有具體步驟的。而且很多書中都有教這個技能。
不幸的是,這是很多新手程序員失去動力選擇放棄的難關。很少有課程會說明調試的重要性。如果你不知道如何正確地調試,那么它就是不可戰勝無法攻克的難關。
很多人擔心會花太多時間用于調試代碼。這是正常的,在你第一年的編程規劃中這是不可避免的。
甚至,你還得學著去喜歡調試。不妨將此看成是一個機會,一個修改錯誤提高編程能力的機會。當你解決了一個bug,可以問問自己這個問題:“我為什么會犯這種錯誤?以后我該如何預防再犯?”
還有一個好主意是將找到的bug寫成編程日記,方便你總結和學習。
不去應用你學到的理論
這篇文章也是理論知識,除非你能夠學以致用,否則它是不會發揮一絲一毫作用的——多多應用,直到它變成潛意思的例行程序。
編程其實就是通過形成良好的習慣來幫助你解決各種問題的過程。
想要知道更多相關內容關注“動力節點Java學院”微信公眾號獲取,現在報名學Java,可免費參加動力節點的Java零基礎免費試學班級,親自考察教學質量,針對不方便前來的同學,可以在線觀看動力節點Java全套免費視頻,趕快學起來吧。