提高软件工程师工作效率的工具
作为开发者,优先考虑你的工具至关重要,因为它们对于实现你的目标至关重要。技能固然重要,但合适的工具可以增强这些技能,从而在你的领域取得更大的成功。
在本文中,我将分享我日常使用的提高生产力的工具。这些工具可以帮助我完成各种任务,包括文档、线框图、开发、测试、调试和研究。
我将这些工具分为三类:任务管理、开发和文档。
让我们立即深入了解这些工具。
任务管理工具:保持井然有序
对于软件开发者来说,保持任务井然有序非常重要。无论你是计划一个月、一周还是一天,都一样重要。把所有任务都写下来,这样你就能清楚地了解自己的进度。
为此,我主要使用两个工具:Notion和Linear。
概念
作为一名软件工程师,你经常需要整理工作、快速记笔记,甚至快速撰写文档。Notion 非常适合这些工作。
Notion 让我能够轻松地整理思绪、规划内容和安排工作。日历模板简单易用,你可以随意更改,还可以添加标签等详细信息来追踪你的任务。
我使用 Notion 来规划我的内容。
Notion 也非常适合团队跟踪任务。但是,接下来我要介绍的工具可以更轻松地管理软件开发任务。
我真的不喜欢到处翻找工单,也不喜欢在工单报告上花费大量时间。这款工具让这些工作变得简单,而且我认识的很多开发人员都喜欢每天都使用它。这就是我想介绍 Linear 的原因。
线性
我之前尝试过 Trello 或 Jira 之类的工具,但不太喜欢。Trello 太简单,功能不多;Jira 功能丰富,但使用起来很复杂(GitLab 的 Issue board 似乎更好一些)。
然后我发现了 Linear,它是为我们这样的开发人员打造的。
Linear 可轻松实现工作流程自动化并集成其他工具,且不会使流程变得复杂。它使用起来非常便捷。使用 Linear,您可以获得:
-
根据您的 PR/MR 变化或进展情况自动更新票证。
-
复制分支名称的简单方法。
-
一种让眼睛舒服的暗模式。
-
键盘快捷键可让您快速在应用程序中移动。
-
它使用起来既快捷又有趣。
有了 Linear,我就不需要花太多时间在任务管理上,因此我可以更加专注于编码。
讲完了我是如何管理任务的,接下来我将分享我用于文档的工具。
文档工具:软件工程的支柱
文档是软件工程的基石,以至于人们常说,优秀的开发人员花在编写文档上的时间比写代码的时间还多。文档的用途多种多样,从规划和假设创建,到性能跟踪、用户培训,以及功能或错误的详细信息。
在这里,我将分享我用于文档的工具,包括从文本编写到图形创建。
黑曜石
Notion 是一款非常棒的工具,很多人可能会好奇为什么我不用它来记录,但我发现它更偏向于做笔记。尽管 Notion 的小部件增强了它的功能,但我最近需要一款简单易用的离线工具来整理想法并有效地将它们联系起来。Obsidian 在这方面表现出色,在反向链接和想法组织方面超越了 Notion。
Obsidian 提供了丰富的笔记和知识管理功能。其知识图谱以可视化的方式呈现笔记之间的联系,方便深入挖掘信息。全面支持 Markdown,提供灵活强大的格式化功能。
该应用程序的离线功能确保它无需互联网连接即可使用,其他功能如拼写检查、API 支持以及将笔记发布为网站或使用模板统一笔记结构的能力也很突出。
我主要用 Obsidian 来整理笔记。整理好后,我会把它们转移到 Notion 上分享,因为 Obsidian 缺乏共享和同步功能。尽管如此,Obsidian 仍然是我首选的文档工具,而不是 Notion。
然而,Notion 和 Obsidian 只能帮你写文档。那我们来点视觉效果怎么样?我们来聊聊Excalidraw。
神卡利德
远程办公让我怀念用白板和马克笔进行头脑风暴的那种简单。当文字无法表达时,视觉信息可以弥补理解复杂想法的障碍。
Excalidraw 以数字方式重现了白板体验,对于补充文档的快速图表或插图来说,它非常有用。
这是我创建的图表示例,用于阐明 React 组件生命周期。
这些工具构成了我作为一名软件工程师的文档实践的基础。接下来,我们将探索那些能够提升我编码效率的开发工具。
开发工具
这些年来,我的开发工具发生了很大的变化,随着近年来人工智能的引入和广泛使用,我发现了更多可以帮助我提高软件工程师效率的工具。但在讨论人工智能工具之前,我们先来谈谈编码和测试工具。
我是一名软件工程师,使用 Django、Next.js 以及 Golang 进行开发。我构建了提供数据的 API 以及/或者使用这些数据的接口,因此编码和测试对我来说非常重要。而这正是 Jetbrains 的用武之地。
编码工具
Jetbrains提供非常强大的 IDE,让您的工作更加轻松。我坚信他们是开发者的最佳 IDE。无需配置即可立即开始编码,我认为这是一大优势。
这是我放弃使用 VsCode 的原因之一(好吧,我仍然用它来处理一些快速项目或不太复杂的项目),因为我每次都需要同步才能确保可以开始工作。例如,在使用 Webstorm 启动 Next.js 项目时,我可以选择运行 Eslint、在每次保存时使用 Prettier,还可以自动配置在提交之前执行的 git hooks。
Webstorm IDE 也拥有一个漂亮的 UI ,可以在调试模式下运行项目,而且功能非常强大。我也在 Pycharm 和 Goland 上体验过它。这些 IDE 功能强大,使用起来也非常简单。
不要误会我的意思,VsCode 已经很强大了,但是当涉及到执行基本任务时,没有太多麻烦或配置,例如:搜索、重构、Git 任务(获取、拉取、推送、PR/MR 管理等)。
感谢 Jetbrains 团队制作出如此强大的工具。
测试:失眠,邮递员
起初,我使用Postman测试 API,因为它功能丰富。但我后来换成了Insomnia,因为它更易用,而且能把所有东西整理得井井有条。Insomnia 最大的问题是,当我创建帐户继续使用时,它会删除我所有保存的工作。
这让我在一年后又重新用上了 Postman。Postman 变化不大,但有一些我非常喜欢的新功能和改进。现在,我又回来用 Postman 了,因为它感觉很熟悉,但又有一些新功能。Insomnia 用起来很简单,但每次打开笔记本电脑都要登录,这很烦人。它本来可以很棒,但这些问题让我开始寻找其他产品。
现在,我正在考虑尝试一下我听说过的一个新工具Bruno。Bruno拥有所有你想要的功能,比如对 WebSocket 的支持。Bruno 的优点在于它一次性只需 19 美元,这看起来非常划算。我想看看它的效果如何,以及它是否真的像宣传的那样好。我很期待尝试一下,以后或许还会再聊聊它。
人工智能工具
我经常使用 ChatGPT 和Phind.ai撰写技术文章、进行调试以及集思广益寻找解决方案。虽然有些人可能对他们的回答有所保留,但我认为它们很有帮助,可以补充我自己的研究。
Phind.ai尤其有价值,因为它提供了进一步探索的链接并增强了研究过程。
其他 AI 工具(如Copilot和Codium.ai)可以与流行的编辑器和 IDE(如 VSCode)很好地集成,从而提高您的技能和工作效率。
要想在编程中有效地运用人工智能,首先需要清晰地了解你的目标。不建议初学者在不掌握扎实的底层技术和清晰的沟通技巧的情况下开始使用人工智能进行编程。一旦你掌握了这些技能,人工智能工具就能显著地提升你的工作效率。
结论
这是我很久以来第一次写一篇与编程无关的文章。由于生产力是软件工程的一个重要方面,我希望写更多关于帮助我成为更优秀的软件工程师的工具或策略的文章。
如果您对本文有任何疑问或反馈,请在评论区分享。您的反馈有助于我们改进此资源,使其更贴近大众。以下是我们在本文中使用的资源。
就这些了。祝你编程愉快!🚀
文章来源:https://dev.to/koladev/tools-that-make-me-productive-as-a-software-engineer-2dge