欢迎分享,转载请注明来源:内存溢出
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。 目前软件公司对程序员的需求是很大的. 作一个真正合格的程序员,应该具有的素质。 1:团队精神和协作能力 团队精神和协作能嫌握力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。 2:文档习惯 文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。 3:规范化的代码编写习惯 知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。 4:需求理解能力 程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。 5:模块化思维能力 作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。 6:测试习惯 测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。 7:学习和总结的能力 程序员是很氏返容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。芹核庆其实,程序员的悲催完全是由于程序员的自大引起的。有些程序员开发过几个软件,就以为自己对需求的把控程度很成熟了,于是在与用户做需求的时候,就省去了做原型设计的过程,在听了客户的简单介绍之后,就按照自己的想法把软件的需求分析确定下来,向领导做个简短的报告,然后开始搞开发。作为程序员,作为需求分析设计人员,更应该明白客户就是上帝。在与用户交流的时候,不要把客户想象成架构师,要把他们当做“白目”来对待,因为客户的没有开发过软件的经验,他们表达的想法不是按照程序来执行。如果程序员只是一味的揣测客户的意愿,而不能自己的所想转换成原型,那么很可能会弄巧成拙。比如客户甲说想要在应用软件中加个公鸡报时的功能。程序员A以昌察为客户想要一个公鸡宠物,点击时可以报时,而实际上客户是想让软件可以设置闹钟,在某个时间点发出公鸡鸣叫的声音。可想而知,设计出来的宠物再好,也不是用户所需要的。也许有一些客户是属于“钻石王老五”类型的,他们对软件一窍不通,偏偏还在和你谈需求,他们会对软件提出很多意见,他们会很固执的让我们按照他的思想去设计、实现,尽管那样可以,但是软件的性能及维护性将大大降低,这时候我们需要去主动的引动客户,不是客户左右了你,就是你左右了客户。如果客户左右了你,尽管可能你按照客户的需求把软件设计出来了,但这却是一个失败的软件,因为它的运行效率很低,而且需求又经常发生变动,而这个软件没有丝毫的可扩充性,那么最后客户会说这个耐罩茄软件设计师给他们设计的软件不够好,而不是客闷桐户影响了正常的开发,那么作为软件的需求分析设计师就应该对这件事会责任。一个好的需求分析设计师,应该是引导客户去正确的使用软件,提高软件的效率与性能,而不是盲目的随从客户,被客户所左右。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
什么是QQ程序
上一篇
2023-05-25
有什么可以拍证件照的手机app
下一篇
2023-05-25
评论列表(0条)