一、代码编写
1.source insight
作为底层软件的研发人员,source insight几乎是最好用的语言编辑器。和VS相比,虽然SI的功能没那么全面,但是运行大型项目的处理时间却小得多,因此极多做底层软件的公司都选择了source insight。
缺点:不像VS那样在编码时有错误提醒,多个符号,或是使用错误的定义和声明都不会有报错,写代码是有种在白板写代码的感觉(编译的时候可能会出现一大堆错误)。
附1:合理配置+插件可以极大提高编码效率。
附2:学生阶段写单片机程序一般用Keil,CodeWarrior,Iar,写应用层的程序常用VS,但是用到了SI又是另一种感受啊。
2.Nodepad++
一款文本编辑器,类似于windows的记事本,超轻量级,方便进行代码的编写,修改和对比。
那为什么用Nodepad不用记事本呢?
原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如明明正确的程序一编译就报语法错误等。
所以建议不要使用Windows自带的记事本打开任何程序文件。
3.BeyondCompare
文件,文件夹对比软件,版本修改时的利器。
二、效率提升
1.Q-Dir
资源管理器,适用于打开非常多的窗口时!!!
经常会出现同时打开不同盘的不同文件,alt+tab来回切,甚至恨不得换3屏,这是Q-Dir瞬间让人舒服了。
2.Everything
文件搜索程序,谁用谁知道。
3.Snipaste
方便到极点的截图工具(一定要用钉子功能)。
4.e-diary
个人用笔记本推荐Evernote,但是公司内网用的话还是用ediary比较合适,任务、文档、日程的记录都很方便。
三、团队工作
GIT和SVN!!!!!
版本管理几乎是每个团队必备的工具,详细见google。
四、总结
个人研发流程:Keil编程,编译,连接——烧录到单板——运行看现象
企业新模块研发流程:阅读模块技术手册,学习相关知识——团队内反串讲(给大牛们讲解流程和个人理解,由他们提出问题)——解决遗留问题——编码(SourceInsight)——代码检视(个人/大牛)——上传到编译专用Linux服务器——模块编译/改错——版本编译/改错——上传至单板所在的Linux服务器——冒烟(代码在单板环境下运行测试用例)——代码再检视——发布正式版本——联调(与其它模块一起进行)——多轮迭代……