想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发
想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~

作为一个软(ku)件(bi)工(de)程(ma)师(nong),你有没有觉得做什么事都没时间?没时间学习新东西,没时间去回顾、整理原来写的烂代码,没时间写单元测试,没时间给接管你项目的家伙写文档,没时间思考,没时间喘气,没!时!间!
额……如果你肯花点时间看看这篇文章,我相信你会明白应该把时间花在哪。
我曾以为成为一个技术大牛的唯一途径是玩命地学习与工作。这个想法差点毁了我。身体越来越差,和家人与朋友越来越疏远,很快我就撑不住了。后来我开始反思,发现自己的时间安排极为不合理,并逐渐悟出了下面这5个道理,这才让自己从那种高压状态中解脱出来。
不要因为怕自己落伍而去学习新东西
一个优秀的开发者始终在学习,这一点毋庸置疑。诚然,旧的技术终会被淘汰。但是新的技术终有一天会变成旧的。因此,没有必要一味地去追求最新的技术。
平均每37秒就会诞生一个新的标准或框架,你不可能把它们都学会。很多新技术、框架或者新特性对你来说都不是必需的,你没必要非得了解它们。真正有价值的技术需要经过社区和市场一段时间的打磨才能出现。IT公司通常都会重点培养适合于自己的技术,没有哪个公司会一拍脑门让自己的代码去适配某个全新的框架。因此你也不用太担心因为某些新技术而被裁员。你需要关注的是这三类知识,按照优先级排列如下:
(1)基础。基础是重中之重。当你掌握一门基础知识后,你可以快速掌握其相关的技术。比如如果你非常熟悉JavaScript,那么基于JavaScript的任何框架都难不倒你。如果你掌握了面向对象编程,那么你可以快速掌握一门新的面向对象的语言。深入学习基础能够大幅提高你的学习效率。

(2)你常用技术的最新版本。你平常用得最多的技术才是你的铁饭碗。如果它们出了新的版本,那么你有必要花时间去学习一下。
(3)大公司推崇的技术。如果一个非常知名的公司(如谷歌、脸书和微软)发布了一个新的技术并不断地对它进行维护,那么这个技术就值得你去关注。曾经社区里有成百上千个非常火的JavaScript框架,结果Angular和React的出现瞬间抢走了他们的风头。


好好规划你的学习时间,每天安排一段时间来学习。这段时间不一定很长,哪怕只有25分钟也能使你有所成长。
写出高效的代码比一般的代码要花更多的时间
当你运行完程序并发现功能实现的时候,你感觉工作已经完成了,实则不然。实现一个新的功能除了编写新的代码以外,还包括对该功能相关的其他部分已有代码的调整与优化。当你发现你的一部分时间花在完善代码的设计上了,那么从长远角度来看你遇到的错误会更少一些。(web前端学习交流群:328058344 禁止闲聊,非喜勿进!)
要想减少你的代码的错误并优化设计,你需要注意以下两点:
(1)先准备好测试环境,然后再开发。先将测试功能配置好,然后再编写符合测试标准的代码。这样既可以减少bug的产生还能优化你的代码思路,因为你在编写代码的时候就严格遵守更加合理和规范的标准。这会使你的代码变得简洁、高效。

(2)迭代完成你的工作而不是一步到位。在你的代码实现需求之前不要花时间去完善它。你永远也不可能使你的代码处于完美的状态。你优先要做的就是让你的代码完成指定的功能。通常情况开发者会犯这两个错误:要么花了太多时间思考而没有充足的时间去实现,要么没有在设计最初的方案上花足够的时间。遵循Kent Beck说得这句话:
“先让它生效,再让它正确地工作,最后再让它更高效”。
7*24小时的工作不会让你成为佼佼者,合理的时间安排才是最重要的
这个经验源于我自身的教训。我曾经为了让老板和客户满意而疯狂地工作。我害怕说“不”,不想让其他人失望。我尽我所能去完成工作,曾经大量摄入咖啡因通宵地工作,困了就直接睡在我的办公桌上。

起初我是全公司的楷模。我得到老板的赏识并感觉风光无限,前途一片光明。这种并不长久的过度表现使其他人对我产生了过高的期待,很快我就撑不住了。结果我的身子垮了,经常生病,耽误了工作。公司的人变得不再信任我。
后来我渐渐明白真正的佼佼者是那些一直可靠的人。他们保证的事一定会做到。要想成为那样的人就必须认真规划自己的时间。
你必须牢牢把握自己时间的控制权,在约定好的期限即将到达的时候高质量地完成你的工作。要想做到这一点起初会很难,因为你需要对超出你能力范围的任务说不。

刚开始,你的老板和客户可能不太会在意你。但是一旦你建立起靠谱、可信的名声后,一切就都不一样了。随着时间的推移,其他开发者都会渐渐显露疲态,变得不再那么可靠,而你则会脱颖而出,成为团队里的佼佼者。我就是这样成为了行业翘楚。我很好地协调了自己的时间并调整他人对自己的期望值,因此建立起了高质量和高实效的好名声。
不是所有的付出都会有回报
花时间也是一种投资。和其他的投资一样,你非常期待投资会有回报,希望在回本的基础上有所收益。
我之前曾提到“先让它生效,再让它正确地工作,最后再让它更高效”这句话。但是不要误解,这里的“正确”不代表完美,“高效”不代表追求极致。“正确”意味着你的代码能够准确地实现功能并易于维护。“高效”意味着不影响用户体验。最关键的一点是你的应用要让用户感觉很快。

