评论者:alexmiller
在这上面讨论名字不值得 - 无论怎样Rich都会有自己的看法。
关于补丁
- 删除了::static元数据,这种用法现在已经不再需要
- 需要文档字符串,应该采用其他Clojure文档字符串的风格。map可能是一个好地方可以借鉴。
- 而不是声明到,推迟定义这些内容,直到它们需要定义的内容完成。没有必要为此添加更多的声明。
还有其他潜在的实施方案 - 这些方法应该被实施,并比较在一系列输入大小方面的性能。除了当前方法外,我还将调查
- reducekv与构造到临时映射。这允许映射自行减少(无需seq缓存)并避免创建条目又要将其拆分。
- transducers with (into {} (map ...) m)
还应考虑
- 是否构建k/v向量并将其转换为映射,或者直接构建映射(前者可能更快,不确定)
- 如果构建映射,如何构造映射条目(向量与直接创建映射条目对象)
- 在map-keys中,映射生成新重叠键时是否有任何开放问题?
- 是否在现有核心代码中的某些地方可以使用map-keys/map-vals(我相当肯定有)