发布于 2026-01-05 2 阅读
0

我希望一开始就知道的工具

我希望一开始就知道的工具

在软件开发生涯中,你经常会遇到需要从零开始学习新技术的情况,原因可能是你精通的技术已经过时,或者你加入了一个很棒的新项目,又或者仅仅是因为公司里没有人能修复某个老旧项目的bug。
无论原因是什么,除了语言本身的技能、语法等等之外,我发现最具挑战性和最耗时的,始终是了解特定技术栈的生态系统。当然,你可以快速地在记事本上写下几行代码,然后编译、打包并运行它们,而不会遇到太多问题。但是,如果要提高开发速度和调试效率,那么就必须了解并使用大量的工具,这才能真正提高我们的工作效率和专业水平。

我一直痴迷于寻找避免繁琐重复性工作的方法,即使最终意识到无法自动化,我也会努力简化工作流程,提高效率
我喜欢结对编程,或者只是简单地和同事讨论一些实现细节,其中一个原因就是我总能注意到一些新东西,然后惊呼:“嘿嘿嘿……你刚才用的快捷键是什么?那个工具是什么?!”这就是我当天的灵感迸发。

突然意识到

这就是为什么我一直无法理解那些同事,他们日复一日、月复一月、年复一年地坚持自己熟悉的舒适做事方式,无论这种方式多么缓慢繁琐(比如在 Tortoise 中提交文件需要点击鼠标 10 次,或者到处乱放 console.log 而不是配置 Visual Studio 运行合适的调试器);每当我建议使用快捷方式或工具时,他们的回答总是:“哦,但这太复杂了,设置起来太费时间,我没时间。我只需要快速解决这个问题。”于是,他们一遍又一遍地手动完成那些耗时、枯燥且极易出错的事情。

我们没钱改进,我们太忙了。

一开始,可能只是像“Ctrl + Shift + ↑/↓”这样的简单快捷键来移动
一行代码,然后逐渐积累,你会发现自己需要代理生产环境中 Web 应用程序的流量,并使用断点来调试 Lambda 函数。

作为我在 DEV.TO 上的第一篇文章,我想分享一些我在开始编程时非常希望看到的工具,以及自从大约两年半前我转向全栈 Javascript 无服务器领域以来,我几乎每天都在使用的一些库和插件,还有一些其他在效率方面真正发挥作用的工具。


Node 和 Javascript

开发提示开发文档。
当然,每个库、语言和框架都有其自身的文档页面(无论好坏),但集中在一个地方查找总是更好更快捷。Husky
Git钩子是每次 Git 仓库中发生特定事件时自动运行的脚本。Git 钩子的主要缺点是无法进行版本控制(它们位于本地 Git 文件夹中),它们大多是 shell 或 Perl 代码,而且不容易与团队共享或强制执行。使用 Husky,您可以编写一些 JavaScript 代码,这些代码会随项目一起提交,并作为 Git 钩子执行。Husky 会负责将您的脚本绑定到您想要的任何 Git 操作。XO
众多 JavaScript 代码检查工具之一。选择它的主要原因是输出美观,配置非常简单。代码检查器 (Linter) 分析您的代码,查找潜在的程序和风格错误。它能够检测(并修复)从缩进到分号、未使用的导入或拼写错误等各种问题,从而帮助防止编译错误和 bug,并通过强制执行严格且易读的代码,确保代码风格的统一。AVA
众多测试框架之一,但它简洁快速。选择它的主要原因是它在单独的 Node 进程中运行每个测试,因此测试可以并发运行,并且能够在隔离的环境中并发运行测试。标准变更日志 (Standard Changelog)按照标准提交规范为所有提交添加前缀,这样每次发布 NPM 包时,系统都会自动生成变更日志。env -cmd处理环境变量和不同阶段(开发、测试、生产等)的构建可能很困难,而且很快就会变得混乱。有了这个方便的模块,您可以使用 env 文件中的环境变量在 package.json 中执行脚本。如果您正在构建 React 应用,那么您不能不使用这些工具来检查组件和……状态发生变化。
AVA 测试框架


后端