因此,不要纠结于优化一个基本上不用的函数,也不要为了仅节省几毫秒而去修改一个已经比眨眼(大约300毫秒)还要快的功能。不要因为你学了一个新的技术或方法就把你之前写的功能正确、结构完整的代码推翻重写。
按照时间表去工作可以使你更加高效
起初我很难理解这一点。你不将你的精力全部投入到工作中也能做到高效?恩,这是真的。Allison Gabriel是弗吉尼亚联邦大学的管理学教授助理,主要研究工作需求和员工动机。她认为:“很多研究表明人的认知能力是有限的,当你不断地去耗费你的能力时,你并不能达到最佳的工作状态。当你被自己榨干时,你的效率会大幅下降。”
永远不要在压力非常大的时候工作,尤其是你非常疲劳、情绪不好的时候。这些不安因素都会让你分心,从身心两方面对你造成不良影响,降低你的工作效率。

人脑的自控能力好比是一种资源,当你进行自我控制时,这个资源会被消耗一部分。如果你的自控能力被大量消耗的话你就不能集中注意力,自然就不能高效地工作了。
不论你是否乐意,你的身心都需要一个休息的时间。因此在每天的时间表里都要安排休息的时间。严格按照时间表的休息时间去休息,不多也不少,这样可以让你在充分休息的同时不感到内疚。指定明确的休息时间可以让你以更加自如的心态去工作,因为你知道你有休息的时间而不是无休止的工作下去。

结语
了解了这五个经验,相信你已经明白了应该如何安排自己的时间。合理地安排你的学习、工作与休息的时间,制定出详细的时间表并严格按照它执行。学习你应该学的、花时间在一些必要工作上、该休息的时候好好休息。希望你也能在自己的领域崭露头角,成为一个真正的大牛~
想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发的更多相关文章
- 成为一个高效的web开发人员,只需要三步
想成为一名专业的web开发人员并不像你想象的那么容易,开发人员在开发自己的web项目时常常需要牢记很多东西,他们要不断寻找新理念,新创意,在特定时间内开发出高质量的产品,一名优秀的程序员必须明白时间的 ...
- 10个步骤让你成为高效的Web开发者
要成为高产.高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果. 下面是10个提高效率的步骤,虽然不能保证解决你在开发中的所有问题,但至少是非常实用的,可以简化你的 ...
- 2018 Web 开发者路线图[转载]
2018 Web 开发者路线图[转载] https://qianduan.group/posts/5a66f36e0cf6b624d2239c74?hmsr=toutiao.io&utm_me ...
- 面试web前端开发,被打击了
今天我去面试web前端开发,被打击了,也跟我也有一定的关系,最基础的东西我都没回答好,哎! 主要是我在等我有意向的公司给我发offer,闲着没事,刚好又有公司叫我去面试,我抱着多面一家也没有啥子坏处就 ...
- 来谈谈 WebAssembly 是个啥?为何说它会影响每一个 Web 开发者?
作者:link 原文:What is WebAssembly and why it affects web developers! 你听说过WebAssembly吗?这是由Google, Micros ...
- 每一个web开发者都应该了解的HTTP/2
我认为每一个 web 开发者都应该对这个支撑了整个 Web 世界的 HTTP 协议有所了解,这样才能帮助你更好的完成开发任务.在这篇文章中,我将讨论什么是 HTTP,它是怎么产生的,它的地位,以及我们 ...
- 使用微信web开发者工具调试微信企业号页面(前端页面,已发布在服务器上的)
前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是做一个记录,方便自己以后使 ...
- Web开发者不可不知的15条编码原则
HTML已经走过了近20的发展历程.从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展.但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意.下面,向大家介 ...
- 微信web开发者工具调试
微信web开发者工具调试 前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是 ...
随机推荐
- 代码的鲁棒性:链表中倒数第k个结点
输入一个链表,输出该链表中倒数第k个结点. 代码思路如下:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点.然后两个指针同时往后移动,当第一个结点到达 ...
- java面试之Hashmap
在java面试中hashMap应该说一个必考的题目,而且HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接 ...
- JavaScript中DOM
概念 什么是DOM 1. 什么是 DOM DOM 的全称是document object model 它的基本思想是将结构化文佳例如HTML xml解析成一系列的节点.就像一颗树一样. 所有的节点和最 ...
- 手机管家iPhoneX的适配总结
WeTest 导读 随着苹果发布会的结束,Xcode的GM版也上线了,也意味着iPhoneX适配之旅的开始. 一.设计关注篇 注意设计的基本原则:(苹果呼吁的) 规格原帖:https://develo ...
- JDFS:一款分布式文件管理系统,第三篇(流式云存储)
一 前言 看了一下,距离上一篇博客的发表已经过去了4个月,时间过得好快啊.本篇博客是JDFS系列的第三篇博客,JDFS的目的是为了实现一个分布式的文件管理系统,前两篇实现了基本的上传.下载功能,但是那 ...
- iOS9.3越狱
转载:http://bbs.feng.com/read-htm-tid-10680439.html 首先是Windows英文版越狱的的教程 下载 Cydia Impactor 工具(用来安装越狱A ...
- SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID
一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...
- SQL Server 后悔药 delete drop update
国庆假期终于有时间做点事情 因为平常工作会做些数据库操作 可能会有所操作失误 参考一下 方法一 ApexSql 2016一个软件 http://www.cnblogs.com/gsyifan/p/A ...
- VB.net shell、IO.File.Open、Process.Start、Shellexecute API 运用经验总结
打开文件还有很多方法,但我了解到运用较多的是上面几种- -,为了防止以后忘记,先把了解到的写下来. 1.Shell 这个看了很多网页,最靠谱的运用方法: Shell("cmd.exe /c ...