意识到并改过,坏习惯就不是坏习惯。
编者按:每位开发人员在本人的职业生涯、学习经验中,都会“开发”出一些坏习惯。在这篇文章中,作者向读者展现他本人有或是老也改不了的坏习惯。
他心愿如果你刚开始这份事业,可能防止这些坏习惯;如果你曾经有了这些故障,那心愿你可能意识到它们,并能够开始扭转。
1. 劳动不够
我敢肯定你们很多人或者说简直所有人都对这个坏习惯感到非常邪恶。我也是,对没有劳动或劳动不够仍然有罪恶感。曾有一段时间,我凌晨六点入睡,中午一点左右起来吃午饭,始终工作到第二天凌晨六七点。这几乎太常见了,简直每天都是如此。在工作工作紧急的时候,我做过许多可笑的事件。我想咱们每个人面对 DDL 的时候都有过这样的状况,我要说的不是这种,而是你的日常习惯。
我倡议你每天尽量多劳动。我不能说那种具体而微的打算,因为每个人都不一样,但在个别意义上,你应该每小时都应该起身舒展四肢,流动一下,喝杯咖啡,吃点货色。很多时候,如果你思路停滞,那你须要劳动一下,大脑失去劳动有助于更容易地解决问题。所以找到适宜你的劳动形式。即便你认为本人不须要劳动,但也试一下,你会发现自己的效率进步了不少。
2. 回绝寻求帮忙
这一条在学习和工作场景中都很常见。咱们很多人都不寻求帮忙。起因很多,但我认为最次要的起因无非是自尊以及胆怯让人认为本人啥也不会。咱们很多人都有冒名顶替综合征,感觉本人不齐全胜任本人的工作。我在公司里、在和客户打交道时、甚至在上课和辅导中都有这种感觉。咱们认为寻求帮忙会强化这种感觉。但事实上,它节约了大量工夫,妨碍了你的成长。
- 其余真正的开发人员们都是视频或书籍个别的资源,甚至要比这些好太多。他们能够间接答复你的问题,帮忙你真正的了解它。
- 只有混蛋才会因为你问问题而批评你,这时候我会尽力避开这些人。
- 如果你想要本人找到答案,不想寻求帮忙,那也没问题,给本人一个工夫限度。当你的前辈就在你旁边,他可能晓得或至多能够帮到你的时候,千万不要节约几天工夫来寻找答案。
3. 进行学习
我不论你是否是从业 20 余年的高级开发人员,你应该始终把本人当成一个学生。这比大多数职业的要求更高,因为这一行总在变动。没有一个开发人员能够晓得所有事件的全部内容,他们这一分钟这样做,下一分钟就有变动产生,他们就必须学习更多。如果你骄傲自满,进行浏览、学习,你必然会落后。即使你有一份不须要学习任何新货色的工作,一旦你失去了那份工作(这并非不可能产生),你会远远落后。所以即便有这样的工作,我也倡议你边工作边学习。
不论你喜爱那种语言、框架、库,你都要及时更新你的常识。如果你的职位须要的只是旧常识,这也是可了解的,因为很多领导偏向于认为如果公司还没败落,那就没必要修复。所以你依然会发现有些团队用着过期的、不受反对的技术,只因为该技术还能运行。如果你边工作边学习这方面的新货色,那你就能够向团队展现更快、更高效、更简略的新技术是可能的。你或者可能压服他们更新技术、改善公司。
4. 凌乱的代码
这一条更多地是一种技术习惯,但也可能意味着很多事件。你该当以一种直观、高效、平安的形式写代码。这在自学的时候几乎太难了,因为在相干的课程中,你学到的不是写某些代码的最佳办法,而是导师认为这么写最容易了解一些外围概念。所以,你必须进行一些额定的钻研,找出清理你代码的最佳办法。
- 我相对倡议你应用“防止反复代码准则”(DRY principle,don’t repeat yourself)。如果你遇到常见的代码块,那就创立某种“类”(class)或“函数”(function)来合并这部分性能,而不是仅仅反复它。这让代码更加简洁,节俭了大量代码行,并且便于别人应用。
- 你也要留神性能,比方压缩图片、放大 JavaScript 和 CSS。你能够应用 task runner(如 gulp)或其余工具主动实现压缩,面对小型工作,你甚至能够应用 minifier.org 等手动实现。
- 另外,不要进行不必要的 API 接口调用,要使你的全栈应用程序以尽可能少的申请实现你须要的全副性能。以及测试……我在这下面犯了很多错,没有做足够的测试。就我所知,单元测试有助于搭建更健全的应用程序,防止潜在问题,节约工夫和开销。但我就是很厌恶它,这可能是我最坏的习惯之一,也是我成为更好的开发人员须要解决的大问题。有时候咱们回了节约工夫缩小测试,但在事实中,这样做会升高应用程序的性能、效率和可读性,而且与一开始就采纳正确的办法相比,它可能在未来引起更大的麻烦。所以请记住这一点。
5. 工作和生存的不均衡
工作和生存的均衡真的很重要,尤其是当咱们成家当前。不论什么类型的程序员都要花大量的工夫在工作上,这有很多起因:事件总在发生变化;咱们遇到的问题让咱们举步维艰;咱们须要钻研这些问题等等……这就导致了很多时候,咱们不得不工作到很晚、很早就开始工作、周末也加班。这会让你远离生存中的所有,比方你爱的人们、你的个人爱好。你可能喜爱静止、远足或是在外吃大餐,但如果你始终要加班,你就没法做这些让你高兴的事件。
我在这个畛域有很多教训。我和妻子有两个孩子,其中一个患有自闭症,但我没法像我想的那样花大量的工夫陪他们。我面临着双重窘境,因为我既要解决编码问题,又要解决内容创作者的问题,要一直地提出新想法,有品质地记录下来等等。
如果你是自由职业者,为本人工作,所有的生计都取决于实现工作,你只有把所有的事件做完能力拿到报酬。有报酬,也就必然得接受继续一直的担心:本人是否能跟上进度、本人是否实现工作。压力真的很大,让咱们不得不把其余事件从咱们生存中挤走。并不是说在公司工作的人就不会经验这些,而是说当你须要思考所有的事件的时候,压力等级齐全不同。所以我很同情那些有本人生意的人。
但即便如此,你也不能让它管制你的生存,你必须为你的家人和敌人留出工夫,或者更坦率地说,为你本人留出工夫。生存可远比写几行代码丰盛多了。做你本人喜爱的事件,给你的生存带来均衡。
6. 蹩脚的办公室政治
这一条是给那些在公司工作的人们的。你和其他人一起工作,但这反过来又会引起抵触、一致、争执等等。许多开发人员非常高傲,总认为本人是正确的,即便他们晓得本人犯了错,他们中的一些人也永远不会抵赖。我不是说这是大多数开发人员,但我认为咱们至多会遇到一位这样的人。我听很多人说,他们的团队十分棒,成员之间相处得十分融洽,这很好,但不是所有团队都是这样子。
- 很多时候你们会在想法和解决方案上发生冲突,试着体现得幼稚和对对方的尊重,但同时,也不要太容易就被压服,尤其是当你对本人的提案十分有信念的时候。
- 不要大喊大叫,不要骂人,千万别做这些事件,这什么用也没有。
- 如果他们开始这样看待你,你就来到,做一个更弱小的人。
- 如果你可怜遇到了一个十足混蛋的团队成员,他齐全不听理由,你除了想方法避开他之外,别无他法。
- 在某些状况下,你可能不得不和你们的领导交谈,不过我还是倡议你先和那个人谈谈。
7. 不能从谬误中吸取教训
作为一位开发人员,你会犯很多谬误,这不可避免也没什么大不了的。但如果你总是犯同样的谬误,不能从中吸取教训,那就有问题了。
当你犯错后,我倡议你听从这样一个流程:
- 找出谬误的根本原因是什么;
- 找到能够避免谬误再次出现的流程;
- 弄清楚如果新近发现了谬误,是否防止结果。
当你犯下大错,请你认真思考一下这三件事,很有可能就不会再犯这个谬误了,或者你至多下次会尽早发现错误,防止状况好转。同时,不要因为犯错而对本人太刻薄,谁都会犯错。
8. 太早放弃
挫折是编程的重要环节。我制作了一些对于挫折及其应答的视频。我也见过很多人因为丧气而在特定的我的项目和编程上过早言弃。一些我的项目的确特地难,仿佛一旦你修复了一些 bug,它就会导致另一个 bug,bug 复 bug 无穷尽也。你可能开始感觉本人解决不了,本人本能够去做别的,做这个就是浪费时间节约生命节约金钱……你开始产生很多消极的想法。如果你很快就放弃某个我的项目,或是很快辞职,那么拟投入到这个我的项目或工作中的所有都将化为泡影。
我并不是说你啥我的项目都不能放弃,只是我看过太屡次人们在行将胜利的前夜放弃了。所以在放弃之前,确保你试尽了所有可能:曾经高低求索、寻求帮忙、用遍办法、换个技术、劳动很长一段时间让本人的思路恢复正常、如果可能的话曾经搁置了一段时间……你在放弃之前做了所有能做的事件,如果还是失败,那么兴许是时候放弃它、继续前进了。胜利可能就在眼前,如果你这时候放弃,真的太羞耻了。
9. 做一个无所不知的人
我之前提到过,我认为一些开发人员非常高傲的起因是,他们认为本人无所不知。他们从不听其他人的意见,他们为啥要听呢?他们晓得所有的答案。如果你四周全是这样的人,那真是糟透了,这对你也没益处,因为你也会认为本人无所不知,就会不踊跃学习、不改善本人。我敢打赌,总有一天你会被本人犯下的谬误叫醒,这源于你不听取任何人的意见,也不本人进行调研。
这些人大多数都是 Stack Overflow 网站(一个 IT 技术问答网站)的魔鬼,他们取笑新开发人员的问题,讥笑别人的答复,一有机会就点击“拥护”。我厌恶死这些人了。我认为他们中的许多人在学校里就总是被人找茬,他们利用本人的常识欺侮其余可能有问题或是没有所得的开发人员,看上去像是忘掉了被欺侮的感触,只想要复仇。我这个实践可能有问题,只是一家之言。
无论他们出于什么起因这么做,我认为如果他们思想开放、欢送不同的想法、尊重别人,那他们就会比总是想要“正确”的人高兴多了。他们可能是团队中最聪慧的人,也是最蹩脚的人,因为没人违心和他们单干,无奈进行良好的沟通。对于一个想要胜利的团队来说,沟通和团结是必须的,而无所不知的人会毁坏这些。所以,如果你是这样的人,试着别那么自负,凋谢一点,尊重一点,你会走得更远。
10. 不承受建设性批评
最初一条和上一条有点分割,不能承受建设性批评。无所不知的魔鬼和真心想要帮忙你的人之间还是有很大区别的。有时你很难看清这个区别,因为他人指出你的谬误或者不欠缺的中央,你可能感觉不是那么好,感觉本人受到别人的攻打。
但很多状况下不是这样的,这只是某个人想教给你一个更好地办法,或是分享本人的意见。作为内容生产者,我花了很久才学会分辨挑事者和好心人。一开始,有人议论我如何做某事的时候,我都很有戒心。但我意识到,他们中的许多人只是在试图提供正当的帮忙。如果他们并非不尊重,或者只是对一些无关紧要的事件挑三拣四,那我就须要把它当做对我和对我的常识无益的货色。
建设性的批评是学习的绝佳资源,因为建设性的批评很有针对性,是你现有的问题,是别人给你的具体解决方案,这是无价的。事实上,代码审查几乎太棒了,你能够失去其他人的倡议,改良你的代码甚至是你本人。
所以不要把这类事件都看成人身攻击,除非你真的受到了攻打,或是成心的取笑和不尊重。听进他人的批评或改良倡议总是很难,但最终,这会让你成为一个更棒的开发者。
无论是新开发人员,还是经验丰富的新手,我都心愿这些倡议可能帮忙到你们。
作者:Brad Traversy\
原文:https://medium.com/@traversym…
译文:https://36kr.com/p/1723113324…
编译组出品。编辑:郝鹏程
近期热文举荐:
1.600+ 道 Java 面试题及答案整顿(2021 最新版)
2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!
3. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!
4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!