![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
优雅代码
文章平均质量分 67
蓝贝壳壳
热爱软件事业 崇尚自由 一个不愿成为码农的码农 多年苦心探索和参悟 希望解放全天下苦逼的码农
展开
-
像写诗一样撸代码是怎样的体验
关于容器空间扩容问题的精巧设计,实现过采用连续空间存储的序列式容器如vector,deque的同学都知道,由于需要在插入效率和动态扩容之间取得平衡,往往需要设计一个合理空间扩容策略,来满足大多数情况下的动态增长的需求且效率损失可控。原创 2021-05-01 23:03:06 · 274 阅读 · 2 评论 -
用数学编程可以有多悠美
用判断两条线段是否相交解释程序中数学原理的重要性。原创 2023-06-17 11:11:17 · 206 阅读 · 0 评论 -
让业务代码更优雅的方法——类型工厂
最近碰到一个需求,用结构化数据结构(如JSON)构造一个表达式。已设计数据结构如下:// Value represents a value with given typetype Value struct { // type of this value: // number|string|boolean|object|array|expr Type string `json:"type"` Data json.RawMessage `json:"data"` // specific原创 2021-06-14 23:45:05 · 156 阅读 · 0 评论 -
在Go中用json序列化未知类型的巧妙方法
我们知道Go的json库可以方便的在json字符串和go类型之间相互转换。然而现实中经常遇到这样的需求,需要序列化的object类型是“未知”的,需要根据某个固定字段来判断用什么类型来序列化。如如下json数据表示animal数组的话,实际上所有的attr字段的具体类型是需要根据kind字段的值来确定的。这种数据表示在像javascript这样的动态语言表达起来很自然,但在go这样的静态类型语言里,描述起来就不是那么容易了。原创 2021-05-07 23:53:06 · 1452 阅读 · 6 评论 -
关于代码可读可维护问题的一些浅见
关于程序可读可维护问题的一些浅见,从在go语言中如何优雅的实现枚举映射,到理想编程语言的表达力及代码执行时机的一些思考。原创 2021-05-03 23:41:44 · 599 阅读 · 5 评论