我通常以1.0版本开始我的项目。一旦我有了一些东西,我就以1.0.0版本发布它,然后继续使用1.1.0版本。
然而,这导致了我所写的大多数东西的可用但不完全功能完整的版本1.0。然后我添加了一些特性,并在1.6.0左右得到了一个不错的版本。许多项目都是从0.1.0版本开始的,它的可用性和我的1.0版本一样。
您建议怎么做? 从1.0开始还是从0.1.0开始?
顺便说一下,最后一个数字是修正错误的版本。你可以把我的1.0.0想象成1.0,0.1.0想象成0.1,这对你来说更容易。
从0.0开始,然后继续前进。
当我的第一个可用版本准备好了,但功能还没有完成时,我通常会判断它离一个功能完整的版本还有多远,所以举个例子,如果我的第一个可用版本是33% 的功能完成,我会把版本号定为0.3.0或类似的版本。然后,当我向功能完整的方向发展时,相应的版本也会以类似的方式得到给定的数字。
但是一旦你继续过去的特性,完整的版本控制就需要改变了
从1.1.1开始,然后继续。
我认为不同的因素在这里起作用。版本号的心理/市场影响(版本号经常增加 = > $$$,人们不想购买0.99的 beta 版本等等)必须考虑在内。“逻辑”版本号可以帮助在一个庞大的团队工作。
我喜欢 Linux 的方式,对于不稳定的版本使用奇数,对于稳定的版本使用偶数。
版本号完全取决于你。做对 你有意义的事情并保持一致。没有人说必须从0、0.0、1.0或1.1开始。
伟大的程序员实际上把版本编号系统当做本地笑话:
自版本3以来,TeX 使用了一个 特殊版本编号 系统,其中已有更新 加一个额外的数字来表示 小数的末尾,以便 渐近版本号 接近 π。这是一个反映 特克斯现在非常稳定, 只有一些小的更新 目前版本的 TeX 是3.1415926; 最后一次更新 二零零八年三月
对于 METAFONT:
Metafont 有一个版本控制系统 类似的 TeX,其中 数字渐近接近 e 每次修订。
最后,不完全是一个版本号,但同样有趣的是,谷歌的首次公开募股(IPO)申请美国证券交易委员会(SEC)为筹集2.718,281,828美元(注意 e ~ 2.718281828)。
我的观点是: 不要觉得你需要随大流,要有创造性和一致性。
通常,版本控制对程序员来说有一定的意义。增加主数可能意味着阻止向后兼容性的大更改。版本号中的其他数字可能表示更小的特性增强或 bug 修复。
如果您担心0.6.5版本不完整,那么您可能希望将其推广到1.0版本下。您的营销版本号不必与您的内部版本号相匹配。例如,Windows 7的版本号是6.1。
我个人的偏好是从0.1.0开始并从那里开始。
那要看是什么项目了。对于简单的命令行工具,我通常从0.9[ . 0]左右开始,因为我只在它们接近完成时才考虑发布或打包它们(或者准备进行 beta 测试)更复杂的项目大约从0.1[ .0]开始,有些甚至从未见过1.0。我认为1.0是一个发布版本(或者至少是一个本地测试的测试版或发布候选版) ,并据此制定计划。
对于团队项目,无论谁放置第一个版本标签,都可以决定:)。
版本号应该在 Arrieta正确评论之前对您有意义。
也许可以这样说: 第一 # 是市长发布,第二 # 是相同的市长发布,增加了一些功能,第三 # 是相同的市长发布,具有相同的功能,但有固定的错误或添加少量(但足够重要)的变化。
1.3.2 = > 第一个版本,有更多的特性和一些修复的错误。
然而,对于最终用户来说,有些用户习惯了最终版本的大数字。
例如: Corel 8,用于8.0.0、8.0.1、8.2.2等等。 Corel9,9.0.0等等。
主要是关于营销策略,例如: Corel X5而不是 Corel 15.0.2。
我会说,这取决于版本号是为您还是为客户端。
语义版本2.0.0标准提供了0.y.z 空间来表明您的项目没有一个稳定的公共 API:
主版本0(0。Y.z)用于初始开发。任何事情都可能随时发生变化。公共 API 不应该被认为是稳定的。
建议从0.1.0开始,在对公共 API 的每一次重大更改上改变次要版本。当您能够适当地控制和管理这些重大变更时,您可以增加到1.0.0:
版本1.0.0定义了公共 API。版本号在此版本发布后的递增方式取决于此公共 API 及其更改方式。
使用0的好处。在最初的开发过程中,y.z 空间是你不会达到一个高的主要版本,例如142.6.0。避免较高的主要版本号是行业惯例,部分是出于市场原因,但这可能与您无关。
语义版本控制专门应用于具有公共 API 的项目,但是通常应用于其他上下文中带有“突破性变化”的替代概念,例如 GUI 接口的大变化。
在为 npm软件包选择版本号时,请注意,对于 package.json 半径范围中列出的依赖项,版本号不能低于 v1.0.0。就是,
npm
package.json
"dependencies": { "my-package": "^0.5" }
相当于
"dependencies": { "my-package": "0.5" }
如果希望能够使用 semver 范围,或者希望让其他人使用它们,可以从1.0.0开始
0.1.0是我从那里开始并向上移动的位置。这就是我为艾德里安的《探索》改编的内容,尽管在我早年的时候,我只是偶尔使用1.0.0、0.0.1和其他一些版本。但我确实建议从0.1.0开始,并从那里开始。
每个学期,把 a 和 c 留给 A。您的第一个官方版本和 C 错误修复和补丁。这是因为主版本通常会破坏旧代码。补丁只是修复 bug。这都是个人喜好,0.99.0并不意味着你必须使用1.0.0等等。我见过一些直到0.218.42。