每位开发人员在本身的职业生涯、学习经历中,都会“开发”出一些坏习惯。在这篇文章中,小编向大家展现我本身有或是老也改不了的坏习惯。我但愿若是你刚开始这份事业,可以避免这些坏习惯;程序员
若是你已经有了这些毛病,那但愿你可以意识到它们,并能够开始改变。gulp
1、休息不够安全
我建议你天天尽可能多休息。我不能说那种具体而微的计划,由于每一个人都不同,但在通常意义上,你应该每小时都应该起身伸展四肢,活动一下,喝杯咖啡,吃点东西。不少时候,若是你思路停滞,那你须要休息一下,大脑获得休息有助于更容易地解决问题。因此找到适合你的休息方式。即便你认为本身不须要休息,但也试一下,你会发现本身的效率提升了很多。微信
2、拒绝寻求帮助框架
这一条在学习和工做场景中都很常见。咱们不少人都不寻求帮助。缘由不少,但我认为最主要的缘由无非是自尊以及惧怕让人认为本身啥也不会。咱们不少人都有冒名顶替综合征,以为本身不彻底胜任本身的工做。我在公司里、在和客户打交道时、甚至在上课和辅导中都有这种感受。咱们认为寻求帮助会强化这种感受。但事实上,它浪费了大量时间,阻碍了你的成长。函数
其余真正的开发人员们都是视频或书籍通常的资源,甚至要比这些好太多。他们能够直接回答你的问题,帮助你真正的理解它。工具
只有混蛋才会由于你问问题而批评你,这时候我会尽力避开这些人。性能
若是你想要本身找到答案,不想寻求帮助,那也没问题,给本身一个时间限制。当你的前辈就在你旁边,他可能知道或至少能够帮到你的时候,千万不要浪费几天时间来寻找答案。单元测试
3、中止学习学习
我无论你是不是从业20余年的高级开发人员,你应该一直把本身当成一个学生。这比大多数职业的要求更高,由于这一行总在变化。没有一个开发人员能够知道全部事情的所有内容,他们这一分钟这样作,下一分钟就有变化发生,他们就必须学习更多。若是你骄傲自满,中止阅读、学习,你必然会落后。即使你有一份不须要学习任何新东西的工做,一旦你失去了那份工做(这并不是不可能发生),你会远远落后。因此即便有这样的工做,我也建议你边工做边学习。
无论你喜欢那种语言、框架、库,你都要及时更新你的知识。若是你的职位须要的只是旧知识,这也是可理解的,由于不少领导倾向于认为若是公司还没没落,那就不必修复。因此你仍然会发现有些团队用着过期的、不受支持的技术,只由于该技术还能运行。若是你边工做边学习这方面的新东西,那你就能够向团队展现更快、更高效、更简单的新技术是可能的。你或许可以说服他们更新技术、改善公司。
4、混乱的代码
这一条更多地是一种技术习惯,但也可能意味着不少事情。你应当以一种直观、高效、安全的方式写代码。这在自学的时候简直太难了,由于在相关的课程中,你学到的不是写某些代码的最佳方法,而是导师认为这么写最容易理解一些核心概念。因此,你必须进行一些额外的研究,找出清理你代码的最佳方法。
我绝对建议你使用“避免重复代码原则”(DRY principle,don’t repeat yourself)。若是你遇到常见的代码块,那就建立某种“类”(class)或“函数”(function)来合并这部分功能,而不是仅仅重复它。这让代码更加简洁,节省了大量代码行,而且便于他人使用。
你也要注意性能,好比压缩图片、缩小JavaScript和CSS。你可使用task runner(如gulp)或其余工具自动完成压缩,面对小型任务,你甚至可使用minifier.org等手动完成。
另外,不要进行没必要要的API接口调用,要使你的全栈应用程序以尽量少的请求完成你须要的所有功能。以及测试……我在这上面犯了不少错,没有作足够的测试。就我所知,单元测试有助于搭建更健全的应用程序,避免潜在问题,节约时间和开销。但我就是很讨厌它,这多是我最坏的习惯之一,也是我成为更好的开发人员须要解决的大问题。有时候咱们回了节约时间减小测试,但在现实中,这样作会下降应用程序的性能、效率和可读性,并且与一开始就采用正确的方法相比,它可能在未来引发更大的麻烦。因此请记住这一点。
5、工做和生活的不平衡
工做和生活的平衡真的很重要,尤为是当咱们成家之后。无论什么类型的程序员都要花大量的时间在工做上,这有不少缘由:事情总在发生变化;咱们遇到的问题让咱们步履维艰;咱们须要研究这些问题等等……这就致使了不少时候,咱们不得不工做到很晚、很早就开始工做、周末也加班。这会让你远离生活中的一切,好比你爱的人们、你的我的爱好。你可能喜欢运动、远足或是在外吃大餐,但假如你一直要加班,你就无法作这些让你快乐的事情。
我在这个领域有不少经验。我和妻子有两个孩子,其中一个患有自闭症,但我无法像我想的那样花大量的时间陪他们。我面临着双重困境,由于我既要处理编码问题,又要处理内容创做者的问题,要不断地提出新想法,有质量地记录下来等等。
若是你是自由职业者,为本身工做,全部的生计都取决于完成工做,你只有把全部的事情作完才能拿到报酬。有报酬,也就必然得承受持续不断的担心:本身是否能跟上进度、本身可否完成任务。压力真的很大,让咱们不得不把其余事情从咱们生活中挤走。并非说在公司工做的人就不会经历这些,而是说当你须要考虑全部的事情的时候,压力等级彻底不一样。因此我很同情那些有本身生意的人。
但即使如此,你也不能让它控制你的生活,你必须为你的家人和朋友留出时间,或者更坦率地说,为你本身留出时间。生活可远比写几行代码丰富多了。作你本身喜欢的事情,给你的生活带来平衡。
6、糟糕的办公室政治
这一条是给那些在公司工做的人们的。你和其余人一块儿工做,但这反过来又会引发冲突、分歧、争论等等。许多开发人员十分傲慢,总认为本身是正确的,即便他们知道本身犯了错,他们中的一些人也永远不会认可。我不是说这是大多数开发人员,但我认为咱们至少会遇到一位这样的人。我听不少人说,他们的团队很是棒,成员之间相处得很是融洽,这很好,但不是全部团队都是这样子。
不少时候大家会在想法和解决方案上发生冲突,试着表现得老练和对对方的尊重,但同时,也不要太容易就被说服,尤为是当你对本身的提案很是有信心的时候。
不要大喊大叫,不要骂人,千万别作这些事情,这什么用也没有。
若是他们开始这样对待你,你就离开,作一个更强大的人。
若是你不幸遇到了一个十足混蛋的团队成员,他彻底不听理由,你除了想办法避开他以外,别无他法。
在某些状况下,你可能不得不和大家的领导交谈,不过我仍是建议你先和那我的谈谈。
7、不能从错误中吸收教训
做为一位开发人员,你会犯不少错误,这不可避免也没什么大不了的。但若是你老是犯一样的错误,不能从中吸收教训,那就有问题了。
当你犯错后,我建议你听从这样一个流程:
找出错误的根本缘由是什么;
找到能够防止错误再次出现的流程;
弄清楚若是早先发现了错误,可否避免后果。
当你犯下大错,请你仔细思考一下这三件事,颇有可能就不会再犯这个错误了,或者你至少下次会尽早发现错误,避免状况恶化。同时,不要由于犯错而对本身太苛刻,谁都会犯错。
8、太早放弃
我并非说你啥项目都不能放弃,只是我看过太屡次人们在即将成功的前夜放弃了。因此在放弃以前,确保你试尽了全部可能:已经上下求索、寻求帮助、用遍方法、换个技术、休息很长一段时间让本身的思绪恢复正常、若是可能的话已经搁置了一段时间……你在放弃以前作了全部能作的事情,若是仍是失败,那么也许是时候放弃它、继续前进了。成功可能就在眼前,若是你这时候放弃,真的太耻辱了。
9、作一个无所不知的人
这些人大多数都是Stack Overflow网站(一个IT技术问答网站)的魔鬼,他们取笑新开发人员的问题,嘲笑他人的回答,一有机会就点击“反对”。我讨厌死这些人了。我认为他们中的许多人在学校里就老是被人找茬,他们利用本身的知识欺负其余可能有问题或是没有所得的开发人员,看上去像是忘掉了被欺负的感觉,只想要复仇。我这个理论可能有问题,只是一家之言。
不管他们出于什么缘由这么作,我认为若是他们思想开放、欢迎不一样的想法、尊重他人,那他们就会比老是想要“正确”的人快乐多了。他们多是团队中最聪明的人,也是最糟糕的人,由于没人愿意和他们合做,没法进行良好的沟通。对于一个想要成功的团队来讲,沟通和团结是必需的,而无所不知的人会破坏这些。因此,若是你是这样的人,试着别那么自负,开放一点,尊重一点,你会走得更远。
10、不接受建设性批评
但不少状况下不是这样的,这只是某我的想教给你一个更好地方法,或是分享本身的意见。做为内容生产者,我花了好久才学会分辨挑事者和好心人。一开始,有人谈论我如何作某事的时候,我都颇有戒心。但我意识到,他们中的许多人只是在试图提供合理的帮助。若是他们并不是不尊重,或者只是对一些可有可无的事情挑三拣四,那我就须要把它当作对我和对个人知识有益的东西。
建设性的批评是学习的绝佳资源,由于建设性的批评颇有针对性,是你现有的问题,是他人给你的具体解决方案,这是无价的。事实上,代码审查简直太棒了,你能够获得其余人的建议,改进你的代码甚至是你本身。
因此不要把这类事情都当作人身攻击,除非你真的受到了攻击,或是故意的取笑和不尊重。听进别人的批评或改进建议老是很难,但最终,这会让你成为一个更棒的开发者。
不管是新开发人员,仍是经验丰富的老手,我都但愿这些建议可以帮助到大家。
获取更多内容,请扫描下面关注个人我的微信公众号,天天会分享新的技术、知识,工做中的常见问题,更多资料视频等,关注回复“666”便可获取学习资料。