????????今天下午趕巧和我們公司公認的軟件高手一起下班,在一起吃飯和一起走路回家的路上共同探討了一些問題,現(xiàn)將我們交談中一些比較有價值的內(nèi)容總結(jié)歸納一下,希望能給自己和正在努力奮斗的同仁們一些啟示。
一、自身存在的不足或問題
????????在讀大學期間學習完C語言這本課程后,經(jīng)過參加學校組織的C語言培訓課并在培訓課后積極鍛煉C語言的編程能力,順利通過全國計算機二級C考試,才對軟件編程有了一定的基礎(chǔ)性了解,但當時并沒有進入C語言編程的大門。
????????在讀研究生期間,自從研二就開始跟著導師做項目并在一位軟件高手指點下,才對C語言編程有了一定的認識,才對C語言編程有了感覺,接著觀察和總結(jié)其他軟件高手的軟件調(diào)試方法,才開始逐漸認識到C語言編程中在線調(diào)試是軟件設(shè)計中比較關(guān)鍵的一步,并逐漸形成了一套自己的軟件調(diào)試方法,雖然這套軟件調(diào)試方法并不完善,自己的調(diào)試技巧還處于初級水平,但是這已經(jīng)算是一次比較大的跳躍了。
????????時隔畢業(yè)后兩年又開始從事軟件設(shè)計,依然是使用C語言進行編程,也在做項目中提升了不少自己的軟件編程能力,但還是仍然存在不足:
????????1、C語言編程基礎(chǔ)仍存在不足,比如結(jié)構(gòu)體、聯(lián)合體、數(shù)組、指針使用的還不是很好;
????????2、如何高效的編寫高質(zhì)量的軟件,自己意識性不強或不知從哪些方面入手;
????????3、實際項目中軟件開發(fā)的時間把控性不好,一個實際的軟件項目到底需要多長時間自己心里沒底,不知道該如何評估實際的軟件項目開發(fā)需要多長時間;
? ? ? ? 4、實際軟件項目開發(fā)沒有一套自己比較成熟的體系;
????????5、軟件開發(fā)的職業(yè)方向不明確;
二、探討問題總結(jié)
????????1、項目開發(fā)的金三角是成本、質(zhì)量和進度。目前公司缺少的是質(zhì)量的把控。
? ? ? ? 2、軟件開發(fā)的方向是軟件質(zhì)量的管理(SIL、CMMI體系)、算法、Linux嵌入式系統(tǒng)應(yīng)用和軟件架構(gòu)師。
????????3、軟件質(zhì)量的管理分為三個層次:作為軟件開發(fā)人員,自己編寫的程序?qū)Φ闷鹱约旱穆殬I(yè)素養(yǎng);自我軟件質(zhì)量的管理(編寫的軟件不存在較大的Bug);別人軟件質(zhì)量的管理(能夠看出其他人的軟件軟肋);
????????4、由于知識每時每刻都在更新,不可能學習完所有的知識,因為一個的精力是有限的,那就必須形成一套比較成熟的軟件編寫套路,目前根據(jù)個人情況和向高手情況請教總結(jié)的軟件套路是:
????????(1)用到哪方面的知識,看使用手冊,到官網(wǎng)查看函數(shù)使用說明及例程;
? ? ? ? (2)驅(qū)動程序編寫,研讀器件數(shù)據(jù)手冊及處理器使用手冊,目前比較的驅(qū)動例程可參照安富萊、原子、野火等開發(fā)板的例程。
????????(3)根據(jù)使用或數(shù)據(jù)手冊,參照例程編寫測試程序,驗證自己想法的可行性。
????????(4)巧用一些使用工具,比如GUI開發(fā),選取一款比較好的字模軟件能夠節(jié)約不少的時間。
????????(5)編寫正式程序,善用一些調(diào)試軟件進行軟件調(diào)試,查找疑難問題。
? ? ? ? 5、編寫驅(qū)動程序,必須認真研讀器件的數(shù)據(jù)手冊,搞清楚串口等底層的通信協(xié)議,達到不用外設(shè)的情況,自己編寫程序也能實現(xiàn)。
????????6、在做項目中多總結(jié),防止事情也做了就是沒有提升,就比如C語言中break都有幾種用法,在什么場合下用哪種用法,自己心里應(yīng)該很清楚,而要做到這一步,必須就是提前break的幾種用法搞清楚,所以說在做實際項目中一定要多總結(jié),可堅持寫博客,寫著寫著就寫成了一個體系,一個系統(tǒng)。
????????7、合理利用SVN版本控制軟件能夠幫助建立自己的問題方法庫,提高自己的解決問題能力,另一方面能夠幫助我們評估實際項目開發(fā)需要的時間。
????????8、軟件在線調(diào)試:程序編寫中有意識加入錯誤處理機制,比如通過返回值判斷,當然也可利用串口時刻把程序的運行情況打印出來等方式增加軟件調(diào)試的方便性和快速性。
????????9、研究比較經(jīng)典的程序和閱讀有關(guān)編程的一些書籍,比如uC/OS-II的內(nèi)核程序,需要仔細琢磨、研究、分析和總結(jié)的。