成为更优秀(更懒惰)的程序员
自动化
了解你的工具
吻
房屋建造与软件开发最常被类比。虽然你需要遵循一些限制条件(硬件、业务),但在具体操作上也有一定的自由度。然而,我们开发者比房屋建造者有两个优势:我们唯一的体力劳动就是输入文字。虽然后者是必需的,但在开发良好实用的解决方案的过程中,它只是其中很小的一部分。
但我们刚开始的时候常常犯一个错误,以为这才是最重要的。编写代码和使用的工具比我们用它们实现的解决方案更重要。我认为我们应该把大部分时间用于规划和设计。而我们可以通过减少编写代码的时间来实现这一点。以下是一些可以帮助你做到这一点的技巧。
自动化
启动新项目时,通常只有一个文件和几个命令来运行其中的代码。但随着项目规模的扩大,需要输入的命令越来越多,而且这些命令通常会根据当前意图包含条件参数。手动输入这些命令非常耗时。
我认为,如果我做的事情是重复性的,就应该自动化,即使每天只做一次。从 Shell 脚本到专门的任务运行器,有很多解决方案可以用来减少编译、测试和部署的时间。好消息是,我们使用的大多数在线工具通常都提供了 CLI 版本,这让我们的操作更加便捷。而且很多工具都可以轻松地相互连接,或者通过第三方服务进行连接。
了解你的工具
《程序员修炼之道》这本书用一整章的篇幅介绍了我们开发软件时使用的工具(即使你使用 IDE,这部分内容仍然有意义,因为 IDE 只是这些工具的统一框架)。你必须了解你的工具,了解它们的功能以及局限性。从 Shell 到文本编辑器,你会发现,随着你对所用工具的掌握,你的工作效率也会随之提高。
即使只是学习当前编辑器的快捷键也能大幅提升工作效率。使用按键序列比使用鼠标更快。我每天都会用到一些命令,并给它们起别名。我经常阅读手册,只是为了探索如何以新的方式使用该工具。如果你想减少使用工具的时间并提高工作效率,熟悉工具是必不可少的一步。
吻
作为一名程序员,我们必须克制住过度设计解决方案的冲动。设计模式虽然有用,但它们并非灵丹妙药。记住,你是在为人写代码,而不是为电脑写代码。你写的代码将来会被维护,你的工作是让下一个人能够轻松地维护它。力求清晰简洁。一行代码或许会让你看起来很聪明,但你可能会浪费大量时间去理解它的目的。在商业世界中,简单的解决方案永远比巧妙的方案更有价值。所以,如果某个函数已经满足性能标准,就不要花一整天时间去优化它。
作为一名程序员,我相信你不必费尽心机就能为你的工作带来价值。你的任务是为问题创建切实可行的解决方案,你的工具不应该成为实现这一目标的障碍。你还应该记住,你的代码(解决方案的物理层面)将来会由另一个人(或未来的你自己)负责。所以你应该让他们能够轻松地从你离开的地方继续工作。
文章来源:https://dev.to/skydevht/being-a-better-and-lazier-programmer-bhf