在校大学生 linux 软件动手项目精选(序)
来源:互联网 发布:淘宝商城耐克女鞋 编辑:程序博客网 时间:2024/05/02 00:02
转载时请注明出处和作者联系方式: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
学着用用。
五、态度
足够认真,足够耐心,测试足够多。
可能一个具体的动手项目会花你几个月甚至一年的时间,但花费时间真正做好一个项目,并把它坚持做到极致,会有意想不到的收获。
所谓做得完,做得好,还要做得漂亮。
要知道工作后,在开始的头几年里,你可能都是在维护老的代码,修修补补,都没机会自己设计一个完整的功能或者模块。
代码写到一万行,你就能看到自己的变化了。
- 在校大学生 linux 软件动手项目精选(序)
- 在校大学生 linux 软件动手项目精选(一) linux 下 hard disk 文件快速搜索工具 HDD_Search
- 软件专业在校大学生慎接项目
- 大学生在校做项目
- 在校大学生谈项目管理
- 大学生在校该如何平衡好学习理论和动手实践
- 在校大学生关于软件行业学习的迷惑
- 个人学分计算小软件0.1--使用对象在校大学生
- 在校大学生能做什么
- 如果你是一名在校大学生,一定要看
- 一位在校大学生的求职自述
- 写给有志于IT的在校大学生的话
- 给在校大学生的17条建议
- 大学生在校期间应该完成的事情
- 如果你是计算机专业的在校大学生
- 两位在校大学生的2012
- 在校大学生应该怎样做-----白岩松…
- 写给有志于IT的在校大学生的话
- 方法是类的核心,要想设计好类,必须遵循方法的设计原则
- 今天在网上看到了索尼P系列超便携本。
- 清蒸茄子
- Ubuntu关机
- 没坏心眼女孩的一系列表示
- 在校大学生 linux 软件动手项目精选(序)
- linux 多线程编程之——消费者与生产者
- Android操作联系人
- c 语言去除数组中指定的数字
- Java中IO流介绍 二
- 【教训】做生意的十大禁忌.看完不是富豪,也得是个老板
- c程序内存布局
- 今天心境不错
- 数据类型与垃圾回收