一个优秀的程序员所具有的14个品质【转载】

慎于说Yes

在没有搞清楚开发需求、任务工做量、团队指望值以前,有前途的程序员不会轻易答应。特别是对于新人来讲,比较急于表现本身,对于同事或者老板的工做安排来者不拒,精神可嘉,方法不可取。承诺太多,会出现本身没法按时完成的状况,即便按时完成,也可能没有达到别人的指望值,长期以往别人对你的失望会愈来愈多。前端

勇于说No

看起来和第一条雷同,其实细究起来不同。第二条执行起来比第一条可贵多。当遇到明显不合理的要求时,能够考虑拒绝,前提是准备好了全面充分的理由。不要常常说No,可是一旦说了,就要切中要害。有前途的程序员不会闷头干活,知道本身的定位和团队指望,分清楚哪些是不合理的要求,哪些是合理的要求,而后把明显不合理的要求和领导沟通下,取得支持。程序员


构建本身的知识体系

在信息爆炸的年代,碎片化的知识不少,系统学习的时间愈来愈少,若是没有本身的知识体系,很容易被淹没在知识的海洋中,并且难以记忆。100分程序员推荐的作法,经过Wiki或者其余知识管理工具构建一个知识框架,大的分类能够包括软技能、架构、语言、前端、后端等,小的分类能够更细化。算法

培养大局观

程序员比较容易陷入的困境是专一于本身的一亩三分地,不关心团队的进度和业绩,也不关心软件的总体架构和其余模块。这种状态长期下去没有好处,特别是在大公司中,逐渐成长为一颗螺丝钉。100分程序员会在工做之余,多看看其余在作什么,看看团队的总体规划,看看软件系统的架构和说明文档。对本身的工做更理解,并且知道为何这个产品应该这样设计,为何领导应该这样作规划,这种大局观很是有利于本身的职业生涯。编程

代码规范

程序员在新手时期须要培养良好的代码规范。最直接的办法,遵循公司已有的代码规范(若是没有相似的规定,也是醉了),从简单的变量命名到模块划分,有些规则能够导入到编码工具中,更多的部分须要本身体会和遵照。关于此方面的知识,最权威的书籍是《代码大全》,别误会,书名是个美丽的错误,里面不是代码集锦。对于新手来讲,养成一个统一的编码风格很是重要,是基础一步。后端

代码审查

把这个单独拎出来讲,是由于对于程序员来讲很重要。不少快速成长的公司没有这个步骤,建议你们可以坚持下来。让别人审查本身的代码,能够获得更多的反馈,也是和同事交流的好机会;审查别人的代码,能够借鉴别人的经验和思路。一般状况下,代码审查比本身写代码的收获更大,对于新手来讲更有价值。只要你想作,不论形式是否是正规,均可以执行下去,最好造成团队的习惯。浏览器

一个时间段内只专一于一种类型的语言

若是你正在设计或开发网站,你将须要同时熟悉多种不一样的语言。你可能会想同时学习全部的这些语言,特别是考虑到它们是如何相互关联的。

我想,在某种程度上,这是不可避免的。但若是你真的想快速提升,我建议你专一于一个特定领域的专业知识。你想更好地利用CSS?把你的重点放在这一点。尝试使用一个单一的HTML文档只使用CSS实现不一样的布局。 CSS Zen Garden 是一个使用相同布局实现不一样页面样式很是棒的例子。你也能够经过查找元素的列表,并把精力集中在里面。举个例子来讲,你熟悉CSS2,但想提高对 CSS3 的理解,你能够学习CSS3属性并逐一的实现它们。你能够阅读当前的 CSS3规范 ,还能够经过每一个模块的学习来了解它在浏览器上能(或不能)作什么。架构

经过注释来写逻辑

说到编码,我有坚持不少原则和想法。其中一个就是,代码中95%都是逻辑。另外一个就是从人类语言到编程语言,逻辑并无改变。

这也就是意味着,若是你能在代码中写出来,也就能够用英语或者其余语言写下来。框架

良好的时间管理

迟到对于任何一家公司都是个头痛的问题。做为一个程序员,有时候为了完成任务经常不得不熬夜,从而致使次日上班就迟到了。可是咱们忽略了这一点,咱们的工做时间相当重要,由于在这段时间里咱们要和客户同步,也要与团队其余成员一齐协做。编程语言

深刻理解客户需求

仅仅了解单一用户的表面意思是远远不够的。一个伟大的程序员应该具有能把繁琐的要求理解并分解成项目的技术任务或子任务的能力,而且最后拿到的成果应精确知足客户的需求。工具

绞尽脑汁仍是“NO”

假如抓耳挠腮仍是找不出解决办法,咱们该如何是好?一个伟大的程序员应该神机妙算,能灵活应对困境。他们会去询问同事,或者是向团队领导者请教;在互联网上面搜索,而后耐下心来一遍又一遍地试验。相信山穷水尽疑无路,柳暗花明又一村,投降两个字从未出如今他们的字典上。

编程以前准备好全套算法

亲~还记得咱们老师逼咱们画的流程图吗?还记得一个个案例和伪代码吗?他们都是灰常重要的软件开发手段。一个伟大的程序员若是木有事先准备好算法,那他会不会像个傻小子似的只顾写代码呢?因此,在开工以前,作好全套的算法是必须的。

理解and帮助定义验收标准

是否须要高成次测试脚本是产品全部者决定的,可是,做为一个伟大的程序员必须可以编写技术测试脚本,而且也要认识到若是跳过了这一步骤可能会带来的后果。

主动一点点一个优秀的程序员不须要别人告诉他该作什么,他的主动性要比别人强一些,他能够自觉的关注流程,提升应用程序的灵活性以及快速的解决开发过程当中出现的Bug。

相关文章
相关标签/搜索