Saturnci

Saturn CI,关于持续集成、软件交付与 DevOps 的平台与博客。

AI智能体的TDD技能指南

实测表明AI写测试代码的水平很差,但作者发现只要给智能体一套清晰的技能指令就能大幅改善。文章分享了自己维护的TDD技能(GitHub可访问),核心是用Specify-Encode-Fulfill循环替代传统的red-green-refactor,再结合Kent Beck的Canon TDD流程:先列规格清单、编码为自动化测试、仅写足够通过当前测试的代码、行为变更与重构分离。此外还设计了测试设计审查和软件设计审查两个独立技能,让AI自己检查自己的测试质量问题。作者判断AI最大的生产力增益,来自将其与"历久弥新的不变原则"相结合。有手写代码、有开源链接、有个人的真实踩坑和发现,不是空泛趋势文。
评论点赞收藏72 天前

对Sandi Metz《POODR》中Gear类的改进

编程经典《POODR》中的Gear类示例也有可改进之处。本文作者指出Sandi Metz的原始代码存在命名误导:变量chainring和cog实际代表的是齿数而非齿轮本身,导致ratio方法中"chainring除以cog"在语义上说不通(好比"用牙医除以香蕉")。作者建议重命名为chainring_tooth_count和cog_tooth_count,让代码名副其实。此外,将位置参数改为关键字参数,消除调用时的记忆负担;对是否移除不必要的attr_reader则持保留态度而非绝对主张。虽为经典教材,但"代码应当名副其实"的原则值得所有开发者思考,不应畏惧指出和改进权威示例中的瑕疵。文中附有Ruby代码演进对比,论证清晰有据。
评论点赞收藏137 天前

Docker 是什么?

一位新程序员入职首日,花四小时仍配不好开发环境——OpenSSL版本冲突、PostgreSQL版本不兼容、ImageMagick缺失。这个极强的代入感故事,正是本文讲Docker的切入点。作者借手动配置的三大痛点(不可复现、易出错、纯苦力),引出Docker核心思想:用Dockerfile构建镜像,从镜像启动容器,将环境与依赖一次性打包、隔离、标准化。全文用乐队录音类比讲解技术原理,附完整Dockerfile示例、实际构建命令输出与运行结果,并延伸至多服务编排(Docker Compose)和生产扩缩容(Kubernetes)。不是罗列命令的教程,而是让人理解"为什么需要Docker"和"Docker怎么用"的入门佳作,写作有真实场景、有幽默感、有人味。
评论点赞收藏305 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。