如果您正在开发或测试 RESTful API, Postman就是您的不二之选。多年来,它不断添加新功能,例如模拟服务器和测试集,而我可能只用到了它 20% 的功能。Postman 配置 GET、POST 和 UPDATE 请求非常简单——它提供适用于不同环境的模板,并能快速检查响应。无需使用 curl 或手动填写 Web 应用程序的表单。Charles是一款 Web 代理,可以记录并显示所有发送和接收的数据。可以使用它来查看 XML 和 JSON 请求和响应,限制带宽并模拟较慢的互联网连接,设置断点以及拦截和编辑请求和响应。(这是它最强大的功能之一,因为它非常方便测试修复程序或重现服务器和客户端之间通信中的错误。只需拦截导致客户端崩溃的响应,对其进行修改,然后您就会看到客户端完美运行,这样您就能确定服务器的响应方式,并可以安全地进行更改。)Switcheroo Charles 对于大多数简单任务来说可能有点过于复杂,但有时您可能需要将生产环境中应用程序的 API 调用重定向到本地运行的 API 以便进行调试,或者只是想检查网页加载的不同图片或 CSS。在这种情况下,这款 Chrome 扩展程序可以很好地完成任务,而且只需点击几下即可。Serverless Framework说真的,如果您刚开始使用无服务器架构,千万不要考虑使用 UI 控制台来构建应用程序。直接深入基础设施即代码 (IaC)。描述无服务器堆栈的所有组件,进行版本控制,并轻松部署。DBeaver一款免费开源的通用数据库工具。我用它来检查表的模式和内容,并测试 Lambda 函数将执行的 SQL 查询。Robo 3T(原名 Robomongo)由于 DBeaver 仅在企业版中支持 NoSQL,因此每当我需要使用 NoSQL 和 MongoDB 时,我都会使用 Robomongo。它简洁易用,直观明了。
邮差




生产率

Trello:别再用便签纸和待办事项清单来组织任务了。你可能已经在工作中使用工单系统和协作工具来处理迭代开发中的功能和缺陷。我个人在工作和生活中都使用 Trello,以看板的方式提醒自己要做什么。番茄工作法:有很多 Chrome 扩展程序支持番茄工作法。选择一个,安排你的时间,定义你的任务,专注工作一小段时间,然后休息一下。在计时器结束之前,不要查看邮件、手机或 Facebook!Jumpcut:我们都会复制粘贴。Jumpcut 可以让你保存多达 99 个剪贴板的历史记录。Spectacle 无论你使用的是小屏幕笔记本电脑还是三屏工作站,能够轻松快速地移动和调整窗口大小都至关重要。MacPass 使用简单的密码不好。在多个服务和帐户中使用相同的密码更糟糕。在所有地方都使用复杂且不同的密码是不可能的。使用像这样的工具来生成并存储所有帐户的密码。MindMup:每次我进行头脑风暴或想要整理思路时,我都会绘制思维导图。无论是在纸上还是屏幕上,它都是梳理思路、重新组织概念的绝佳方式。Draw.io 另一个绘图工具,但它主要用于绘制 UML 图、流程图、原型图和 AWS 架构图。
我上次假期的 Trello 看板





思维导图

各种各样的

ohmyz.sh的 git 命令自动补全、文件夹和文件导航便捷、以及 package.json 中所有脚本的显示功能,让终端使用起来更轻松有趣。SourceTree如果你实在想要一个可视化的 Git 仓库,
SourceTree是个不错的选择(虽然我只在自律性差、需要检查多个文件差异并重新组织更改以实现原子提交时才会用到它)。Json
Viewer这个插件可以让浏览器中打开的 JSON 文件更易读。jq可以

你轻松地美化、过滤和映射 JSON 文件。

curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.[0]'
Enter fullscreen mode Exit fullscreen mode

例如,将 API 返回的 JSON 传递给管道,并返回列表中的第一个元素。


当然,这并非一份详尽的清单,而且在某种程度上也带有个人观点。我并没有对其他替代方案和类似工具进行研究和比较。(我随时准备——并且乐意——切换到我明天可能找到并尝试的任何工具。)

归根结底,这其实并不重要。重要的是灵活高效,无论我们选择使用什么工具,它都必须能够提高我们的工作效率,加快繁琐的流程,让我们专注于我们喜欢且最擅长的事情——解决问题和实施解决方案

文章来源:https://dev.to/dvddpl/tools-i-wish-i-knew-from-the-start-48kl