你链那篇谭显英的博客提到的mutate_at 的问题我也碰到过,一年前写的dplyr相关代码一编译出错, 结果发现语法变了。
感觉向后兼容性真是开发过程里很重要的问题。前几天看了python2/3 为什么分家的博客,大概就是引入了不向后兼容的变化(比如print加括号),现在说是2020年py2不再维护寿终正寝,但library下载统计显示40%的下载量依然基于2.7。python2/3生生把社区割裂开我觉得算是软件史上因为引入不兼容改变走过的最长弯路了
但是一昧向后兼容也会导致积重难返,很多东西明知有更好的做法但为了不破坏下游的依赖也只能将”错”就”错”,比如r里stringasfactor=TRUE, R选项默认保存当前工作环境的image等等…
总之我很同意谭那篇博客里提的“不要在生产环境里用净土宗”,好多基础性的语法都在变来变去的话,在我看来是跟鼓吹多年的reproducible research背道而驰的。