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