让 JavaScript 更有趣的技巧

编码可能是最有价值和最具创造性的工作之一,但说实话,它有时也可能让人不知所措、失去动力,甚至完全令人沮丧。多年来,我个人一直在与无聊、任务不堪重负和完美主义兔子洞作斗争。无论您是在从事业余项目、与团队合作还是应对专业挑战,这些技巧都旨在帮助您使编码变得更易于管理、更高效,而且最重要的是,更有趣。虽然我将使用 javascript 作为这些想法的镜头,但它们是普遍适用的。

0. 将项目分解为尽可能小的可交付成果

首先将您的项目分解为可实现的小块。定义每项可交付成果的绝对最小范围,并仅关注正在进行的交付成果。这种方法不仅可以避免事情让人感到不知所措,还可以让您庆祝一路上的小胜利,并从最终用户或利益相关者那里获得见解。

1.先写类型

如果您使用 typescript 或类似工具,首先定义类型可以作为代码的路线图。即使在纯 javascript 中,预先绘制数据结构或接口也可以在以后节省大量时间。此外,这些类型可用于生成用于测试、故事书故事的模拟数据,或在开发系统的其他部分时直接生成模拟数据。

那些更喜欢使用原始 javascript 而不是 typescript 的人仍然可以在 jsdoc 中编写类型:

/** * @typedef {object} task * @property {string} id - the unique identifier for the task. * @property {string} title - the title of the task. * @property {string} description - a detailed description of the task. * @property {boolean} iscompleted - indicates whether the task is completed. *//** * adds a task to the task list. *  * @param {task} task - the task to be added. * @returns {boolean} - returns true if the task was added successfully. */function addtask(task) {    // logic to add the task    console.log('task added:', task);    return true;}

登录后复制

2.使用测试标题作为待办事项列表

测试驱动开发 (tdd) 不仅仅关乎质量;还关乎质量。它也是生产力的助推器。编写描述性测试标题,作为实施的清单 – 就像将待办事项列表直接构建到工作流程中一样。例如:

// File: user.test.jsdescribe('User Management', () => {  it.todo('should create a new user');  it.todo('should fetch a user by ID');  it.todo('should update user details');  it.todo('should delete a user');});

登录后复制

这种方法可以让您保持井井有条,同时为需要完成的工作提供清晰的轮廓。

3. 首先做能带来最大价值的事情

从影响最大的功能或任务开始。这种优先顺序可以激励您并创造动力,尤其是当利益相关者或团队成员立即从可见的进展中受益时。

立即学习“Java免费学习笔记(深入)”;

例如,如果您的应用程序的核心功能是视频处理,那么您应该首先关注它。可以在稍后阶段添加用户管理,并且在此之前可以通过基本身份验证来保护网站。

4. 编写你能想到的最简单的代码

始终编写最简单的代码来完成所需的任务,仅此而已。代码是可以改变的,并且随着需求的发展自然会变得更加复杂。一开始试图让它看起来聪明或复杂往往会适得其反。智能代码非常简单——随着时间的推移,调试、审查和适应变得更加容易。

5. 对工具、库和框架很挑剔

在选择外部依赖项时,优先考虑开发人员经验、项目适合度和质量,而不是受欢迎程度。你听说过关于 node_modules 是宇宙中最重的物体的大胡子笑话吗?不仅重,而且重。外部代码通常很难适应或修改,因此彻底审查和测试工具至关重要。如果您自己的实现更值得信赖或更适合您的项目,那么编写自己的实现是完全可以的。同时,如果外部工具和库能带来真正的好处,就不要害怕使用它们。只要确保您的项目不会变得如此依赖它们,以至于以后解开它们将需要全面的“凝固汽油弹重构”。

6. 使用提交来记录你的决定

将您的 git 提交视为您旅程的日志。每次提交不仅应该捕获代码更改,还应该捕获它们背后的原因。这使得未来的调试和协作变得更加容易。考虑采用传统提交来维护一致且描述性的提交历史记录。例如,像 feat:、fix: 或 chore: 这样的前缀有助于阐明每个更改的目的并提高可读性。

7. 边走边重构

不要把所有重构都留到最后。实施过程中的小规模增量改进不会那么令人生畏,并且有助于维护高质量的代码库。根据经验,如果您现在可以重构而不会对当前任务产生太大影响,那就去做吧。否则,请留下 // todo: 注释、创建任务或找到其他方法来确保您在时间允许时返回该任务。

8.定期自我检查你的代码

在考虑完成之前先退后一步阅读并批评您的代码。这个习惯可以发现不一致的地方并改进你的工作——就像校对一篇文章一样。最简单的方法是在第一次提交后立即打开草稿 pull 请求。

9.尽早并经常寻求反馈

不要等到你的工作“完成”才让其他人参与。结对编程是获得即时反馈和分享知识的绝佳方式,但即使是同事的早期审查也可以节省时间并提高质量。

最后,要记住的最重要的提示是,没有完美的代码或完美的流程也没关系。在一些代码之后甚至稍后编写测试是完全可以的。偶尔错过一个错误是很正常的。只要您的代码和创作随着时间的推移变得更好并且您玩得很开心,一切都是允许的:毕竟,编程应该与您用它创建的解决方案一样有价值!

以下哪些提示对您来说是显而易见的?您发现哪些富有洞察力?您有什么建议想分享吗?请在评论中告诉我。

本文的草稿和封面图片是在 ai 的帮助下创建的

以上就是让 JavaScript 更有趣的技巧的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2643028.html

(0)
上一篇 2025年3月7日 06:57:30
下一篇 2025年3月7日 06:57:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • UI 测试终极指南

    确保应用界面满足用户期望,用户界面 (UI) 测试至关重要。它涵盖功能、可用性和设计三个方面,是打造流畅用户体验的关键环节,在软件开发中不可或缺。 什么是 UI 测试? UI 测试验证应用的图形元素(按钮、菜单、表单、屏幕等)是否按预期工作…

    2025年3月7日
    000
  • 免费打字稿课堂课程

    承接上一课typescript原始类型学习,本课将深入讲解typescript中的对象和数组。 课程概要 本课程将涵盖TypeScript对象和数组的创建和使用技巧。我们将学习多种创建对象和数组的方法,并了解它们各自的适用场景。 对象字面量…

    2025年3月7日 编程技术
    200
  • 可维护性就是您所需要的

    优秀的技术文档如同优秀的软件一样,需要持续更新和迭代,以满足所有项目参与者的需求。理想的技术文档需在详尽性和简洁性之间取得平衡,既要涵盖所有必要细节,又要保持易于理解。 然而,随着项目演进,文档可能逐渐落后于实际情况。新增功能、代码重构都可…

    2025年3月7日
    200
  • 立即吸引用户:在 React SPA 中嵌入交互式演示

    如果一张图片胜过千言万语,那么一个交互式演示的价值……岂止百万? 您是否喜欢通过冗长的说明文字来了解应用程序的功能?可能不会。我不想为我的最新项目 Wanna 撰写过多的赘述。因此,我寻求了一种更具吸引力的解决方案:将我的应用程序嵌入到登录…

    2025年3月7日
    200
  • 代码异味 – 非命令式函数名称

    清晰的函数命名:避免歧义,提升代码可读性 简而言之:含糊不清的函数名会隐藏其功能,令读者困惑。请使用具有描述性、面向动作的名称。 问题 函数用途不明确认知负担增加上下文误导可读性降低协作困难功能隐藏 解决方案 使用面向动作的动词使用描述性名…

    2025年3月7日 编程技术
    200
  • TanStack Router:5 年后 React 路由的未来

    高效的路由机制是现代Web应用的基石,它直接影响着用户导航体验的流畅度。在2025年的React路由生态中,TanStack Router凭借其灵活、高效、简洁的特点脱颖而出,成为备受瞩目的新一代解决方案。本文将深入探讨TanStack R…

    2025年3月7日
    200
  • JavaScript 中的异步和等待

    JavaScript异步编程简述 JavaScript是单线程语言,一次只能执行一个任务。为处理多个任务,特别是I/O操作(例如API请求或文件读取),JavaScript采用异步编程。这使得在等待耗时操作完成时,其他任务可以继续执行。 回…

    2025年3月7日
    200
  • 图像中的文字动画效果代码

    Image Inside Text Effect @import url(‘D:pic/2025-03-07/https://cdn.chuangxiangniao.com/2025/03/20250307124443872.css bod…

    编程技术 2025年3月7日
    200
  • 如何在 Ubuntu 上安装 Node.js

    Node.js 是用于服务器端编程的 JavaScript 运行时。它允许 开发人员使用 JavaScript 创建可扩展的后端功能, 许多人已经熟悉基于浏览器的网络语言在本指南中,我们将向您展示在 Ubuntu 服务器上安装 Node.j…

    2025年3月7日
    200
  • 在 React 中使用 `useEffect` 从 API 获取数据的不同方法

    React 的 useEffect 钩子用于处理副作用,例如在组件渲染时获取数据。虽然直接调用数据获取函数 fetchData 不可避免(因为需要触发 API 请求),但我们可以通过多种方式优化代码结构和可读性。 不同的数据获取方法 1. …

    2025年3月7日
    200

发表回复

登录后才能评论