Ⅰ 程序員如何提高自己的編程技巧
可讀性:函數命名隨意,實現邏輯混亂,代碼格式不統一。。。
可靠性:程序運行很難穩定,bug百出。。。
維護性:代碼邏輯沒有層次,混成一團,很難維護改進
移植性、重用性:許多人寫的代碼,只能各自使用,很少有能共享的功能性代碼
高效性:很少從演算法、資源佔用、執行效率等角度去考慮,經常導致伺服器負載過重
那麼我們改進時,就可以從以上幾點出發。
總結了一下自己以前的經驗,主要有以下幾點:
提高自己的程序語言基礎。對於許多新手程序員來說,只是簡單的學會了該語言,知道一些簡單的用法。但是實際編程的時候,許多寫法、用法不標准。舉一個很常見的例子:許多人剛剛學c++,java等面向對象編程的語言時,雖然知道了類、知道了類一般都有「多態」的特性,但是他們還是經常會用「類型判斷」去判斷某個對象是屬於哪個類的實例、然後強制轉換、再調用方法。卻完全忽略可以用多態來避免這種醜陋的實現!
熟悉語言規范。如果不知道自己所學的語言還有規范,那麼建議你現在去查找。說個簡單的規范,Java的類名要取得有意義、首字母要大寫。再比如:一個函數只實現一個功能。再比如一個復雜的:連續的if else條件判斷最好不要超過10個。
培養自己嚴謹的邏輯思維能力。我們寫程序,至少都會在腦海里走一遍程序的流程。如果流程走通最後卻出現bug,那麼就是流程的某個細節我們沒有考慮到!有的時候,我們總是自認為自己已經考慮的非常全面了,其實不然。同樣舉一個例子:對一個集合,寫個for循環按照一定的條件刪除裡面的元素。其實這裡面隱藏了一個「集合在動態變化」的陷阱。比如說,將第一個元素刪除了,如果集合的數據結構是將第二個元素移動到第一個元素上,那麼,第二個元素就遍歷不到了。所以,有時候,我們看似很簡單,覺得邏輯非常正確的代碼,可能就潛伏著陷阱。
熟悉所用語言的API。學一門語言,其實不只是學語法,學語義。更重要的是學基本的API類庫。因為你實際編程的時候,自己所寫的代碼其實很少,大部分都是用的別人的API,將許多API的功能穿起來,才是自己實現的功能。用好的API,能增加代碼質量、提高代碼可讀性、減少代碼bug、減少工作量。就比如說堆棧這個數據結構,程序員基本都知道,但是大部分人可能都不能實現一個正確的堆棧API。
熟悉了解一些數據結構、演算法。平常寫程序時,或多或少都要接觸一些常用的數據結構,比如說鏈表、map等,了解它們的原理對於那些沒學過數據結構的人來說很重要。很多時候,一個簡單的功能被實現的超級復雜的原因就是沒有使用簡單清晰的數據結構。
掌握一些編程思想、設計模式,這會讓你的代碼更加具有結構性、條理更加清晰!比如說,面向介面的編程思想,能讓你的代碼易於修改、易於擴展。如果更進一步,站在架構的角度去考慮。
多看高手代碼,讀一些優秀的開源代碼,看一些經典的書籍。比如說《Effective C++》、《Effective Java》、lucene的源碼。這些會讓你提升巨大,只有了解到高手眼中的世界,才能有成為高手的可能!
代碼重構。多回顧之前寫的代碼,進行一個系統性的整理。因為我們起初開發,不是面面都能想到,許多新東西是不可避免的,這就意味著可能會導致一些邏輯混亂。在開發完成後,多回顧回顧,尋找能改進之處,這也是一種進步。
即時缺少高屋建瓴的能力,我們也應該多從全局的角度去考慮整個工程的代碼的層次、模塊、架構等問題點。可以嘗試著進行功能點拆分、介面交互設計等工作。
為自己的代碼添加測試用例。可能因為懶惰,許多程序員基本都不會為自己的代碼添加測試用例,這其實是一個不好的習慣。即時是有測試人員的團隊,添加測試用例對你的好處也是顯而易見的。
至於從團隊的角度,可以考慮建立以下幾點:完整的規范、執行流程、review機制和輔助工具。由於本篇文章主要針對的是個人,就不展開。工具方面,可以考慮開源的ReviewBoard。
個人的代碼質量提上來,團隊的水平才能提上來,公司的效率才能提升。其實最主要的是,個人的層次、境界才能提升!
Ⅱ 編程很廢腦子,那麼如何高效的學習編程
互聯網產業的快速發展,使越來越多的人開始進入計算機行業,並從事相關工作。對於初學者來說,不可能一讀就把它擊倒,除非它是一種永遠不會忘記的天賦。每個初學者的學習過程都很慢。對於初學者來說,我們不應該過分考慮學習的效率。我們應該更加註重學習的質量。
讓你自己定義這些概念或在簡短的程序中使用它們,強迫你以某種方式展示你的理解。這個過程通常是不舒服的,但它對形成長期記憶非常有效。你可以在閱讀材料前進行測試。試著在讀一章之前做練習。值得一提的是,這也被證明有助於記憶的形成。程序也是一門手藝,就像其他手藝一樣,你要練才能精通。編碼是揭露程序錯誤假設的最好方法。你做得越快,糾正錯誤和提高技能的速度就越快。嘗試不同的語言,用小例子編寫代碼,然後用它們來構建小項目。一旦你找到了一門或一系列能引起你共鳴的語言,以及如何處理問題,就要堅持下去,並定期練習。
Ⅲ 學習編程枯燥嗎怎麼解決
世界上沒有一種東西是枯燥的,也沒有一種東西是不枯燥的,要因人而異。讓一個學文的人去練武,他一定會覺得枯燥的不行;讓一個不喜歡玩游戲的人坐電腦前打一天游戲,他也會覺得無聊。
學編程,確實是比較枯燥的,你面對的是一行一行的代碼和bug,甚至都會崩潰到想放棄。
那面對這種情況怎麼辦呢?
首先,你要時刻記著你最開始選擇學編程的原因是什麼?一般都是為了程序員的高工資吧,為了學成以後找一個好工作,早日實現財務自由。這也是很好的一個提醒自己的方式,心中告訴自己,一定要堅持,一定要好好學。堅持完這幾個月找一個好工作就輕鬆了。
另外,還可以找一個一起學習的小夥伴,互相監督,在學不進去的時候能督促你一下,在有不懂的知識點的時候還能互相討論,也是個不錯的辦法。
最後,培養自己對編程的興趣,喜歡上編程,當實現一個功能,完成一個小項目的時候,會充滿成就感、自豪感。所謂,干一行,愛一行。如果不熱愛編程,僅僅是為了高工資去學習,當工作以後,一個月一萬多的工資就滿足了。恐怕也就止步於此了。
Ⅳ 總想學習好編程,但總是沒有堅持下來,怎麼辦(我不是很喜歡編程)
在計劃時,不要設置高的目標,或者不要設置目標。這樣才可以有繼續下去的勇氣。不然容易有挫折感。
現在這個年代,不是以前了。以前標榜強干、沒日沒夜地拚命干;現在要講究在有興趣、寬松、有信心的狀態下學習和工作。如果感覺壓力很大,現調整自己的心理,然後再自然愉悅的狀態下接受新知識。
你說你「總是沒有堅持下來」,這是你對以前的總結。但是這個總結並不好,並且影響了你現在學習的動力和信心。要知道,你現在只是處在一個邁向目標的過程中,要享受這個過程,不要給這個過程中的任何「你自認為的挫折」下定義。這樣嚴重影響你重整旗鼓的信心。
不要強迫自己,調整自己,享受過程。
Ⅳ 我很喜歡編程,但是我很懶,不想學習,怎麼能去掉懶惰
培養興趣,只是說喜歡,其實可能自己都不知道自己有多喜歡或者其實是不喜歡。如果時間還富裕的話,就多去了解點,看看編程能做什麼,對自己而言有什麼用,自己需要編程來干什麼。如果真是想要的東西,真正喜歡,自然就會有動力。
用正確的方式去發展和學習。買正規點的編程教程書籍,前期多看點理論和概念,理論和概念看得多了,就實踐動手寫下小程序練練。用正確的方式去做,學有所得,做有所感,就不會有什麼太麻煩或不想去做的心情了。
如果你沒有上面的所謂富裕時間和基本的書,電腦……之類的基本條件,那就稍微麻煩了,只能靠毅力什麼的了
Ⅵ 學計算機專業的不會編程啊怎麼辦
編程沒有你想像的那麼難。c語言從入門的角度看還旁薯基是很簡單的。如果你覺得看書很難,不妨下手老載一些視頻看看,這個土豆、優酷、網路都能搜索到,要找到適合自己的學習方法。學習編程,總是要伴隨大量練習的,只有這樣,才能深入理解並且快速掌握。我大一學完C語言,基本什麼都不會(可能是我懶),考試抄過的。但是課程設計搞那個成績管理系統,認真去做了一周多,C語言就會了。然後邊學邊做。
Ⅶ 學習編程好累 學不會怎麼辦
這個問題關鍵要看自己本身,俗話說興趣是人最好的老師,對一件事感興趣才回去想做成功它,第二這個你不能問別人,學會的肯定會說不難,相反學不會的會覺得很難,難不難在於學習程度深淺的問題,JAVA基礎學習肯定是易於學習,已於上手的,
自學Java難不難,應該還算是挺難的吧??純自學還是有點難度的?
為什麼?自製力的問題。並不是誰都可以坐在那一天去學習Java的。就比如我當時的班級,畢業後做程序員的也沒一半(還是計算機專業了),自學難度可能就更大了。
如果自學沒有基礎一般能學到什麼程度3-5個月這個是真的很難說,每個人的進度和學習效率都不一樣。還得看你每天花在學習Java的時間多久,估算一把,如果每天學習8小時以上,5個月能摸到實習生的門檻。(零基礎學Java,要學的東西可太多了)。
所以學java要看你是怎麼學,建議你去培訓一下。
希望對您有所幫助!~