Pau*_*der 17 .net versioning assemblies
我从.NET的角度知道,版本为1.13的程序集被认为是比版本1.2更新的版本,因为版本中的每个数字都是单独计算的.然而,从数值的角度来看,1.13 <1.2.
问题归结为为客户发布更新时的可读性.从.0到.9它们都是一样的,但是在.10你必须区分.那么,你是否将点数发布的数量限制为9,然后在达到.9时增加主要版本?
请不要认为最终用户了解典型的开发版本编号方案.
更新:
不要把它想象成十进制数.(.)是不同字段之间的分隔符.每个字段的含义(例如):
Run Code Online (Sandbox Code Playgroud)MajorRelease.MinorRelease.BuildNumber
绝对!当我查看版本号时,我看到了它.但这不是你的普通乔读取文字"1.13"的方式.我想作为程序员,很容易将我们的理解投射到我们的用户身上.这就是为什么我对数字混淆经验的回应感兴趣.这可能不是一个真正的问题,或者它可能只是被忽略了.
更新2:响应"提供文档"或"向用户解释"类型的解决方案:它们不起作用!:)如果你必须向用户解释版本号,你已经使它变得比它需要的更复杂.虽然一项技术的主要受众可能是许多公司的开发人员,但软件的实际采购和管理由没有开发或技术背景的秘书和文职人员处理.如果他们的经理问他们"是否有可用的新版本1.9"并且他们看到"1.11"他们可能不会将其注册为新版本.
Rob*_*ino 17
如果版本编号看起来像数字小数,版本编号可能会令人困惑,但(.)实际上是独立字段之间的分隔符,应该读取如下内容:
MajorRelease.MinorRelease.BuildNumber
每个数字都独立于其余数字,因此版本1.12.99可能会跟随版本1.12.100(例如).所以你最终得到:
在第1版中,次要版本12 ...版本100 在构建99之后.
所以在你的例子中(v1.13> v1.2):次要版本"13"将在发布"2" 之后出现一段时间.
这是标准做法,无论如何,任何关注版本"数字"的人都应该意识到这一点.可能存在任何误解的唯一原因是,如果您的版本"数字"只有一个点,例如"1.13",在这种情况下,它可能会与十进制数字(由不知情的读者)混淆,这是不幸的,因为他们代表完全不同的东西,虽然使用相同的表示法.你使用修订号吗?如果是这样,这使得版本更加清晰,不是小数,例如"1.13.2".无论如何,从设计的角度来看,我倾向于推荐这种做法.
要点:如果要以编程方式比较程序集的版本,可以使用Version该类,它会使比较运算符重载,以便您可以通过评估轻松检查哪些更新versionA > versionB.