學習編程的技巧具體有哪些
學習編程的技巧具體有哪些
學習編程的小伙伴越來越多,那么學習編程的技巧具體有哪些?為了幫助大家更好的學習編程,以下是學習啦小編分享給大家的學習編程的技巧及總結,希望可以幫到你!
學習編程的技巧及總結
讀>寫代碼>讀>寫代碼(日復一日)
關于如何高效學習編程我要給出的第一條建議是在閱讀代碼和編寫代碼之間循環(huán)往復。閱讀代碼(書籍,博客文章,開源代碼)將幫助你查看解決方案,了解最佳做法,并大致了解語言或系統(tǒng)。但是在你這樣做之后,你需要自己實際去寫代碼??梢允侨魏螙|西??梢允切〉木幋a練習或業(yè)余項目,但確保你能將之付諸于實踐,并用某種方式使用你學到的東西。如果你不這樣做,那么你會發(fā)現(xiàn)自己面對編輯器會無所適從無從下手。
這方面的訣竅是讓自己感到不舒服。這是相當痛苦的,但就應該這樣。編碼遵循80/20規(guī)則?;?0%的時間在20%的代碼或20%你所學的東西上。習慣于這種不舒服的感覺并克服它是關鍵。
這個迭代周期不應該以周為周期或以月為周期發(fā)生,而是應該以日為周期。知識等待使用的時間越久,知識這把斧頭就越鈍。等待學習新知識的時間越長,你就越難以將其融入到代碼中。
我推薦閱讀關于通用編程主題的網(wǎng)站是lobste.rs。上面有許多關于許多編程主題的文章。另一個好的網(wǎng)站是Hacker News,但網(wǎng)站時常偏離話題。
不要陷入僵局。請求幫忙
我最大的錯誤是在學習編程陷入僵局的時候用了太長時間。在被卡住時,我會花很多時間在一些愚蠢的東西或一些我根本上不明白的東西上。有時候我需要花費好幾天時間才能完成這些工作,而原本我可以用這些時間做更多的事情和學習更多的東西,如果我能找到更好的解決方法的話??ㄔ谝粋€東西上面超過一個小時基本上就是在浪費時間了。
我推薦三件事情以避免僵局。第一是試著總是閱讀更多關于你使用的技術,并總體掌握正在發(fā)生什么。通常,當你陷入困境時,意味著你對需要澄清的事情做出了不正確的假設。第二是咨詢互聯(lián)網(wǎng)。這一點很顯然,但依然值得一提。在網(wǎng)上查找并詢問有過這個問題的人是一個非常重要的技能。Stackoverflow可以說是互聯(lián)網(wǎng)上最好的網(wǎng)站。不要害怕在那里問自己的問題。通常,只要盡力正確地闡述你的問題就OK了。我真的希望以前我能多問些問題,但總是因為害怕會顯得愚蠢而止步。我的第三個建議是向你認識的人請求幫助。通常,你或許已經理解了技術,而且有了問題,但是你可能需要更高層次的上下文才能真正解開謎團。不要膽怯,大著膽子上前去問吧。
例如,當學習Docker時,我花費了大量的時間從頭開始重新構建圖像。我從根本上不明白docker緩存,并用20分鐘時間來等待單個更改到Dockerfile通過。我可能花了8個小時就用在等待構建上。如果我讀過更多關于Docker或問一個知道的人,那么可能我早就搞明白了,還可以在更短的時間內學到更多。
為項目而工作
在我的經驗中,沒有什么可以與工作于自己的項目以學習編程更有用的了。除了一些例外,我所知道的所有真正優(yōu)秀的程序員都有一個習慣就是工作于業(yè)余項目(這也可能發(fā)生在工作中!)。有了一個點子并試圖實現(xiàn)這個點子是非常具有挑戰(zhàn)性的。它需要很強的自律心。但是,通過嘗試實際做一件事情,你可以學到如何分解問題并應用技術。你面對的各種問題,以及你如何解決它們才真正是所謂的編程。知道編程語言的每一個古怪細節(jié)的確是有幫助的,但它只會讓你越來越落伍。此外,想要完成項目的驅動力是繼續(xù)學習的動力。從業(yè)余項目獲得的滿足感遠遠超過你在抽象中學習東西的滿足感。
我對于選擇業(yè)余項目的建議是,選擇你感興趣同時你也有想法如何實現(xiàn)的東西。能夠在開始之前表達實現(xiàn)總是有助于保持我的動力。在此旅途之中你一定會學到很多!
認識到深入鉆研和搬運工之間的區(qū)別。相應地選擇。
有兩種類型的程序員:完美主義者和搬運工。有些人希望一切都是正確的,他們希望完美,他們希望遵循所有的最佳實踐,并寫出漂亮的優(yōu)雅代碼。他們想要理解每一行代碼。有別于那些不管三七二十一,只要自己的代碼能工作即可,即使對代碼庫有損害的人。平衡這兩種技能是非常重要的。有時你應該深入鉆研一個問題或項目,看看發(fā)生了什么。有時你應該讓它工作即可,即使你不知道發(fā)生了什么。
每當你花費太多時間在某個東西上時,那就問問自己:我應該采取哪種方法?在大多數(shù)情況下,你會想取中間值。你想提供一個好的、堅實的解決方案,同時你可以自信地理解和修改,但沒有耗費荒謬的時間。隨著你作為開發(fā)人員的成長,你會更好地明白什么時候就此離開就可以,以及什么時候需要以某些方式完成。
就個人而言,我喜歡我的項目80%完美。如果你的項目是絕對100%完美,沒有一行代碼讓你覺得尷尬,那么很有可能你已經花了太多的時間。
與其他程序員交談
學習編程的一個很好的方法就是和其他的程序員交談。不必談論任何特定的內容。可以是你正在學習的東西,可以是你認為很酷的東西,可以是你正在工作的東西,皆可。你會發(fā)現(xiàn)很多程序員并不喜歡只是聊編程。這樣做可能會讓你學到很多關于庫,服務,編程語言和模式方面的知識。但是,最重要的是,你將了解到其他人是如何看待編程的。你會發(fā)現(xiàn),你認為理所當然或從來沒有考慮的事情在人與人之間是非常不同的。
學習編程的建議
1、不要僅僅讀書。
學習編程的最好方式是通過讀書。這種方式是簡單的,花幾個小時去看有關語法內容。但是編程語言向人類語言一樣,為了理解它們我們需要去使用它們。
2、試著開始做些簡單的項目。
如果你走的是HTML / CSS的路線,嘗試玩,用javascript實現(xiàn),當你點擊一些事情的時候,獲得一個簡單的Div在頁面移動。然后用你的方式去做些更加復雜的。舉個例子,用HTML form元素寫一個簡單的todo 列表。你必須學習DOM操作去正確地處理用戶與頁面的交互。
在斯坦福大學,他們用游戲開始教CS課程。盡力去創(chuàng)建一個游戲使用JS。或者僅僅是在命令提示符下使用Ruby或者Python。
推薦一個網(wǎng)站叫 Codecademy,上面有十分不錯的javascript課程。
3、你需要專注。
這里列出一些新手一直在犯的大錯誤:
頻繁的切換語言和框架,或者自以為自己會精通所有的人
用奇特的工具個性化他們的開發(fā)環(huán)境而不是更過常規(guī)的工具,當和別人協(xié)作的時候可以可靠地使用。
嘗試學習Docker這樣的工具,因為它們是新的和令人興奮的,即使他們還沒有掌握更多的基礎技術。
學習PLC編程技巧
一、多收集程序范例、增加編程經驗
在PLC的編程方法中,經驗法一直受到許多從業(yè)者的青睞,并且在經驗設計法中資料收集顯得尤為重要。首先收集典型程序樣例,程序最好有較完整的組成部分:控制任務、I/O分配、硬件接線圖、完整的程序及注釋。其次要讀懂程序,從而分解出程序中用于完成不同任務的組成部分,對于各組成部分中獨立完成某一特定功能的子程序或者中斷程序應及時收藏到程序庫。以便在以后的編程過程中碰到實現(xiàn)類似控制任務時,節(jié)約程序設計時間、提高程序調試成功率。再次還需要記錄程序閃光點,諸如編程者巧妙的思路、程序結構、應用指令的使用。尤其是應用指令的使用,能夠大大的縮短程序長度,減少內存容量,降低系統(tǒng)成本。最后對程序做功能擴展性的設計、調試,并對全過程加以詳細記錄、再加以總結。通過以上過程就能夠有效消化這些程序范例,使其融入到自己以后的編程過程中。經過一段時間的資料收集、理解、消化后,逐步確立適合自己的編程方法。
二、熟練使用軟件包
以學習三菱產品為例來介紹軟件包的使用。三菱軟件包由兩個部分組成,編程軟件GXDeveloperVersion8C和仿真軟件GXSimulator6C。編程軟件GXDeveloperVersion8C為設計者提供了編程環(huán)境。設計者應熟讀編程手冊、熟練程序的編輯技巧,使得自己的設計方案得以展現(xiàn)。設計好的程序能否滿足控制任務,就必須進行調試,傳統(tǒng)的調試方式離不開編程控制器CPU,必要時還需要另外準備輸入輸出模塊、特殊功能模塊和外部機器等。仿真軟件GXSimulator可提供一個虛擬的實驗平臺。GXSimulator是在Windows上運行的軟元件包,在安裝有GXDeveloper的計算機內追加安裝GXSimulator,就能夠實現(xiàn)不在線時的調試。不在線調試功能內包括軟元件的監(jiān)視測試、外部機器的I/O的模擬操作等。對于個人學習來說,沒有實驗條件,仿真軟件能夠在個人計算機上進行順控程序的開發(fā)和調試。使用者通過程序不斷的仿真調試,慢慢領會程序設計心得,從而增加編程經驗。
三、特殊功能模塊
在學習過程中,大部分學生將學習的重心放在了軟件編程上,而現(xiàn)代工業(yè)控制給PLC提出了許多新的課題,如果用通用I/O模塊來解決,在硬件方面費用太高,在軟件方面編程相當麻煩,某些控制任務甚至無法用通用I/O模塊來完成。因此,學習PLC的特殊功能模塊顯得尤為重要。這些特殊功能模塊有模擬量輸入輸出模塊、高速計數(shù)模塊和運動控制模塊等。這些特殊功能模塊PLC廠家都給出了詳細的使用手冊,用戶可以通過仔細研讀使用手冊來完成特殊功能的實現(xiàn),使得軟件編程簡化,降低了經濟成本。
四、人機界面
連接可編程序控制器,利用顯示屏顯示,通過輸入單元(如觸摸屏、鍵盤、鼠標等)寫入工作參數(shù)或輸入操作命令,實現(xiàn)人與機器信息交互的數(shù)字設備稱為人機界面,俗稱觸摸屏。觸摸屏以其易于使用、堅固耐用、反應速度快、節(jié)省空間等優(yōu)點,使得系統(tǒng)設計師們越來越多的感到使用觸摸屏的確具有相當大的優(yōu)越性。觸摸屏由硬件和軟件兩部分組成。利用軟件可以完成用戶界面的設計,結合PLC的程序設計極大的簡化了計算機的使用,即使是對計算機一無所知的人,對不懂PLC程序編程的操作人員,也能夠按控制要求設置控制系統(tǒng)參數(shù)、生產配方存儲、設備生產數(shù)據(jù)記錄等操作。觸摸屏的學習可以按如下的步驟進行。首先針對某一系列觸摸屏仔細閱讀其畫面設計手冊進行用戶畫面設計;接著設計觸摸屏畫面操作實現(xiàn)對應的PLC程序;最后打開觸摸屏、PLC編程仿真軟件進行仿真調試。
五、掌握三種流派主流產品
目前,世界上有200多個廠家生產PLC。大體可以按地域分成主要的三個流派:一個流派是日本產品,以三菱FX系列小型PLC為代表;一個流派是美國產品,以AB公司的PLC系列中型PLC為代表;還有一個流派是歐洲產品,德國西門子的S7系列大型PLC為代表。不同型號的PLC產品具有不同的特色,不僅表現(xiàn)在特殊復雜的功能等方面,就是在編程語言、程序的組織等方面也存在著較大的差異。掌握所有的PLC產品顯然不現(xiàn)實,也沒有必要。在熟練掌握一種PLC產品的基礎上,有意識地在其他主要流派中選擇最有代表性的產品,采用對比的學習方法進行相對深入的研究。這樣在以后的工作、學習和開發(fā)研究中遇到其它的機型時,就能夠做到觸類旁通了。
六、充分利用網(wǎng)絡資源,掌握PLC應用及發(fā)展的最新資訊
PLC產品更新?lián)Q代的速度很快,若想及時掌握PLC應用及發(fā)展的最新資訊,就要充分利用互聯(lián)網(wǎng)為我們提供的學習的平臺,方便地、快捷地、經濟地掌握PLC的最新動態(tài)。尤其是一些網(wǎng)絡上的專業(yè)論壇能夠為我們提供了較高水平的交流平臺,大量的學習資料、使用手冊、軟件功能的更新,使得不同階段的學習者受益匪淺??傊?PLC入門容易,真正掌握可編程控制器的編程方法,能夠順利設計出滿足生產任務的要求,同時程序做到簡潔、易懂,設計者就必須深入學習PLC技術,學習者可以通過上述介紹的方法不斷地充電,掌握PLC應用及發(fā)展的最新資訊,在不斷的仿真調試過程中逐漸形成自己的編程習慣。
猜你喜歡: