效率工具不是越多越好,而是越“懂你”越好

梁志明_云计算
2026-01-06 07:52
阅读 269

凌晨一点半,窗外的上海早已安静下来,只有键盘敲击声和偶尔传来的外卖电动车呼啸而过。作为刚升任技术组长没多久的“老新人”,我发现自己越来越依赖那些能让我少写重复代码、少点几下鼠标的效率工具。毕竟,白天被产品经理追着改交互、被测试催着修 Bug、被运维问“你们前端怎么又打爆接口了?”,晚上还得抽空看团队成员的 PR,哪还有时间手动干那些机械活?

说起来,这半年带团队的经历让我对“效率”两个字有了新的理解——不是跑得更快,而是把力气花在刀刃上。而效率工具,就是那把帮你磨刀的人。


从一次“爬虫救急”说起

去年双11前两周,我们接到一个紧急需求:需要抓取竞品网站的商品价格和促销信息,做动态比价分析。后端同事人手紧张,直接甩锅(哦不,是“信任”)给我们前端:“你们不是会写 JS 吗?用 Puppeteer 跑个爬虫很快的。”

我当时内心是拒绝的——前端搞爬虫?这不是跨界打劫吗?但 deadline 不等人,只能硬着头皮上。

一开始我用最原始的方式:手动复制粘贴 + Excel 处理。结果第二天就被产品总监灵魂拷问:“就这?数据才 50 条?” 我当场社死。

于是赶紧祭出 Puppeteer + Cheerio 组合拳。写了个脚本自动登录、翻页、提取结构化数据,再用 csv-writer 输出成 CSV。整个过程自动化后,5000 条数据半小时搞定。

// 简化版爬虫核心逻辑
const puppeteer = require('puppeteer');
const createCsvWriter = require('csv-writer').createObjectCsvWriter;

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  
  await page.goto('https://competitor.com/sale', { waitUntil: 'networkidle2' });
  
  const products = await page.evaluate(() => {
    return Array.from(document.querySelectorAll('.product-item')).map(el => ({
      name: el.querySelector('.title').innerText,
      price: parseFloat(el.querySelector('.price').innerText.replace('¥', '')),
      link: el.querySelector('a').href
    }));
  });

  const csvWriter = createCsvWriter({ path: 'products.csv', header: [
    { id: 'name', title: 'NAME' },
    { id: 'price', title: 'PRICE' },
    { id: 'link', title: 'LINK' }
  ]});
  
  await csvWriter.writeRecords(products);
  await browser.close();
})();

这次经历让我意识到:效率工具的价值,在于把“人肉操作”变成“一键执行”。从此我对这类工具上了瘾。


我的效率工具箱:不是堆砌,而是组合

很多人一提效率工具,就疯狂安利 Notion、Obsidian、Raycast、Alfred……但说实话,工具太多反而会成为负担。我现在的原则是:只保留那些真正融入我工作流的工具

1. 终端增强:Zsh + Oh My Zsh + zoxide

以前我用 Bash,每次 cd ../../../project/src/utils 都想砸键盘。现在用了 zoxide,只要输入 z utils 就能秒进目录。配合 Oh My Zsh 的 git 插件,当前分支、是否有未提交变更一目了然。

# .zshrc 配置片段
eval "$(zoxide init zsh)"
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

2. 代码片段管理:VS Code Snippets + Alfred(Mac)

作为前端,天天写 useEffect, useState, 动画钩子,手写太慢。我把常用逻辑封装成 VS Code 自定义 Snippet,比如:

{
  "Animate In View": {
    "prefix": "animInView",
    "body": [
      "const [isVisible, setIsVisible] = useState(false);",
      "useEffect(() => {",
      "  const observer = new IntersectionObserver((entries) => {",
      "    entries.forEach(entry => {",
      "      if (entry.isIntersecting) {",
      "        setIsVisible(true);",
      "        observer.disconnect();",
      "      }",
      "    });",
      "  });",
      "  observer.observe(document.querySelector('#${1:targetId}'));",
      "}, []);"
    ]
  }
}

在 Mac 上,我还用 Alfred 快速搜索代码片段、文档链接,甚至直接执行 shell 命令。比如输入 ip 就能复制本地 IP,省去 ifconfig 的麻烦。

3. 自动化脚本:Taskfile 替代 Makefile

很多团队用 Makefile 管理项目命令,但语法反人类。我最近在团队推广 Taskfile,YAML 写起来清爽多了:

# Taskfile.yml
version: '3'

tasks:
  dev:
    desc: 启动开发服务器
    cmds:
      - pnpm run dev

  build-prod:
    desc: 构建生产包并上传 CDN
    cmds:
      - pnpm run build
      - aws s3 sync dist/ s3://my-cdn-bucket --delete

  lint-fix:
    desc: 自动修复 ESLint 和 Prettier 问题
    cmds:
      - pnpm run lint --fix
      - pnpm run format

执行 task dev 比记 pnpm run dev 更顺手,而且新人一看就懂。


工具选型的三个“不要”

在带团队的过程中,我也踩过不少坑。总结下来,选效率工具有三个“不要”:

原则 反面案例 正确做法
不要为了新而新 强推某小众终端模拟器,结果团队一半人不会配 优先选择社区成熟、文档齐全的工具
不要忽视学习成本 用复杂的低代码平台生成表单,结果调试比手写还累 工具带来的收益 > 学习+维护成本
不要脱离业务场景 为简单项目引入 Webpack 5 Module Federation 小项目用 Vite + 原生 ES Modules 足够

上周五晚上,组里一个新人兴奋地给我看他用某个 AI 代码生成插件写的组件,结果 props 类型全错,事件回调没防抖,动画卡成 PPT。我哭笑不得:“兄弟,AI 是辅助,不是替身。代码人生,终究是你自己写的。


效率的本质:减少上下文切换

其实,所有效率工具的核心目标,都是减少上下文切换。每次你从 IDE 切到浏览器查文档,从终端切到 Slack 回消息,大脑都要重新加载“工作缓存”。而好的工具,能让你保持心流状态

比如我现在写文章时,用 Typora + 自定义 CSS 主题,所见即所得;查资料用 Raycast 的 Browser Search,不用开新标签页;代码示例直接在 VS Code 里写完复制过来——整套流程丝滑如德芙。

甚至我的租房选址也体现了这一点:公司步行 10 分钟,省下通勤时间,晚上就能多 debug 两小时(或者多睡两小时,看心情)。


最后一点开发心得

效率工具不是银弹,它解决不了架构混乱、需求反复、沟通低效这些根本问题。但在确定的方向上,它能让你跑得更快、更稳

作为技术组长,我现在的任务不仅是自己高效,还要帮团队建立可持续的高效习惯。比如我们规定:凡是重复操作超过三次,就必须自动化;PR 里禁止出现“手动测试通过”,必须附上自动化测试或脚本验证。

前几天,组里一个同事用 Puppeteer 写了个自动回归测试脚本,覆盖了我们最头疼的支付流程。上线后,线上事故率降了 40%。那一刻我觉得:所谓综合效率提升,不是一个人快,而是一群人一起少踩坑。

所以,别盲目追新工具。问问自己:它真的让我少做了什么?少想了什么?少骂了产品经理几句?

如果答案是肯定的,那就留下它。否则,果断删掉——你的注意力,比硬盘空间更宝贵。


深夜码字完毕,咖啡已凉。 但想到明天又能用脚本自动跑日报,突然觉得生活充满希望。

共勉,各位在代码人生路上摸爬滚打的战友。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