0

0

让 JavaScript 更有趣的技巧

碧海醫心

碧海醫心

发布时间:2025-01-09 19:09:46

|

826人浏览过

|

来源于dev.to

转载

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

describe('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. 编写你能想到的最简单的代码

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

weiit-saas开源电商SaaS系统
weiit-saas开源电商SaaS系统

weiit-saas是一款Java开源项目,由weiit团队自研,意在通过技术封装,帮助企业一键生成小程序、公众号,让企业拥有独立品牌的自营商城。weiit-saas是完全开源电商SaaS系统,属于weiit开源的社区版,旧版已不在维护和更新,仅供学习和参考,新版saas从底层架构到前后端UI设计已经全面优化和升级。 主要特点1、项目采用Spring+SpringMVC+Mybatis主流开源框架

下载

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

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

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

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

7. 边走边重构

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

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

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

9.尽早并经常寻求反馈

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


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

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

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

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

539

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

21

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

28

2026.01.06

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1157

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

215

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2031

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

744

2023.07.05

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

32

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3.2万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号