|
對(duì)于剛剛步入嵌入式領(lǐng)域的新手們來講,我不想過多的探討關(guān)于技術(shù)層面的問題,因?yàn)榧夹g(shù)問題我們?nèi)A清遠(yuǎn)見的眾多資深講師們會(huì)在今后的課程當(dāng)中為大家詳細(xì)講解,而且學(xué)員也可以在漫長的嵌入式開發(fā)生涯中逐漸加深研究提高自己。但是一個(gè)良好的編程習(xí)慣卻是需要大家在學(xué)習(xí)之初就要養(yǎng)成的。養(yǎng)成一個(gè)怎樣的學(xué)習(xí)習(xí)慣、編程習(xí)慣對(duì)程序員的一生都將有重大的影響。
1. 基礎(chǔ)知識(shí)要掌握牢固
不同于windows的開發(fā),在linux的開發(fā)過程中我們面對(duì)的幾乎一直都是簡單的文本界面、操控命令,因此熟練掌握這些基本命令對(duì)于嵌入式linux開發(fā)人員是必不可少的。
安裝和登錄:
login、 shutdown、 halt、 reboot 、mount、umount 、chsh ;
文件處理:
file、mkdir、grep、dd、 find、 mv 、ls 、diff、cat、ln ;
網(wǎng)絡(luò)操作:
ifconfig、ip 、ping 、netstat 、telnet、 ftp、route、rlogin rcp 、finger 、mail 、nslookup ;
系統(tǒng)管理相關(guān):
df、top、free、quota 、at、lp、adduser、groupadd kill、crontab、tar、unzip、gunzip 、last ;
系統(tǒng)安全相關(guān):
passwd 、su、 umask 、chgrp、chmod、chown、chattr、sudo、pswho。
當(dāng)然,熟悉linux的基本命令只是讓你能夠輕松的搭建一個(gè)比較和諧的開發(fā)環(huán)境,作為一名開發(fā)人員,熟練掌握一門開發(fā)語言是必須的也是必要的,通常嵌入式的開發(fā)語言應(yīng)用較多的是C/C++,相信每一個(gè)夢想成為偉大的程序員的學(xué)員都不會(huì)忽視它們地存在,一個(gè)程序員連基本的開發(fā)語言都不會(huì)何談開發(fā)之說?另外一個(gè)比較重要也是我們今后時(shí)常要面對(duì)的那就是我們的編輯器了。有一個(gè)強(qiáng)大的編輯器能使你的工作事半功倍,在linux下最強(qiáng)大的就要數(shù)我們的vi文本編輯器了。關(guān)于vi編輯器的使用在華清遠(yuǎn)見的培訓(xùn)課程中會(huì)詳細(xì)講解,另外關(guān)于vi下的一些能夠提高我們工作效率的小技巧在今后我的博文中也會(huì)一一介紹。
另外既然是嵌入式開發(fā),那么就要求我們不僅僅熟練掌握嵌入式開發(fā)的靈魂——編程語言,還要充分了解嵌入式開發(fā)的肉體——硬件結(jié)構(gòu)。因?yàn)椴煌赑C機(jī)的軟件開發(fā),嵌入式的開發(fā)是離不開硬件的,因此需要每一位嵌入式開發(fā)人員都能熟悉你所要操控的硬件特性。如此才能稱得上一名合格的嵌入式開發(fā)工作者。
2. 養(yǎng)成良好的習(xí)慣
對(duì)于開發(fā)人員,習(xí)慣大體分為兩塊:工作習(xí)慣和編碼習(xí)慣。
對(duì)于早已習(xí)慣了windows的我們,面對(duì)人性化傻瓜式操作的windows桌面與枯燥乏味的linux終端命令的巨大落差,可能有些不太習(xí)慣,因?yàn)槠鸪跖c它溝通起來似乎并不是那么友好。但是華麗的東西往往缺乏內(nèi)涵,而一個(gè)樸實(shí)無華的外表下卻蘊(yùn)含著無窮的能量。習(xí)慣于shell命令后你就會(huì)發(fā)現(xiàn)它是那么的強(qiáng)大,幾乎無所不能。這也是為什么那么多的嵌入式工程師喜愛它的原因。而你仍沉迷于輕松的鼠標(biāo)操作不愿接受看起來不太友好的shell,那么在一段時(shí)間之后你就會(huì)發(fā)現(xiàn),自己除了點(diǎn)擊幾下鼠標(biāo)之外對(duì)linux的了解似乎什么都沒有……所以在我們學(xué)習(xí)嵌入式linux的開發(fā)過程中一定要養(yǎng)成用終端命令操作的習(xí)慣,解放你的鼠標(biāo),讓強(qiáng)大的shell發(fā)揮它應(yīng)有的功能。
如果你沒有一個(gè)良好的工作習(xí)慣那么對(duì)于你個(gè)人而言頂多也只是累些效率低些。但是如果你在學(xué)習(xí)工作過程當(dāng)中沒有建立良好的編碼風(fēng)格甚至染上了不良的編碼習(xí)慣,那么對(duì)于絕大部分都是團(tuán)隊(duì)合作的開發(fā)人員來說將是一件令人抓狂的事情。我相信每一個(gè)C開發(fā)的程序員無聊寂寞的時(shí)候都關(guān)注過世界亂碼大賽的一些作品消遣,我也更相信沒有一家公司的項(xiàng)目經(jīng)理會(huì)寂寞成災(zāi)的要求他的員工效仿那些神人的杰作。這是一個(gè)講究團(tuán)隊(duì)作戰(zhàn)的時(shí)代,superman已經(jīng)不屬于這個(gè)時(shí)期的產(chǎn)物,因此養(yǎng)成一個(gè)良好的編碼風(fēng)格對(duì)于開發(fā)人員來說至關(guān)重要!關(guān)于具體的編碼風(fēng)格在華清遠(yuǎn)見的培訓(xùn)課程中會(huì)詳細(xì)講解,這里就不再贅述了。
3. 勤于動(dòng)手,注重實(shí)戰(zhàn)
網(wǎng)上有好多關(guān)于程序員的定義和習(xí)慣等,在有些變態(tài)夸張的描述語言下,程序員——這個(gè)為IT事業(yè)默默奉獻(xiàn)青春才華的群體給大家展現(xiàn)了其不為人知的一面。其中有這么一句話我認(rèn)為寫的挺好:“沒寫過10萬行代碼就不叫真正的程序員”。不是真正的程序員?那叫什么?水貨?自己去定義吧哈哈。這其實(shí)就是告訴了我們,想要成為一名合格的程序員,代碼是一定要多敲的,但是這里的敲可不是讓你去抄,那樣即使你寫超過100萬行代碼你的水平還是那樣。一定要用自己的思想去設(shè)計(jì),用你所熟悉的計(jì)算機(jī)語言去描述并解決這個(gè)宏觀世界所存在的問題,那樣你的思路你的編碼能力才能得到提高。當(dāng)然作為一名嵌入式軟件工程師,你所需要的不僅僅是敲代碼那么簡單,對(duì)于主機(jī)嵌入式開發(fā)環(huán)境的搭建、熟悉開發(fā)板的硬件體系結(jié)構(gòu)、bootloader的移植、內(nèi)核以及文件系統(tǒng)的移植、驅(qū)動(dòng)程序的編寫等等,一系列開發(fā)流程都需要你自己去熟悉掌握并逐漸加深。因此,我們肩上的任務(wù)將更加艱巨。但是嵌入式行業(yè)廣闊的前景又成為它極大的閃光點(diǎn),相信從你選擇嵌入式軟件開發(fā)的這個(gè)行業(yè)起就已經(jīng)做好了接受挑戰(zhàn)的準(zhǔn)備。為了你美好的未來,加油吧!
4. 培養(yǎng)自主解決問題的能力
在大學(xué)里繼續(xù)深造的學(xué)生們也許還在享受著老師們孜孜不倦的教誨,而且從小我們就被灌輸一種思想——有問題,找老師。但是當(dāng)你走出校門步入社會(huì)的時(shí)候你就會(huì)發(fā)現(xiàn)現(xiàn)實(shí)似乎沒有理想中的那么美好。我們在工作當(dāng)中都會(huì)遇到這樣或那樣的問題,尤其是我們開發(fā)人員,面對(duì)學(xué)無止境的計(jì)算機(jī)技術(shù)更是問題百出。而這時(shí)候你就會(huì)發(fā)現(xiàn)能耐心幫你解決問題的幾乎就只有你自己。因?yàn)樵诠局,無論你的工作環(huán)境多么的和諧友好,但是同事之間仍然或多或少地處于競爭關(guān)系,而且大家都有各自的任務(wù)工作比較忙,這就意味著別人不可能全心全意地耐心解決你的問題,這時(shí)候能夠依靠的只有你自己。此時(shí)解決問題能力差的人可就叫天天不應(yīng)叫地地不靈了。因此,在學(xué)習(xí)過程當(dāng)中遇到問題一定要自己先多想,盡量想辦法自主解決,通過分析問題推測可能的因素并嘗試去解決,這樣有助于鍛煉自身的分析問題能力和解決問題能力。
當(dāng)然,在信盈達(dá)培訓(xùn)的過程中會(huì)一直有輔導(dǎo)老師全程跟蹤你的學(xué)習(xí)進(jìn)度,師生之間永遠(yuǎn)沒有競爭關(guān)系,你可以盡情地去探索你想問的問題絕對(duì)會(huì)幫你滿意解決。在這里我只是提倡大家學(xué)習(xí)的一種習(xí)慣而已。在問題解決后一定要通過筆記的方式把遇到的問題及時(shí)記錄下來,以防今后遇到類似的問題,并時(shí)常翻看過去的問題記錄加深記憶。相信在今后的某一天你翻看過去的問題記錄時(shí)會(huì)欣喜的發(fā)現(xiàn)自己已經(jīng)不知不覺的成長起來。
在此向每一位致力于嵌入式技術(shù)研發(fā)的的前輩們說一聲感謝,因?yàn)槟銈兊臒o私貢獻(xiàn)才有我們今天便捷的學(xué)習(xí)途徑和豐富的技術(shù)資源。最后預(yù)祝每一位步入嵌入式領(lǐng)域的新人們都能夠在今后提高自己,在嵌入式的領(lǐng)域里開拓屬于自己的一片天空!
|
|