元编程在项目中的应用

掐指一算,进行 System Framework 开发工作已经持续了快两年了,也算是对框架有了一些自己的感悟。框架要做的核心事情就是尽量减轻开发者的工作。怎么去减轻开发者的工作呢?可以从开发、测试和维护两个方面解读。开发方面就是尽可能提高代码复用程度,无需重复造轮子;测试方面就是尽可能提高代码的可测试性,排除无关因素快速定位问题;维护方面就是提高代码的可读性、架构的可理解性,大家能很快地理解整个工程。

而要实现这三个方面的提升,在框架设计的过程中,各种语言特性、设计模式往往无所不用其极,以最简洁的方式提供框架的功能,来尽可能给开发者带来更多的收益。而元编程技术的应用,就是其中重要的一方面。

阅读更多

Go 1.21 的 slice 使用问题

最近在研究 CoreDNS 插件,但个人之前又没有 Go 语言基础,于是一边学习一边编写插件。可以说只用了 20% 的时间就摸清楚了 Go 语言 80% 的内容。但剩下的 20% 还没掌握,或者说是深刻理解。这不,遇到了个 for slice 的问题,于是记录下相关的解决办法和原理。

阅读更多