想成为精英级开发者?请逼自己养成这 10 个习惯
![想成为精英级开发者?请逼自己养成这10个习惯](https://static001.geekbang.org/infoq/0a/0acb90fe8d9914a7e625aabd3a9631d4.jpeg)
导读:技术正在不断发展。在专业上没有成长的程序员注定会被抛在后面。阅读本文了解对开发人员应该具备的有益习惯
世界潮流浩浩荡荡,而 IT 技术正以前所未有的速度不断向前发展,在专业上没有成长的程序员注定会被拍在沙滩上。
当然,你必须具备程序员所需的技术硬技能,例如项目所涉及的编程语言。请各位同学记住,牢牢掌握数据结构和算法以及 Web 开发只是最最基本的要求。
如果你想从竞争中脱颖而出,需要更多的努力,包括内化对成事至关重要的技能。如何在瞬息万变的领域保持敏捷,精通需求技术,知道如何避免倦怠,这些都需要有着更聪明地工作与学习能力。
比如需要知道如何管理自己的时间,进入心流状态,并有抵抗分心的意志力。最重要的是,这意味着要接受一些习惯,直到它们成为你本身的一部分。
![](https://static001.geekbang.org/infoq/f1/f10f17e80bf91aa304bab74ade7ce2f4.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
在本文中,列出想成为技术精英的开发者应养成的十大习惯。
1.代码人性化
如果开发就像制造家具,那么开发人员最好将自己的代码视为对未来自己的说明书。例如设计机器学习架构所涉及的实践,有助未来解决问题的工作总结中。
最重要的是要记住代码是写给人看的,而不是人工智能或者机器。
下面是一些最佳实践总结。
一致性
在命名私有变量时,需要保持一致,按照命名约定贯穿代码始终。也就是说,每次都使用相同的格式。此外在合作时,请先与同事讨论,最好达成书面的一致。
这样一来,虽然有时你也可以有自己的偏好,最好依靠标准命名约定。代码检查工具在强制代码符合标准约约和不一致方面也能给你提供帮助。
![](https://static001.geekbang.org/infoq/66/66cb20adf3e2f4c58f4817ab72c9d2c2.png)
正确命名变量
正确命名变量和方法,能够充分知道代码的功能。优化名称以帮助理解而不是技术效率。不要使用会产生混淆的缩写,而是给对象提供表示其功能的简短名词。你还可以使用注释来阐明不完全理解的代码或其它决定。
代码缩进
掌握缩进和换行将使你的代码更友好、易读且更易于浏览。清晰了代码结构,后期也更容易再次编辑代码。
2. 组织
除了遵循写干净代码的原则外,开发都还应该学习和实施代码组织的最佳实践。
有一个最流行的基本规则之一是“不要重复自己”(DRY),它建议开发人员不要在不同的地方使用相同的代码以减少重复。它还可以帮助开发人员避免逻辑上不相关的代码片段以相同的方式发挥作用,从而提高可读性减少歧义。
此方法可帮助开发人员修改系统中的元素,使逻辑相关的元素保持同步,从而减少了冗余并有利于消除非最关键或根本用不到的功能。
DRY 的相对是 WET 代码,即每次都可能重复的代码。
3. 规划代码
在灵感来袭的编码之前,明确自己想要完成的工作。
为自己建立明确的目标来指导工作,盲目的上手不仅会影响代码质量,并经常导致重试和倦怠,浪费时间和精力。
如何提前弄清楚自己的程序并编写解决方案?
从自己的项目简单摘要开始,概述、步骤和功能以及它的目标。
![](https://static001.geekbang.org/infoq/59/599ed21001da62b7eaad81b27928b0ab.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
开发团队需要使用能细微调整并且流程顺畅的解决方案,尤其是那些不需要问“什么是持续集成” 的人员。
多考虑项目的架构是个好习惯,明确软件界面元素将如何交互以及功能是主要还是次要等。
软件开发人员通常会分小部分构建项目,直到适合为止。这就像数据分析题创建机器学习模型时,他们会分步进行,一次一个模型,即便使用 AutoML 工具亦是如此。
4. 升级代码编辑器
选择正确的代码编辑器不仅会提高编码速度,还将帮助你开发自己的理解力。它帮助你从头开始编写代码,并有管理和编辑代码以及调试等功能。
深入了解每种编辑器的优缺点,并考虑它们支持的语言、平台以及它们的功能,例如语法突出显示和自动缩进等。
代码编辑器不同于 IDE(集成开发环境),它是专门为帮助开发人员进行编码而设计的。
5. 软件重构
代码重构是根据 DRY 等编程原则编辑、优化和整理代码的过程。目的是在不改变其功能的情况下使代码更高效、更易于维护。代码重构不仅可以防止代码腐化,养成这种编程习惯可以降低你的修改等隐性成本,立即整理代码比以后再处理 Bug 更容易。
考虑软件重构和整洁现有代码的最佳时间是在为你的 pos 机系统或你选择的任何 Skuvault 替代方案中添加新功能之前。
6.使用调试工具
![](https://static001.geekbang.org/infoq/1b/1badf6d7fd7332c05f6b03e4eae0a329.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
代码重构可以改进程序员的调试过程。软件开发人员职业生涯的一个常数是花费大量时间调试代码。你可以花时间浏览自己的源代码并测试用例,但有时仍然会浪费大量的时间。
今天的 Chrome 带有强大的调试器,可以帮助进行错误检测、性能检查和调试工作。
调试工具对开发人员而言与 A/B 测试一样重要。
7.版本控制系统
版本控制软件是解决编程 Bug 的必备软件。
使用版本控制系统,开发者可以跟踪对代码库所做的更改。持续访问自己的项目以及找出修改代码的人员、内容和时间等,从而带来巨大的生产力提升。
假设你正在开发一个电商软件解决方案,该解决方案几乎可以理解哪些类型的指标可以衡量客户满意度。版本控制系统可以监控修订,跟踪您更改的导致错误的代码,并在必要时恢复。
请记住定期提交你的更改,避免出现错误时回滚。
8.完成你开始的事情
精英程序员的一项决定性技能是在养成良好习惯方面表现出色。
在一般情况下,编码和调试是一项艰苦的工作。有时,成长中的开发人员试图通过分散注意力来解压,以这种态度应对需求。比如会导致一些人在完成项目之前对自己工作进行原型制作——这是一种有害的习惯!
学习如何提高注意力,解决在项目遇到困难时逃避的冲动是值得的。
![](https://static001.geekbang.org/infoq/65/654a999ebaa3a976adab8ea830c0e4f2.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
9. 终身学习
如果作为开发人员没有不断地学习新东西,那么在你找到下一份高薪工作之前,你所学的编程语言将变成一顶老帽子。
多看招聘信息掌握趋势,并找出雇主青睐的新兴语言。看看人们在技术方面想要什么新东西,也许是新语言,比如能在库存管理系统上构建更好的用户界面等等。
那些茁壮成长的同学不只是在业余时间学习,他们更愿意接受实际编程项目的挑战。
10. 利用习惯的力量
meta-comes 希腊语为 beyond 超越,而 meta-skills 是既能自我参照又能综合的能力。
这些习惯随着时间的推移,更好的执行和更大的自我意识来培养和强大你的思维方式。
随着时间的推移,坚持的习惯会帮助你实现目标的坚定习惯。相反,你可能在不知不觉中养成的破坏性习惯会破坏自己的进步。
如果是第一次这样做,尝试提高自己的生产力非常具有挑战性。通过建立一个例行程序并坚持下去,即使你不喜欢它,你也可以形成这些习惯。
例如,注意力时间和地点等因素,警惕让自己无法投入工作的干扰,学习如何通过联系有意识的朋友来减轻认知负担,很快你的大脑就会将一致性与工作联系起来,并提示你需要那种极其深度的专注。
![](https://static001.geekbang.org/infoq/23/23f7f12c3121a4fff6376ef2cd1b8d88.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
你是自己的算法
想成为开发人员的好消息是,与一些常规看法相反,你不必是天才也可以成功。
如果一开始觉得很难,这表明你没有养成上面讨论的十大习惯。跟随它们不断发展,调动你的注意力,你才成为一位技术大咖。
如果你可以设计一个数据爬虫平台,为何不设计一下自己的职业与未来?
麦聪软件,全球领先 DaaS(数据即服务)平台供应商,为企业构建下一代数据中台,500 强中有 30 多家选择麦聪 DaaS 平台。
评论