微信号:qianfengjiaoyu

介绍:千锋教育作为移动互联网研发培训的领导机构,专注iOS、Android、HTML5、UI、PHP+大数据集群,java+大数据课程培训,毕业学员达到薪资水平业内领先,是学员最信赖的IT培训机构.

优秀程序员成功的14个好习惯

2018-03-14 13:58 千锋互联


Tips:预约千锋免费试听课程,点击文末“阅读原文”进行报名!

成功的职业生涯通常是指规定时间内,发布高质量且被认可的工作。这对于IT开发人员也没什么不同。成功的开发人员能在预估范围内编写出高质量的代码,并通过发布伟大的产品让利益相关者满意。

那么开发人员如何才能做到这一点呢?有些人认为开发人员是魔术师,按几个按钮就能让计算机变魔法。现实情况则要复杂得多:我们得遵循一定的原则来编写可靠的代码,测试我们的工作,并不断更新到最新的技术。

1、编写可读性强的代码

我将从与人直觉相反的这一方面开始。我已经数不清我碰到过多少人认为编写一些不可思议的、复杂的代码可以为他们提供工作的保障。“如果除了我其他人都不知道薪资报告模块是如何工作的话,上面就肯定不敢炒我鱿鱼!”

当然,这在理论上可能是对的(尽管有太多的人在说这句话的时候往往高估了自己)。虽然企业老板可能不会炒掉你,但他们也不会支付你很多薪水。如果公司不能在薪资报告模块上失去你,那么自然而然也不会晋升你。它不会把你放到另一个更受人瞩目的项目上。这样做只会让你牢固地待在当前位置,就像死水一样波澜不惊。

2、推理不快乐路径

在编程世界中,所谓的“快乐路径”提出了一种高度乐观的情景。沿着快乐路径行进,没有出错的地方,也没有错误发生。

在编写和测试代码时,学会广泛地去推理不快乐路径的场景。如果作为开发者的你能够因为在推理不快乐路径方面一次成功而出名,那么你对细节的注重将为你赚到更多的酬劳。

3、证明你的抉择

为什么你要在这里使用工厂模式?为什么你选择那个特定的Javascript框架?如果你在回答这类问题时使用“因为这是正确方法”诸如此类的答案,那么就不会给你带来任何好处。

这个世界在很大程度上依赖于软件和软件开发者的传递性。我们拥有经常使我们处于权威地位的专业知识,特别是在与非技术人员或不太有经验的利益相关者打交道的时候。因此,你会发现,你经常采取的是那种大家尝试的做法,“我说怎么做就怎么做”。

4、选择一款强大的编辑器

即使是经验最为丰富的程序员也需要良好编辑器的配合。他们喜欢用文本编辑器胜过IDE编辑器,因为这样可以学到更多东西。无论什么情况,尽量使用键盘快捷键。在选择编辑器时,认真考虑并挑选最好的(Emacs或Vim),因为它们是通用的。其次,挑选你的首选平台最支持的。

5、了解数据结构和算法

如果你不知道什么时候应该使用快速排序、不懂辨认O(n2)程序、不会写递归函数,你的工作效率将会降低,尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。

6、对项目要从一而终

尽管项目收尾阶段的工作确实强度极大且较为枯燥,但我仍然建议大家坚持到最后并始终抱以理想的工作热情,而且能够从一而终的程序员才是一位负责任、有担当的开发者。

7、整洁的代码胜过巧妙的代码

要想让其他人能够读懂你的代码,尽量使用最少的代码来完成任务。遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。

8、潜意识是强大的工具

离开10分钟往往就可以解决一个问题。控制编程时间,给自己一个多姿多彩的生活,劳逸结合能让你在工作时更高效、更愉悦。当然,即便是上了年纪的程序员也知道,以最少的时间完成最高效的工作是成为10倍效率开发者的必要条件。

作为一个程序员,我觉得在职业生涯中最好的一件事儿就是从电脑前站起来,去拜访那些在某一领域有所建树的人们。

9、推动自身和团队进步

重视批评,以包容的态度接受批评并提升自己是非常重要的事情。没有这个基础,你不可能成为一个高效的开发者。一位智者曾经说过:“聪明的人善于从自己的错误中学习,而智慧的人善于从别人的错误中学习。”

10、使用在线社区和论坛

俗话说,共享的问题就是减半的问题。当你绞尽脑汁解决问题的时候,请注意不要浪费太多时间在孤军奋战上。很有可能你的问题,其他某个人已经经历过了,他的经验教训会对你产生极大的帮助。访问在线社区,例如Stackoverflow或TechNet寻求提示和技巧。

11、充分利用工具和实用程序

有大量的软件可用于帮助提升开发人员的构建速度。 除了visual Studio——这款开发微软软件的必备工具现在已经是开箱即用的了——还有很多其他的工具和第三方插件可帮助开发人员做的更好:

ReSharper使得编写代码更容易;

Web Essentials在创建web app时可提供方便的功能;

FxCop / StyleCop用于广泛的代码分析;

SPCAF(用于SharePoint / Office 365的开发)。

12、通过注释来写逻辑

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

这也就是意味着,如果你能在代码中写出来,也就可以用英语或者其他语言写下来。

13、良好的时间管理

迟到对于任何一家公司都是个头痛的问题。作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二天上班就迟到了。但是我们忽略了这一点,我们的工作时间至关重要,因为在这段时间里我们要和客户同步,也要与团队其他成员一齐协作。

14、深入理解客户需求

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


*版权声明:

转载文章和图片均来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益与我们联系删除或授权事宜。

千锋教育3月份

免费试听课正式开始报名!


 
点击阅读原文开抢!
 
千锋互联 更多文章 盘点那些让程序员目瞪口呆的Bug都有什么? 记录一次壮烈牺牲的阿里巴巴面试 程序员的一些强迫症,哪一个让你中招了? 女码农的真实生活:程序“媛”无法卖萌 在程序员面前千万不要说这9句话,后果真的很惨!
猜您喜欢 UML中的依赖关系和关联关系 Python自动化测试--关于datetime的一点思考 2015 年度开源项目新秀榜 2018 Shoppingdata 持续服务零售企业实现精细化运营 Python正则表达式之二:捕获