TDD 是复杂业务系统中 Vibe Coding 的最好帮手 探讨在复杂业务系统中,如何通过 TDD(测试驱动开发)为 AI 编程(Vibe Coding)提供确定性的反馈回路。本文介绍了 TDD 作为 AI 可理解的需求说明书,如何帮助 AI 在陈年“屎山”代码中进行自我纠错,并确保新逻辑不破坏既有行为。 2026-01-17 技术 > AI #Vibe Coding #AI Coding #AI #TDD
indirect eval 是什么? 深入解析 JavaScript 中 direct eval 与 indirect eval 的本质区别:为什么语法形态而非函数值决定执行行为?为什么 indirect eval 能在严格模式下创建全局变量?从 ECMAScript 规范视角剖析 eval 的作用域机制,并提供工程实践中的正确用法,帮助开发者理解这一极易被误解的 JavaScript 特性。 2025-12-14 技术 > JavaScript #JavaScript
跳出循环的艺术:do while(false) 的编程哲学 本文深入探讨了 do {} while (false) 这种仅执行一次的循环结构在编程中的应用。通过对比传统条件嵌套、goto 跳转和 do-while(false) 三种范式,揭示了这种模式在代码重构、错误处理和资源管理方面的优势。同时,结合现代编程语言的发展趋势,探讨了如何通过技术选型决策模型进行工程实践。最后,通过哲学思考,阐述了这种模式在代码美学与实用主义之间的平衡。 2025-02-23 技术 > 程序员的基本功 #错误处理 #代码技巧
组件是否应该访问数据源? 组件是否应该访问数据源?在 react 早期,redux 刚刚开始流行的时候,通常组件会分别存在 container 和 component 文件夹下。 在 container 我们会访问 api、redux 或 localstorage 等外部数据源,而 component 只能接受 props 参数。 graph TD USER[用户] --> UI[UI 界面] UI 2025-02-15 技术 > JavaScript #JavaScript #前端框架 #前端架构 #前端
Go interface{} 切片与函数类型陷阱 Go interface{} 切片与函数类型陷阱在学习或使用 Go 的过程中,很多人都会在 interface{} 上踩坑。本文通过两个常见但容易产生误解的问题,解释 为什么 []interface{} 不能接收 []int,以及为什么 func() interface{} 不能接收 func() int,并给出背后的类型与内存模型原因。 2022-10-30 技术 > Golang #Golang
互相打架的 Node.js 模块化规范 深度解析Node.js中CommonJS与ES Module规范冲突,提供跨模块导入解决方案及文件扩展名处理技巧,助力开发者规避模块化兼容性陷阱。 2022-10-05 技术 > JavaScript #JavaScript #Node.js
一次 HTTP 请求就需要一次 TCP 连接吗? 一次 HTTP 请求就需要一次 TCP 连接吗?本文写于 2021 年 2 月 9 日 太长不看版本:短连接需要,长连接不需要。 TCP 的连接与断开现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开呢? 如果会,那什么情况下会断开? 在 HTTP/0.9 版本中,HTTP 请求是以短连接进行的,因此在发送完 HTTP 的响应之后,服务器就会断开 TCP 2021-02-09 技术 > 程序员的基本功 #HTTP #网络
读 Angular 代码风格指南 Angular 代码风格指南(精华版)原文参考:Angular 官方文档 Angular 的代码风格指南非常全面,但其中有不少原则其实与框架无关、对所有前端项目都适用。本文只保留最核心、最具长期价值的部分,帮助你写出更易读、更易维护、更易协作的代码。 一、单一职责(Single Responsibility)一个文件,只做一件事。 每个文件只定义一个概念(组件 / 服务 / 2021-01-17 技术 > JavaScript #JavaScript #前端框架 #前端 #Angular #代码规范
LazyMan 本文解析了名为 LazyMan 的面试题,该题从链式调用、队列、Event Loop 等多个方面考核了求职者对于JavaScript的理解 2020-12-22 技术 > JavaScript #JavaScript #异步编程 #面试题