在校大學生 linux 軟體動手項目精選(序)

來源:互聯網
上載者:User

轉載時請註明出處和作者連絡方式:http://blog.csdn.net/mimepp

作者連絡方式:YU TAO <yut616 at sohu dot com>

大學畢業,自己動手寫的代碼沒超過百行,是不是大有人在?看了不少代碼,但一動手,處處出錯。

為了在大學學習結束時,能給自己積累些實際的軟體開發經驗,對很多同學來說真正動手寫一些代碼,並按一定的品質要求做出來的東西,會給你今後的工作巨大的協助。

但一般你又沒有一個明確的目標要去做什麼事情,從何開頭。

這裡會列舉一些能供你動手的項目,如果你真的實現了這些項目裡面的功能,那麼國內中上公司的大門基本就是為你敞開的了。

一、面向的對象:

對 linux 軟體開發或者是嵌入式系統 linux 開發有興趣的同學。

linux + C 語言。

二、代碼規範:

1、遵循 linux kernel coding style:

http://lxr.linux.no/#linux+v3.0.4/Documentation/CodingStyle

2、代碼編譯前,仔細閱讀,盡量保證一次編譯成功

反覆這樣練習,你能做到這一點。

別把你的代碼編輯錯誤交給編譯來檢查。

代碼編譯前多花十幾分鐘,讓邏輯在你大腦中運行看看,有哪些例外沒有檢查到。

出現問題後,調試所費的時間要比這個時間大得多。

如果你寫的代碼,能達到和用 Lindent 格式化出來的效果一致,那麼就很 OK 了。

Lindent 參考:

http://blog.csdn.net/mimepp/article/details/2224814

寫一手優雅的代碼很重要。

3、提交代碼時用格式模板

代碼提交 svn check in 格式模板,參考:

http://blog.csdn.net/mimepp/article/details/6838545

三、項目如何管理:

1、在 google code 上註冊你自己的項目

用 open source 的方式來管理你的項目,如 svn, wiki, bug report 等。

你所做的事情都會留下記錄,別搞“踏雪無痕”。

2、在 google code 上寫 wiki,記錄你的設計思想,開發技術點,寫 memo

好的代碼是設計出來的,不是調試出來的。

memo 可以包括:問題描述,問題分析,問題解決,所做的測試,TODO list

寫 memo 有助於培養你的表述能力,並留下記錄。好記性不如爛筆頭。

3、用 UML 工具畫出你的整體架構圖,主要模組的順序圖表,貼在你的各個 wiki memo 裡

UML 是工程師之間交流的語言,你能很專業的畫出這些 UML 圖,對以後的工作會有很大協助。

可用的 UML 工具如 JUDE :

http://blog.csdn.net/mimepp/article/details/2058170

4、項目上,每周給自己設立一個功能目標,並努力在這個時間點一定要完成

以後的工作上,你的 credit 就是這樣能按時按質完成 task 建立起來的。

要知道實際工作中的開發都是有時間壓力的。

目標確定後,在這個時間點之前,不要走到其他無關的模組上去,也就是說不要跑偏了。

5、事情都在 linux 下做

可以用ubuntu linux,不是讓你用虛擬機器裡跑一個 linux 喲,而是直接在你的機器上只裝 linux,而沒有其他。

堅持在 linux 下做事。

你如果想真正成為一個 linux 開發人員,你需要用 linux 下的方式來思考問題。

可別老是用 windows + source insight,這個不合格。

四、調試工具:

1、gdb

x86 下用 gdb 調試你的代碼中的 crash,這個應該一定會發生。

2、valgrind

x86 下用 valgrind 來檢查你的代碼的記憶體泄露問題,這個也一定會發生。

可以參考:

http://blog.csdn.net/mimepp/article/details/4197340

3、gdb server

學著用用。

五、態度

足夠認真,足夠耐心,測試足夠多。

可能一個具體的動手項目會花你幾個月甚至一年的時間,但花費時間真正做好一個項目,並把它堅持做到極致,會有意想不到的收穫。

所謂做得完,做得好,還要做得漂亮。

要知道工作後,在開始的頭幾年裡,你可能都是在維護老的代碼,修修補補,都沒機會自己設計一個完整的功能或者模組。

代碼寫到一萬行,你就能看到自己的變化了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.