• [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来考虑问题是个不错的角度。
  • 相关阅读:
    微信小程序Http高级封装 es6 promise
    Java 常用的几个lambda表达式
    关于jedis2.4以上版本的连接池配置,及工具类
    Elasticsearch5.0 安装问题
    Newtonsoft.Json 序列化器的重写
    MongoDB查询用法大全
    RabbitMQ基础概念详细介绍
    基于AOP的iOS用户操作引导框架设计
    Apache ActiveMQ实战(1)-基本安装配置与消息类型
    iOS图形手势识别框架SGGestureRecognizer
  • 原文地址:https://www.cnblogs.com/baiyanhuang/p/2807849.html
Copyright © 2020-2023  润新知