审校 | 孙淑娟
技术在不断发展,而那些专业技术没有成长的程序员会被远远的抛在后面。
首先,他们必须具备程序员所需的硬技能,例如所涉及的语言。但是牢牢掌握数据结构和算法以及Web开发技能只是最低限度的要求。
要从竞争中脱颖而出需要更多技能,包括内化对成功至关重要的元技能(meta skills)。在瞬息万变的领域保持敏捷,精通需求技术,知道如何避免倦怠,这意味着能够更聪明地工作和学习。
你需要知道如何管理你的时间,以进入流动状态,并有意志力来抵抗分心。最重要的是,这意味着要接受这些习惯,直到它们成为你的一部分。
在这篇文章中,我们列出了希望加入精英行列的开发人员应该养成的十个习惯。
1. 对人友好的代码
开发人员最好将他们编写的代码视为对未来自我的注释。习惯就像设计 ML管道架构所涉及的实践一样,有助于以不妨碍未来工作的方式完成今天的工作。最重要的是记住编写友好的人类可读代码,以下是一些最佳实践。
一致性
在命名私有变量时,你需要保持风格一致,并且你的命名约定必须保持前后一致,每次都使用相同的风格。此外在协作时,请先与同事讨论风格。
虽然你有时可以使用自己的命名约定,但最好依靠标准命名约定。所谓的代码 检查器可以强制代码符合标准约定并发现不一致之处,这给我们提供了极大地帮助。
正确命名变量
命名变量和方法,以便清楚地了解代码的作用,优化名称以帮助理解而不是提高技术效率。例如不要使用缩写,这必然会令人困惑,而是要为对象提供表示其功能的短名词。你还可以使用注释来阐明代码或解决方案,这些代码或解决方案并不是完全不言自明的。
缩进
掌握缩进和换行符将使代码友好、可读且更易于导航。它还展示了代码结构,并允许你以一种说明其功能的方式编辑代码。
2. 组织
除了遵循干净的代码原则外,开发人员还应该在代码组织中学习和实现最佳实践。
最流行的基本规则之一是“don’t repeat yourself”(DRY),它建议开发人员不要在不同的地方使用相同的代码来减少重复。它还可以帮助开发人员避免以相同的方式使逻辑上不相关的代码段起作用,从而提高可读性并减少歧义。
成功使用此方法后,可以帮助开发人员修改系统中的元素,并使逻辑上相关的元素保持同步。它减少了冗余,并消除了除最关键的编辑任务之外的所有任务。
DRY代码的反面是WET代码(每次都写)。通常避免使用 WET 代码。
3. 规划代码
在开始编码之前,弄清楚你想要完成的确切目标是什么。
让我们来看看RDD编程指南。大纲讨论了 Spark API 提供的两个抽象,因此你可以使用它们作为详细参考。规划也是如此,提供明确的目标来指导你的工作,而盲目可能会影响代码质量,并经常导致浪费时间在重试和倦怠上。
如何提前确定你的程序并编写解决方案?从项目的简单摘要开始,概述一般步骤和功能:它的用途和目的。
软件开发团队可以使用使他们能够进行细微调整并使流程顺畅的解决方案。尤其是那些不需要问“什么是持续集成?”的人。
考虑项目的架构是个好主意,明确元素将如何交互以及功能是主要还是次要。
软件开发人员通常会分小部分构建项目,直到适合为止。 顺便说一句,这意味着当数据科学家创建机器学习模型时,他们会一步一步地进行,一次一个模型,即使使用 AutoML 工具也是如此。
4. 升级代码编辑器
选择正确的代码编辑器不仅可以提高编码速度,它还将帮助你扩展自己的见解。该软件旨在帮助你从头开始编写代码,并具有管理和编辑代码的附加功能。
查看每个选项的优缺点,并考虑它们支持的语言和平台以及它们的功能,例如语法突出显示和自动缩进。
代码编辑器不同于 IDE(集成开发环境),它是专门为帮助开发人员编码而设计的。
5. 软件重构
代码重构是根据 DRY 等编程原则编辑、优化和清理代码的过程。目的是使你的代码更高效,更易于维护,而无需更改其功能。代码重构不仅可以防止代码腐烂,而且养成这种编程习惯可以降低成本,因为现在清理代码比将来处理错误更容易。
例如,考虑软件重构和清理现有代码的最佳时机是在pos系统中添加新功能或你选择的任何Skuvault替代方案之前。这样开发人员就可以在原始代码的基础上进行构建。
6. 使用调试工具
代码重构还可以改进调试过程。软件开发人员职业生涯的一个常数是花费大量时间调试代码。你可以花时间浏览你的源代码并测试你的假设,但有时你仍然会费时费力。幸运的是,今天的一些浏览器带有功能强大的调试器,可帮助你进行错误检测,性能检查和其他调试工作。调试工具对开发人员来说与A/B一样重要,并且多变量测试对设计人员来说也很重要。
7. 版本控制系统
版本控制软件是解决编程错误和避免繁琐地查找错误所必需的。使用版本控制系统,你可以跟踪对代码库所做的更改,持续访问你的项目并能够找出谁修改了什么以及何时修改了代码,从而大大提高了工作效率。
假设你正在开发一种电子商务解决方案,该解决方案可以了解衡量客户满意度的指标类型。版本控制系统允许你监视修订,跟踪导致错误的已更改代码,并在必要时恢复。
请记住定期提交你的代码,这样就可以避免在临时导致错误时回滚。
8. 完成你开始的工作
精英程序员的一项决定性元技能是在养成良好习惯方面表现出色。
在最好的情况下,编码和调试可能是一项艰苦的工作。 有时,成长中的开发人员试图通过分散注意力来解压需求来应对需求。通常这会导致一些人在完成项目之前对他们的工作进行原型化——这是一种有害的习惯。
学习如何提高你的注意力,并解决在项目遇到困难时打算逃避的冲动是值得的。
9. 终身学习
如果你作为一名Web开发人员没有不断学习新的东西,那么在你找到一份高薪工作之前,你学到的编程语言将成为一顶旧帽子。
监控招聘广告以掌握趋势并找出雇主垂涎的新兴语言。看看人们在技术上想要什么新东西,也许是新的语言,以便在库存管理系统上建立更好的用户界面,tradegecko 的竞争对手已经采用了这一点。
那些茁壮成长的人不只是在业余时间学习。他们接受了真实编程项目的挑战,例如,尝试Apache Kudu教程的文档。
10. 驾驭习惯的力量
前缀meta-来自希腊语,含义是超越,而meta-skills就是既能自我参照又能综合的技能。这些包括随着时间的推移,你可以通过采用新习惯、更好的固定程序和获得更大的自我意识来培养你的思维方式。
随着时间的推移,坚持的固定程序会成为帮助你实现目标的坚实习惯。相反,你可能在不知不觉中养成的破坏性习惯会破坏你的进步。
如果你是第一次这样做,那么尝试破解自己的生产力可能是具有挑战性的。通过建立一个固定程序,即使你不喜欢它也要坚持下去,你可以养成这些习惯。注意时间和地点等因素,注意那些让你无法工作的干扰因素,并学习如何通过联系有意识的雇主来减轻认知负担。很快你的大脑就会开始将一致性与工作联系起来,并提示你需要的那种深度专注。
职业规划
成为 Web 开发人员的好消息是,与一些流行的看法相反,你不必成为天才也能成功。如果你一开始觉得很难,也许这表明你没有养成上面讨论的十个习惯。跟随他们发展,调动你的注意力,成为专家。因为如果你可以设计一个数据摄取网络,你为什么不设计自己的职业呢?
译者介绍
朱钢,51CTO社区编辑,2021年IT影响力专家博主,阿里云专家博主,2019年CSDN博客之星20强,2020年腾讯云+社区优秀作者,11年一线开发经验,曾参与猎头服务网站架构设计,企业智能客服以及大型电子政务系统开发,主导某大型央企内部防泄密和电子文档安全监控系统的建设,目前在北京图伽健康从事医疗软件研发工作。
原文10 Programming Habits a Web Developer Should Embrace,作者:Pohan Lin