程序员素质漫谈(现在居然在学C语言时发现的)

来源:互联网 发布:手机如何修改表白源码 编辑:程序博客网 时间:2024/06/05 10:42

程序员不是一个人能写一些代码就可以了,作一个真正合格的程序员,或者说可以真正合格完成一些代码工作的程序员,应该具有以下素质:

1. 较强的逻辑思维能力和创新能力

逻辑思维能力是作为一个程序员的基础,而创新能力则是程序员保持其旺盛生命力的法宝。没有对软件开发的热爱和激情,以及对软件精益求精的不舍追求,要想成为一名优秀的程序员是很难想象的。

2. 团队精神和协作能力

这是程序员应该具备的最基本的、也是最重要的安身立命之本。任何个人的力量都是有限的,即便如Linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的编写Linux代码的高手们,没有协作精神是不可想象的。

3. 文档习惯

书写良好的文档是正规研发流程中非常重要的环节。作为代码程序员,用去30%的工作时间书写技术文档是很正常的事,而作为高级程序员和系统分析员,这个比例还要高出很多。若缺乏文档,一个软件系统就缺乏生命力,在未来的查错、升级以及模块复用时就会遭遇到极大的麻烦。

4. 规范化、标准化的代码编写习惯

编写代码必须遵守国际软件开发规范,这样开发的软件才能与国际接轨。作为一些外国知名软件公司的规矩,代码内变量的命名,代码内注释的格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定。良好的编程习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。

5. 需求理解能力

程序员需要理解一个模块的需求,除了功能需求外,还须考虑代码本身的性能。性能需求指标中,稳定性、并访支撑能力以及安全性都很重要。作为程序员,需要评估该模块在系统运营中所处的环境、将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。

6. 复用性、模块化思维能力

复用性设计、模块化思维就是要程序员在完成任何一个功能模块或函数的时候,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用。这样就能极大避免重复性的开发工作,也就会有更多时间和精力投入到创新的代码工作中去。

7. 测试习惯

对一些商业化、正规化的软件开发而言,除了专职的测试工程师之外,程序员还需要进行自测。自测可尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。测试工作包括正常调用测试,主要检测模块功能能否完成;而异常调用测试也是不可缺少的,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。

8. 学习和总结的能力

程序员这个职业是人才很容易被淘汰、很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力。对于程序员,这种要求就更加高了。善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。

原创粉丝点击