[design decision] user awareness: 自动安装还是不自动安装?
觉得有必要记录一下这类问题,都打个[design decision]的标签吧。
目前项目中遇到这么个问题:
我们build system的用户,需要为他的每个项目提供一个文件,用来描述该项目产生的libary,以及依赖的其他项目。 这个文件很重要,需要在install的时候与最终产生的库文件放在一起,以便被其他项目使用时访问,从而把整个依赖链串起来。 已知该文件总是放在一个固定的位置,之后gmake install时会被安装到一个固定的位置。
好,问题来了,既然文件在哪里,要被安装到哪里都是已知的,是不是build system可以自动把这步包含进来,无须用户做任何事,从而提供了方便?
我一开始的想法是这样的: 这的确非常天经地义,何乐而不为呢?
但和同事们讨论之后,觉得从另外一个角度来考虑:user awareness也是非常靠谱的:
这个文件是用户提供的,如果build system在用户不知情的情况下,自动(magically)帮用户做了这个事,可能对用户来说是个supprise(least supprise?),会造成一定的混淆,所以这不一定是个好事情, 有用户显示指定这个操作为好。 相反来讲,如果某个文件是build system产生的, 比如最终的library,或者中间产生的库依赖信息文件,那么build system自动安装是比较合理的。
当然,对于这个具体的问题,是否自动我并没有强烈的偏向,但从user awareness来考虑问题是个不错的角度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述