學(xué)習(xí)編程的最好方法有哪些
學(xué)習(xí)編程的最好方法有哪些
不少想學(xué)習(xí)編程的朋友存在這樣的問題:編程怎么學(xué)?學(xué)習(xí)編程的方法是什么?對于 這些問題,小編給你解答,以下是學(xué)習(xí)啦小編分享給大家的學(xué)習(xí)編程的好方法的資料,希望可以幫到你!
學(xué)習(xí)編程的好方法
學(xué)習(xí)一門弱類型的編程語言,不要先學(xué)習(xí)那種具有強制類型的、面向?qū)ο蟮木幊陶Z言。嚴格而言,如果有人對你提到class(類)或繼承,那么你就應(yīng)該去選擇其它的途徑了。雖然我認同類和繼承相關(guān)技術(shù)是軟件開發(fā)中必不可少的,但是我強烈認為它們不應(yīng)該是初學(xué)者的選擇。
鑒于此,我認為JavaScript對初學(xué)者而言是最理想的編程語言,因為:(a)JS解釋器在絕大部分瀏覽器上都可用,(b)它的面向?qū)ο筇匦圆⒉皇菑娭菩偷模?c)在工業(yè)界被廣泛使用(是的,即使是web之外的客戶端,即使是現(xiàn)在擔(dān)任設(shè)備工程師的我也做嵌入JavaScript的工作。)
說得更具體點,我建議你學(xué)習(xí)用JavaScript如何去學(xué)習(xí)下面的事,特別是以這個順序:
學(xué)習(xí)如何打印出一些東西,學(xué)習(xí)如何聲明和定義變量,學(xué)習(xí)基本算術(shù)運算操作(包括余數(shù)操作),學(xué)習(xí)循環(huán)(特別是for循環(huán)),學(xué)習(xí)把抽象重復(fù)的代碼寫成函數(shù),學(xué)習(xí)字符串和用循環(huán)操作字符串,學(xué)習(xí)數(shù)組和數(shù)組的循環(huán)方法(特別是foreach循環(huán)),學(xué)習(xí)創(chuàng)建和操作對象數(shù)據(jù)集。
記住上面的這些并每天寫一個程序來實踐,直到這些都輕而易舉地想起來。
學(xué)習(xí)Git的基本操作,學(xué)習(xí)通過命令行使用Git。這意味著要先學(xué)習(xí)四個Unix/Linux命令(ls,pwd,mkdir,cd)。當學(xué)習(xí)了這幾個命令,也就學(xué)會了以“樹型”或?qū)哟谓Y(jié)構(gòu)的呈現(xiàn)方式查詢文件系統(tǒng)。
一旦你掌握了上面的幾個Unix/Linux命令,并會從命令行進入文件系統(tǒng),你就應(yīng)該學(xué)幾個基礎(chǔ)的Git命令。主要是git init,git status,git add and git commit。
一旦你掌握了Git的基本操作,在學(xué)習(xí)下面的技術(shù)時將其集成到你的工作流中。
學(xué)習(xí)HTML基礎(chǔ),能夠憑記憶創(chuàng)建簡單的HTML頁面。學(xué)習(xí)DOM和如何理解HTML作為指定的分層樹結(jié)構(gòu)?;c時間來思考它如何關(guān)系到你在前面步驟中學(xué)到的分層文件系統(tǒng)。
學(xué)習(xí)CSS選擇器,了解它如何讓你選定DOM的某些部分。了解DOM元素之間的關(guān)系。了解一個DOM元素作為另一個DOM元素的父元素或子元素的含義。理解這與后代和祖先之間的關(guān)系有什么不同。記住選擇器可以讓你通過這些關(guān)系來選定某些元素。
學(xué)習(xí)jQuery,并主要專注于DOM的操作能力。學(xué)會用jQuery對DOM插入或刪除元素,實踐可視化如何影響用DOM定義的樹型結(jié)構(gòu)。
實踐jQuery中的事件處理和DOM操作(比如,實踐操作DOM當用戶點擊某個東西,或在指定的時間間隔)。
多練習(xí)JavaScript對象,并把它們當作可變的聚合器。學(xué)習(xí)如何用JavaScript來表示更復(fù)雜的數(shù)據(jù)而不是基本數(shù)據(jù)類型。學(xué)會應(yīng)用并操作這些數(shù)據(jù)結(jié)構(gòu)。理解并定義JSON、理解它如何與JavaScript對象相關(guān)聯(lián)。
學(xué)會使用jQuery的getJSON函數(shù)從文件中獲取數(shù)據(jù)到JavaScript對象中。使用類似的技術(shù),用一個簡單的JSONP API去練習(xí)用AJAX拉取數(shù)據(jù)。練習(xí)向DOM插入和刪除這個數(shù)據(jù)。
在這個階段,做一個簡單的幻燈片來循環(huán)播放Flickr圖片,這將是一個令人難以置信的項目,將真正考驗?zāi)愕哪芰?,使用之前學(xué)過的基礎(chǔ)技術(shù)來實現(xiàn)它。
最經(jīng)典的PLC編程入門學(xué)習(xí)方法
一、多收集程序范例、增加編程經(jīng)驗
在PLC的編程方法中,經(jīng)驗法一直受到許多從業(yè)者的青睞,并且在經(jīng)驗設(shè)計法中資料收集顯得尤為重要。首先收集典型程序樣例,程序最好有較完整的組成部分:控制任務(wù)、I/O分配、硬件接線圖、完整的程序及注釋。其次要讀懂程序,從而分解出程序中用于完成不同任務(wù)的組成部分,對于各組成部分中獨立完成某一特定功能的子程序或者中斷程序應(yīng)及時收藏到程序庫。以便在以后的編程過程中碰到實現(xiàn)類似控制任務(wù)時,節(jié)約程序設(shè)計時間、提高程序調(diào)試成功率。再次還需要記錄程序閃光點,諸如編程者巧妙的思路、程序結(jié)構(gòu)、應(yīng)用指令的使用。尤其是應(yīng)用指令的使用,能夠大大的縮短程序長度,減少內(nèi)存容量,降低系統(tǒng)成本。最后對程序做功能擴展性的設(shè)計、調(diào)試,并對全過程加以詳細記錄、再加以總結(jié)。通過以上過程就能夠有效消化這些程序范例,使其融入到自己以后的編程過程中。經(jīng)過一段時間的資料收集、理解、消化后,逐步確立適合自己的編程方法。
二、熟練使用軟件包
以學(xué)習(xí)三菱產(chǎn)品為例來介紹軟件包的使用。三菱軟件包由兩個部分組成,編程軟件GXDeveloperVersion8C和仿真軟件GXSimulator6C。編程軟件GXDeveloperVersion8C為設(shè)計者提供了編程環(huán)境。設(shè)計者應(yīng)熟讀編程手冊、熟練程序的編輯技巧,使得自己的設(shè)計方案得以展現(xiàn)。設(shè)計好的程序能否滿足控制任務(wù),就必須進行調(diào)試,傳統(tǒng)的調(diào)試方式離不開編程控制器CPU,必要時還需要另外準備輸入輸出模塊、特殊功能模塊和外部機器等。仿真軟件GXSimulator可提供一個虛擬的實驗平臺。GXSimulator是在Windows上運行的軟元件包,在安裝有GXDeveloper的計算機內(nèi)追加安裝GXSimulator,就能夠?qū)崿F(xiàn)不在線時的調(diào)試。不在線調(diào)試功能內(nèi)包括軟元件的監(jiān)視測試、外部機器的I/O的模擬操作等。對于個人學(xué)習(xí)來說,沒有實驗條件,仿真軟件能夠在個人計算機上進行順控程序的開發(fā)和調(diào)試。使用者通過程序不斷的仿真調(diào)試,慢慢領(lǐng)會程序設(shè)計心得,從而增加編程經(jīng)驗。
三、特殊功能模塊
在學(xué)習(xí)過程中,大部分學(xué)生將學(xué)習(xí)的重心放在了軟件編程上,而現(xiàn)代工業(yè)控制給PLC提出了許多新的課題,如果用通用I/O模塊來解決,在硬件方面費用太高,在軟件方面編程相當麻煩,某些控制任務(wù)甚至無法用通用I/O模塊來完成。因此,學(xué)習(xí)PLC的特殊功能模塊顯得尤為重要。這些特殊功能模塊有模擬量輸入輸出模塊、高速計數(shù)模塊和運動控制模塊等。這些特殊功能模塊PLC廠家都給出了詳細的使用手冊,用戶可以通過仔細研讀使用手冊來完成特殊功能的實現(xiàn),使得軟件編程簡化,降低了經(jīng)濟成本。
四、人機界面
連接可編程序控制器,利用顯示屏顯示,通過輸入單元(如觸摸屏、鍵盤、鼠標等)寫入工作參數(shù)或輸入操作命令,實現(xiàn)人與機器信息交互的數(shù)字設(shè)備稱為人機界面,俗稱觸摸屏。觸摸屏以其易于使用、堅固耐用、反應(yīng)速度快、節(jié)省空間等優(yōu)點,使得系統(tǒng)設(shè)計師們越來越多的感到使用觸摸屏的確具有相當大的優(yōu)越性。觸摸屏由硬件和軟件兩部分組成。利用軟件可以完成用戶界面的設(shè)計,結(jié)合PLC的程序設(shè)計極大的簡化了計算機的使用,即使是對計算機一無所知的人,對不懂PLC程序編程的操作人員,也能夠按控制要求設(shè)置控制系統(tǒng)參數(shù)、生產(chǎn)配方存儲、設(shè)備生產(chǎn)數(shù)據(jù)記錄等操作。觸摸屏的學(xué)習(xí)可以按如下的步驟進行。首先針對某一系列觸摸屏仔細閱讀其畫面設(shè)計手冊進行用戶畫面設(shè)計;接著設(shè)計觸摸屏畫面操作實現(xiàn)對應(yīng)的PLC程序;最后打開觸摸屏、PLC編程仿真軟件進行仿真調(diào)試。
編程的自學(xué)方法
方法一: 看書,看視頻,偶爾照著例子敲點小程序
策略: 先把那些Java 知識點統(tǒng)統(tǒng)都看一遍,集合,IO, 反射,線程,html , javascript ,servlet, jsp ,xml ,tomcat ,spring,hibernate,對哪個例子有好感的話,在自己的電腦上敲一遍
估計很多人都是這么自學(xué)的, 這種方法的缺點是:
(1) 一葉障目,不見泰山, 容易陷入細節(jié)
做碼農(nóng)需要和無窮無盡的細節(jié)打交道,例如:html那么多tag,屬性 , xml dtd ,schema 復(fù)雜的語法, httprequest 那么多方法, 看著看著就煩了, 到底哪些是常用的? 哪些是不常用的?
自學(xué)者迷失在了細節(jié)當中, 產(chǎn)生了懷疑。
(2) 記不住
實踐(編程)太少, 當然容易忘記了。
方法二: 實用主義, 拿項目作為牽引來學(xué)習(xí)
策略: 拿項目作為驅(qū)動, 開始是不追求面面俱到, 而是追求一個可以運行的東西, 單點突破,以點帶面, 最終掌握所有知識點。
如果你懂得敏捷開發(fā), 就會明白這和敏捷軟件開發(fā)的本質(zhì)思想是何其像啊。
這種方法的好處是:
(1) 成就感
一開始就搞可以運行的系統(tǒng), 慢慢的增加功能
(2) 在實踐中學(xué)習(xí)
學(xué)習(xí)金字塔, 在之前的文章中已經(jīng)提到過,這里再強調(diào)一下: 通過實踐來學(xué)習(xí)是非常有效的。
(3) 抓大放小
先學(xué)會最關(guān)鍵的,最實用的東西,先學(xué)會并且能實踐一個關(guān)鍵知識點,然后再把周邊的知識學(xué)會
(4) 思考才是進步的本質(zhì) !
實現(xiàn)系統(tǒng)過程中遇到了問題, 會逼著你思考,去動手解決問題
這種方法的缺點也很明顯:
(1) 遇到問題容易卡殼, 需要有高手/師傅點撥一下
對于那些比較難的問題, 自己思考、嘗試了很久以后,被點撥一下,恍然大悟,撥云見日的感覺非常的爽。
(2) 要求動手能力和主動思考的能力
伸手黨是不行的。
猜你喜歡: