资深程序员具有的14个优良习惯,你都具有哪些?
古话说的好:“习惯成自然,自然成人生”习惯对一个程序员的成败极为重要,好习惯可以让一个程序员走向成功,坏习惯就会走向失败!
1
慎于说Yes
在没有搞清楚开发需求、任务工作量、团队期望值之前,有前途的程序员不会轻易答应。特别是对于新人来说,比较急于体现自己,对于同事或者者老板的工作安排来者不拒,精神可嘉,方法不可取。
承诺太多,会出现自己无法按时完成的情况,即便按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多。
2
敢于说No
看起来和第一条雷同,其实细究起来不一样。第二条执行起来比第一条难得多。当遇到显著不正当的要求时,可以考虑拒绝,前提是准备好了全面充分的理由。不要经常说No,但是一旦说了,就要切中要害。
有前途的程序员不会闷头干活,知道自己的定位和团队期望,分清楚哪些是不正当的要求,哪些是正当的要求,而后把显著不正当的要求和领导沟通下,获得支持。
3
构建自己的知识体系
在信息爆炸的年代,碎片化的知识很多,系统学习的时间越来越少,假如没有自己的知识体系,很容易被淹没在知识的海洋中,而且难以记忆。
100分程序员推荐的做法,通过Wiki或者者其余知识管理工具构建一个知识框架,大的分类可以包括软技能、架构、语言、前台、后台等,小的分类可以更细化。
4
培养大局观
程序员比较容易陷入的困境是专注于自己的一亩三分地,不关心团队的进度和业绩,也不关心软件的整体架构和其余板块。
这种状态长期下去没有好处,特别是在大公司中,逐步成长为一颗螺丝钉。100分程序员会在工作之余,多看看其余在做什么,看看团队的整体规划,看看软件系统的架构和说明文档。
对自己的工作更了解,而且知道为什么这个产品应该这样设计,为什么领导应该这样做规划,这种大局观非常有利于自己的职业生涯。
5
代码规范
程序员在新手时期需要培养良好的代码规范。最直接的办法,遵循公司已有的代码规范(假如没有相似的规定,也是醉了),从简单的变量命名到板块划分,有些规则可以导入到编码工具中,更多的部分需要自己体会和遵守。
关于此方面的知识,最权威的书籍是《代码大全》,别误解,书名是个美丽的错误,里面不是代码集锦。对于新手来说,养成一个统一的编码风格非常重要,是基础一步。
6
代码审查
把这个单独拎出来说,是由于对于程序员来说很重要。很多快速成长的公司没有这个步骤,建议大家能够坚持下来。
让别人审查自己的代码,可以得到更多的反馈,也是和同事交流的好机会;审查别人的代码,可以借鉴别人的经验和思路。通常情况下,代码审查比自己写代码的收获更大,对于新手来说更有价值。
只需你想做,不管形式是不是正规,都可以执行下去,最好形成团队的习惯。
7
一个时间段内只专注于一种类型的语言
假如你正在设计或者开发网站,你将需要同时熟习多种不同的语言。你可能会想同时学习所有的这些语言,特别是考虑到它们是如何相互关联的。
我想,在某种程度上,这是不可避免的。但假如你真的想快速提高,我建议你专注于一个特定领域的专业知识。你想更好地利用CSS?把你的重点放在这一点。尝试使用一个单一的HTML文档只使用CSS实现不同的布局。
CSS Zen Garden 是一个使用相同布局实现不同页面样式非常棒的例子。你也可以通过查找元素的列表,并把精力集中在里面。
举个例子来说,你熟习CSS2,但想提升对 CSS3 的了解,你可以学习CSS3属性并逐一的实现它们。你可以阅读当前的 CSS3规范 ,还可以通过每个板块的学习来理解它在浏览器上能(或者不能)做什么。
8
通过注释来写逻辑
说到编码,我有坚持很多准则和想法。其中一个就是,代码中95%都是逻辑。另一个就是从人类语言到编程语言,逻辑并没有改变。
这也就是意味着,假如你能在代码中写出来,也即可以用英语或者者其余语言写下来。
9
良好的时间管理
迟到对于任何一家公司都是个头痛的问题。作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二天上班就迟到了。
但是我们忽略了这一点,我们的工作时间至关重要,由于在这段时间里我们要和用户同步,也要与团队其余成员一齐协作。
10
深入了解用户需求
仅仅理解单一客户的表面意思是远远不够的。一个伟大的程序员应该具有能把繁琐的要求了解并分解成项目的技术任务或者子任务的能力,并且最后拿到的成果应准确满足用户的需求。
11
在编程之前准备好全套算法
案例、伪代码和流程图统统都是非常重要的软件开发手段。一个伟大的程序员假如没有先准备好算法,那么他是不会像傻小子一样兴冲冲地开工写代码的。写代码实际上只是一个编码任务。
12
了解并帮助定义验收标准
能否需要高层次测试脚本是由产品所有者决定的,但是一个伟大的程序员必需能够编写技术测试脚本,并且深刻认识到跳过这些步骤可能会带来的后果。
13
绞尽脑汁还是“NO”
如果抓耳挠腮还是找不出处理办法,我们该如何是好?一个伟大的程序员应该足智多谋,能灵活应对困境。
他们会去讯问同事,或者者是向团队领导者请教;在互联网上面搜索,而后耐下心来一遍又一遍地实验。相信山穷水尽疑无路,柳暗花明又一村,投降两个字从未出现在他们的字典上。
14
了解and帮助定义验收标准
能否需要高成次测试脚本是产品所有者决定的,但是,作为一个伟大的程序员必需能够编写技术测试脚本,并且也要认识到假如跳过了这一步骤可能会带来的后果。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 资深程序员具有的14个优良习惯,你都具有哪些?