当前位置: 首页 > 科技观察

高效程序员的7个共同特征

时间:2023-03-22 13:56:02 科技观察

简介:成为一名优秀的程序员需要的不仅仅是能够编写有效的代码。JustinJames给出了几个典型的品质,这些品质是能够成为业界最优秀的程序员应该具备的。要成为一名高效的程序员,你需要具备一定的综合素质,让你能够运用你所拥有的技能、经验和知识来编写高效的代码。有些开发人员技术娴熟,但永远无法成为有效的程序员,仅仅是因为他们缺乏所需的其他几个特征。本文将给出成为优秀程序员必须具备的7个品质。1、积极学习新技术和非技术知识的程序员,直到实在不行才开始学习知识。好的程序员会积极学习新的技术知识。伟大的程序员不仅自己学习新的技术知识,还要学习非技术知识,对各种知识来源持开放态度,不会像某些人那样固步自封。具体来说,糟糕的程序员只有在加入使用WPF的项目时才开始学习XAML;优秀的程序员一年前学习XAML,因为他们觉得它很有趣;伟大的程序员也会阅读WPF应用程序的设计指南、可用性理论或类似的东西,这样他就可以制作出引人注目的UI。2.务实而不教条严格遵守那些不成文的“编程规则”往往是一种奢侈,不是很多开发人员能够负担得起的。如果您的规范不是由最好的开发人员编写或在他们的指导下编写的,我可以向您保证,您可能也负担不起。我经常会遇到一些程序员不能或拒绝做某项任务,只是因为完成这项任务的方式通常不被最佳实践所接受。业务需求很少受到用于实现它们的技术的限制;没有人说,“好吧,我们不应该把这个要求放在规范中,因为要实现它,程序员将不得不写一段臭话。”代码。”归根结底,程序员的工作是开发一个可以运行的应用程序,而不是技术上的完美。我不是在为垃圾代码辩护。我想说的是,总会有有时您编写的代码永远不会作为向其他人展示正确做事方法的示例。如果只有一种编写方法,那不是糟糕的代码——但要确保您已经用尽了所有其他可能的解决方案。3.知道如何通过研究找到答案。通过研究找到答案并不像在搜索引擎中键入几个关键字那么简单,也不是在StackOverflow或MSDN论坛等网站上发布问题那么简单。我遇到过无法在搜索引擎中找到答案的问题,而且我在StackOverflow或MSDN论坛上发布的问题帖子都没有合适的答案,但我解决了遇到的问题并将其解决继续工作。我不是魔术师——我只知道如何找到答案,如何找到问题的根本原因。很多问题都是情境问题,如果依赖搜索引擎或者论坛,就会在各个环节浪费大量时间,最终得不到真正的答案。学习如何进行根本原因分析,学习底层系统的知识以寻找其他线索和解决方案,学习如何在对问题有了全面的了解后深入分析问题。4.有激情如果你不喜欢这份工作,你就不可能成为这个行业的佼佼者。有一些优秀的程序员,只是把编程当成一份普通的工作,但是如果你的三观都是这样的话,你就不会愿意做所有能让你成功的事情。这种观点冒犯了很多人,因为他们认为这是对人的侮辱。“我是一个很好的程序员,但我还有其他重要的事情要做,我不能一辈子都在工作。”我完全明白;我还有其他更重要的事情。尽管我不想这么说,但当我们对我的工作热情高涨时,我愿意(尽管并不急于)放弃其他更重要的事情,先完成手头的工作。说不全身心投入就成不了高手,这不是对人的侮辱,而是事实。你的热情不能只对编程——你必须对你的工作、你使用的技术、你的老板、你的项目等充满热情。我见过一些非常优秀甚至是伟大的程序员因为某些事情而失败'没错。例如,他们不喜欢手头的项目,或者项目中使用的技术不喜欢他们。我曾经就是这样的程序员,我也和这样的程序员共事过。不管从哪个角度来说,我都不喜欢这样的程序员。如果你发现自己就是这种情况,你需要立即解决这个问题,或者在手头的工作或项目中找到一些有趣的东西来减轻你的心情,或者让开。这不值得。5.把自我拒之门外许多开发人员都非常自负。仅仅因为你比某些人更聪明、了解更多或经验更多,并不意味着你比那些人更好。你必须尊重他人,真诚地倾听和考虑他们的观点,在你需要的时候向他们寻求帮助,不要贬低他们。你还应该更关心团队的输赢,而不仅仅是你在工作中的声誉。6.具有创业精神。最好的开发人员不是闲人。对于他们来说,产品的成功不仅仅意味着他们的薪水。因为他们对工作充满热情,都在为项目更好的发展而努力,他们会一往无前。7.测量两次,切割一次。..但测量不超过三次开发人员可能犯的最严重的错误之一是在不知道该做什么的情况下跳入代码。(当他们称这种实践为敏捷开发时,情况更糟,好像使用敏捷这个词会让事情变得更好一样)。当优秀的开发人员开始编写代码时,那是因为需求规范与他们之前实现的东西非常相似。当伟大的程序员面对新问题时,他们会思考、计划和研究。最好的开发人员不会陷入“分析瘫痪”的陷阱。他们知道在某些事情上要小心(例如涉及金钱或个人数据时),只有那些特殊领域才适合我所说的“三度衡量”。超过三倍就意味着你在浪费时间(除了极少数例外,如核反应堆、宇宙飞船、对冲基金会计系统)。在某个点停止计划,开始编码,然后查看您的计划需要相应调整的地方,这一点非常重要。顺便说一句,这也是我喜欢敏捷方法的原因之一。我认识的最好的开发人员都愿意在计划不再适合或发现有缺陷时放弃该计划。