规约编程实践指南 — 让 AI 按规矩写代码
在日常开发中,直接让 AI 写代码常常会遇到一些问题,比如不了解项目规范、代码质量不可控,上下文容易丢失、需求理解偏差等,解决办法就是使用规约编程。规约编程的核心思路是:先规划,再编码。通过两层约束机制,让 AI 在明确的规则和计划下工作。
在日常开发中,直接让 AI 写代码常常会遇到一些问题,比如不了解项目规范、代码质量不可控,上下文容易丢失、需求理解偏差等,解决办法就是使用规约编程。规约编程的核心思路是:先规划,再编码。通过两层约束机制,让 AI 在明确的规则和计划下工作。
目前我们有些前端应用是部署在 jdos 上,并且通过 jdos 中的 nginx 来代理访问后端接口,后端通常会提供一个域名,默认情况下 nginx 通常是在启动时对域名进行 DNS 解析并且将解析结果缓存,之后便不再更新。
在开发需求中需要实现部门的级联多选功能,但目前部门树接口无法支持一次性拉取全量树结构,只能按层级异步加载,并且这个需求中有对已创建数据进行编辑的功能,这就涉及到在编辑的时候需要正常回显到 Cascader 组件中。
随着项目越来越大后,咱们脚手架使用 babel 进行代码编译感觉越来越慢。为了提升编译速度,尝试了一下使用 esbuild 后发现速度提升明显,于是决定将 esbuild 正式集成到脚手架中。
React 的状态管理已经是一个老生常谈的问题了。从 React 内置的 Context API 和 Hooks API,到第三方库如 Redux、Mobx 和 Recoil,再到二次封装的库如 Rematch 和国内用户熟知的 dvajs 等等。可见社区对状态管理是如此的纠结,如果你也面对同样的纠结而无从下手,下面我将为你介绍如何基于 Redux 二次封装一个轻量级但是简单易用的状态管理工具。
曾经看到有篇文章写了关于用户对于网站的性能延迟的感知,其中列出了几个关键性的指标:
如今基于 node.js 的 cli 工具层出不穷,尤其以前端脚手架工具更迭最为频繁,纯构建工具有 grunt、gulp、webpack、parcel 和 rullup 等,各前端框架也有各自的 cli 工具 create-react-app、vue-cli 和 angular-cli,各大厂的集成化解决方案 fis、jdf、umi 等。但是每个团队的应用场景不同,以上工具不一定完全满足需求,是时候自己动手开发一个定制化的 cli 工具了。
window 对象是 BOM 的核心,可以控制窗口、框架和弹出窗口,也扮演着 ECMAScript 中 Global 对象的角色。
定义全局变量与在 window 对象上直接定义属性的差别:全局变量不能通过 delete 操作符删除,而定义在 window 对象上的属性是可以的。
在程序中, 语义 指的是一段代码的含义 — 例如 “运行这行代码会产生怎样的影响?”, 或者 “这个 HTML 的元素有什么作用,扮演了什么样的角色” (不只是 “它看上去像是什么?”。)