“听君一席话,胜读十年书”之交谈总结

        今天下午赶巧和我们公司公认的软件高手一起下班,在一起吃饭和一起走路回家的路上共同探讨了一些问题,现将我们交谈中一些比较有价值的内容总结归纳一下,希望能给自己和正在努力奋斗的同仁们一些启示。

一、自身存在的不足或问题

        在读大学期间学习完C语言这本课程后,经过参加学校组织的C语言培训课并在培训课后积极锻炼C语言的编程能力,顺利通过全国计算机二级C考试,才对软件编程有了一定的基础性了解,但当时并没有进入C语言编程的大门。

        在读研究生期间,自从研二就开始跟着导师做项目并在一位软件高手指点下,才对C语言编程有了一定的认识,才对C语言编程有了感觉,接着观察和总结其他软件高手的软件调试方法,才开始逐渐认识到C语言编程中在线调试是软件设计中比较关键的一步,并逐渐形成了一套自己的软件调试方法,虽然这套软件调试方法并不完善,自己的调试技巧还处于初级水平,但是这已经算是一次比较大的跳跃了。

        时隔毕业后两年又开始从事软件设计,依然是使用C语言进行编程,也在做项目中提升了不少自己的软件编程能力,但还是仍然存在不足:

        1、C语言编程基础仍存在不足,比如结构体、联合体、数组、指针使用的还不是很好;

        2、如何高效的编写高质量的软件,自己意识性不强或不知从哪些方面入手;

        3、实际项目中软件开发的时间把控性不好,一个实际的软件项目到底需要多长时间自己心里没底,不知道该如何评估实际的软件项目开发需要多长时间;

        4、实际软件项目开发没有一套自己比较成熟的体系;

        5、软件开发的职业方向不明确;

二、探讨问题总结

        1、项目开发的金三角是成本、质量和进度。目前公司缺少的是质量的把控。

        2、软件开发的方向是软件质量的管理(SIL、CMMI体系)、算法、Linux嵌入式系统应用和软件架构师。

        3、软件质量的管理分为三个层次:作为软件开发人员,自己编写的程序对得起自己的职业素养;自我软件质量的管理(编写的软件不存在较大的Bug);别人软件质量的管理(能够看出其他人的软件软肋);

        4、由于知识每时每刻都在更新,不可能学习完所有的知识,因为一个的精力是有限的,那就必须形成一套比较成熟的软件编写套路,目前根据个人情况和向高手情况请教总结的软件套路是:

        (1)用到哪方面的知识,看使用手册,到官网查看函数使用说明及例程;

        (2)驱动程序编写,研读器件数据手册及处理器使用手册,目前比较的驱动例程可参照安富莱、原子、野火等开发板的例程。

        (3)根据使用或数据手册,参照例程编写测试程序,验证自己想法的可行性。

        (4)巧用一些使用工具,比如GUI开发,选取一款比较好的字模软件能够节约不少的时间。

        (5)编写正式程序,善用一些调试软件进行软件调试,查找疑难问题。

        5、编写驱动程序,必须认真研读器件的数据手册,搞清楚串口等底层的通信协议,达到不用外设的情况,自己编写程序也能实现。

        6、在做项目中多总结,防止事情也做了就是没有提升,就比如C语言中break都有几种用法,在什么场合下用哪种用法,自己心里应该很清楚,而要做到这一步,必须就是提前break的几种用法搞清楚,所以说在做实际项目中一定要多总结,可坚持写博客,写着写着就写成了一个体系,一个系统。

        7、合理利用SVN版本控制软件能够帮助建立自己的问题方法库,提高自己的解决问题能力,另一方面能够帮助我们评估实际项目开发需要的时间。

        8、软件在线调试:程序编写中有意识加入错误处理机制,比如通过返回值判断,当然也可利用串口时刻把程序的运行情况打印出来等方式增加软件调试的方便性和快速性。

        9、研究比较经典的程序和阅读有关编程的一些书籍,比如uC/OS-II的内核程序,需要仔细琢磨、研究、分析和总结的。

你可能感兴趣的:(“听君一席话,胜读十年书”之交谈总结)