Ⅰ 我是個程序員感覺自己的邏輯思維能力不強,如何提高
1 練習常用經典演算法,加深理解,編程需要的思維方式也就那些
2 練習常用設計模式,熟練框架,調用關系等等
暫時想到這兩點,不知道對你是否有用
Ⅱ 邏輯思維對程序員重要嗎可以怎樣培養呢
邏輯思維對程序員來說非常重要,我們可以從一下幾個方面來進行培養,第一:查看一些邏輯思維書籍,第二:多多練習演算法之類的編程,第三:寫程序時候盡量把程序和顯示生活鏈接起來想問題。
Ⅲ 如何提高編程的思維邏輯能力
想提高編程的思維能力就要把握好編程思維的這四點:
把握好「理解問題——找出路徑」的高效思維過程,它由「分解—抽象—模式識別—演算法」這四個步驟。
1、分解,簡單來說,就是「把復雜的大問題,拆解成更可執行、更好理解的小步驟」,它能鍛煉我們拆解復雜問題的能力。
2、「抽象思維」能力,它能鍛煉我們聚焦重點,忽略無用信息,並抽取關鍵信息的能力。
3、模式識別,就是「如何找出相似的模式,並高效率解決細分問題」,它能極大鍛煉我們規律整合的能力。
4、演算法,就是根據之前一系列對於問題的理解,設計一步一步的解決路徑,並解決整個問題。
反復訓練提升這 4 項重要的思維模式,建立一種真正「抗打」的認知思維和學習能力,酒客快速提高了!
Ⅳ 程序員如何提高自己的編程技巧
可讀性:函數命名隨意,實現邏輯混亂,代碼格式不統一。。。
可靠性:程序運行很難穩定,bug百出。。。
維護性:代碼邏輯沒有層次,混成一團,很難維護改進
移植性、重用性:許多人寫的代碼,只能各自使用,很少有能共享的功能性代碼
高效性:很少從演算法、資源佔用、執行效率等角度去考慮,經常導致伺服器負載過重
那麼我們改進時,就可以從以上幾點出發。
總結了一下自己以前的經驗,主要有以下幾點:
提高自己的程序語言基礎。對於許多新手程序員來說,只是簡單的學會了該語言,知道一些簡單的用法。但是實際編程的時候,許多寫法、用法不標准。舉一個很常見的例子:許多人剛剛學c++,java等面向對象編程的語言時,雖然知道了類、知道了類一般都有「多態」的特性,但是他們還是經常會用「類型判斷」去判斷某個對象是屬於哪個類的實例、然後強制轉換、再調用方法。卻完全忽略可以用多態來避免這種醜陋的實現!
熟悉語言規范。如果不知道自己所學的語言還有規范,那麼建議你現在去查找。說個簡單的規范,Java的類名要取得有意義、首字母要大寫。再比如:一個函數只實現一個功能。再比如一個復雜的:連續的if else條件判斷最好不要超過10個。
培養自己嚴謹的邏輯思維能力。我們寫程序,至少都會在腦海里走一遍程序的流程。如果流程走通最後卻出現bug,那麼就是流程的某個細節我們沒有考慮到!有的時候,我們總是自認為自己已經考慮的非常全面了,其實不然。同樣舉一個例子:對一個集合,寫個for循環按照一定的條件刪除裡面的元素。其實這裡面隱藏了一個「集合在動態變化」的陷阱。比如說,將第一個元素刪除了,如果集合的數據結構是將第二個元素移動到第一個元素上,那麼,第二個元素就遍歷不到了。所以,有時候,我們看似很簡單,覺得邏輯非常正確的代碼,可能就潛伏著陷阱。
熟悉所用語言的API。學一門語言,其實不只是學語法,學語義。更重要的是學基本的API類庫。因為你實際編程的時候,自己所寫的代碼其實很少,大部分都是用的別人的API,將許多API的功能穿起來,才是自己實現的功能。用好的API,能增加代碼質量、提高代碼可讀性、減少代碼bug、減少工作量。就比如說堆棧這個數據結構,程序員基本都知道,但是大部分人可能都不能實現一個正確的堆棧API。
熟悉了解一些數據結構、演算法。平常寫程序時,或多或少都要接觸一些常用的數據結構,比如說鏈表、map等,了解它們的原理對於那些沒學過數據結構的人來說很重要。很多時候,一個簡單的功能被實現的超級復雜的原因就是沒有使用簡單清晰的數據結構。
掌握一些編程思想、設計模式,這會讓你的代碼更加具有結構性、條理更加清晰!比如說,面向介面的編程思想,能讓你的代碼易於修改、易於擴展。如果更進一步,站在架構的角度去考慮。
多看高手代碼,讀一些優秀的開源代碼,看一些經典的書籍。比如說《Effective C++》、《Effective Java》、lucene的源碼。這些會讓你提升巨大,只有了解到高手眼中的世界,才能有成為高手的可能!
代碼重構。多回顧之前寫的代碼,進行一個系統性的整理。因為我們起初開發,不是面面都能想到,許多新東西是不可避免的,這就意味著可能會導致一些邏輯混亂。在開發完成後,多回顧回顧,尋找能改進之處,這也是一種進步。
即時缺少高屋建瓴的能力,我們也應該多從全局的角度去考慮整個工程的代碼的層次、模塊、架構等問題點。可以嘗試著進行功能點拆分、介面交互設計等工作。
為自己的代碼添加測試用例。可能因為懶惰,許多程序員基本都不會為自己的代碼添加測試用例,這其實是一個不好的習慣。即時是有測試人員的團隊,添加測試用例對你的好處也是顯而易見的。
至於從團隊的角度,可以考慮建立以下幾點:完整的規范、執行流程、review機制和輔助工具。由於本篇文章主要針對的是個人,就不展開。工具方面,可以考慮開源的ReviewBoard。
個人的代碼質量提上來,團隊的水平才能提上來,公司的效率才能提升。其實最主要的是,個人的層次、境界才能提升!
Ⅳ 程序員的邏輯思維可以從哪些方面進行培養呢
程序員邏輯思維的培養對軟體工程非常重要,思維快的能快速編寫邏輯代碼。可以從一下幾個方面進行慢慢培養。
第一:明確學習目的
邏輯思維學習編程對多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
第二打好基礎,學好基礎知識對我們開發也很重要學編程要具備一定的基礎,總結之有以下幾方面:
首先是數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
其次是邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。最後是選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
第三:注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。
第四:掌握編程思想,編程思想使用較多的就是oop編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
第六:多實踐、多交流,一切思維來自項目開發的積累
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
第七:養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使
程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
第八:上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載
8.加強計算機理論知識的再學習
思維培養學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以
開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數
學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機
原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
這就是總結出來的思維培養模式,希望能幫到你,謝謝!
Ⅵ 怎麼提高編程能力邏輯思維能力
思考問題的方式,方向,解決問題的方法,也就是說應該從哪裡入手,從哪裡著手去解決問題。
每個人都是從零基礎開始接觸編程的,很多技術大牛總結了很多經驗、解決問題的方式。而現在作為一個編程初學者,我們不需要重新造輪子。我們只需要跟隨前輩們腳步,避免重復去走他們已經走過的彎路,也可以說我們現在做的一切都是站在巨人的肩膀來進行的。學習前輩們的經驗和解決問題的方式,然後結合自身來解決自己的問題,最終融會貫通為自己所用。
建議大家,解決問題的時候,首先要把問題分解。大化小,很多小問題已經有了非常成熟的解決方案,搜索引擎可以解決大部分問題,我們直接拿來用就可以了,並且記住這種解決問題的方案。而剩下解決不了的小問題,我們在進行針對性解決,每一個小問題解決後,一整塊大問題就隨之解決。
編程思維的訓練就是要學習成熟的解決問題的方法:比如if
語句用來做分支判斷,循環用來解決反復運算的問題。窮舉法、遞推、遞歸、排序、回溯等等(如果需要當專業程序員,需要學習數據結構和演算法,設計模式等等,需要學的東西很多很多。但首先要解決的一個問題是自己能寫代碼解決一般問題。)
訓練函數抽象,類抽象解決問題。如對有序數組,查找特定數值,沒有經過訓練,初學者,直接用循環遍歷。如果經過二分法演算法的訓練,下次碰到這樣的問題,就用二分法求解。
(需求->需求分析->設計->編碼->測試->交付等)
拿到一個習題,還沒有進行分析,就馬上敲代碼,這個學習方式,是不好的學習方式。
再設計,用哪種數據類型(數據結構)來組織或保存數據,用何種演算法來計算效率最高,用面向過程,還是面向對象的編程範式,還是用函數式編程等等。設計後,再編寫代碼,最後寫測試。
如果大家對於學習編程有任何疑問,可以隨時咨詢我,這是我的V:Zhanlaoshi71 從事IT行業16年,精通八種語言,多跟專業的人交流學習。
只有先經過訓練常見的演算法,分解問題,會做需求分析,慢慢訓練,才會養成自己的思路。沒有人一出生會編程,只有經過訓練,才會學會編程。很多牛逼程序員用vim,敲的啪啪響,一會兒一屏幕代碼,為啥那麼熟練使用vim,習慣成自然。當你訓練多了以後,學會一定的套路(解決問題的方法),養成獨立思考的習慣,假以時日,自然就有思路了。
養成獨立思考的習慣,養成切分問題,養成大問題化解小問題,養成套用學過的演算法,才會有思路。簡單的判斷、循環都不會寫,就想玩django,何來的思路?
萬丈高樓從地起,希望大家腳踏實地實地的從基礎訓練起,先達到獨立寫代碼解決一般的問題,再談項目。見過盲目上號稱牛逼項目的培訓班出來的程序員,
沒有學會獨立寫代碼解決一般的問題的能力,開發項目時如狗咬刺蝟無從下手。
Ⅶ 程序員的邏輯思維可以從哪些方面學習呢
細心感知,多思考,學習邏輯框架
編程思維說白了就是高效解決問題,問題從哪兒來?來自我們細心觀察和感知。解決方法哪兒找?來自我們的思考。大多數人在感到有問題時,只是簡單的表達一下感受,然後就沒有了...
意識到問題後,我們要多感知自己的感受,對於不便的地方當作問題記下來,這樣就能發現更多的問題。接下來就要思考:如果是我來解決這個問題的話,都有哪些解決方法?不用管是否實際可行,多思考就好。
多去技術網站學習,學習一門編程語言(任意一門)
技術網站推薦:國外:Github、StackOverFlow 國內:infoq、CSDN、博客園、51cto、思否、雲加社區、掘金,學習一門編程語言即可與能力無限的計算機對話,站在另一廣闊的空間去看待問題。即使不從事編程工作,但編程基礎語言中的 "if ... else ... then" 、選擇、循環、繼承、面向對象等 底層邏輯思想,也能更強鍛煉你的邏輯思維能力,為未來蓄力!