热门关键词:

Google释新提案评估流程,让Go 2最大相容Go 1,避免分裂开发生态

11-30
11-30,资讯Google释新提案评估流程,让Go 2最大相容Go 1,避免分裂开发生态最新消息报导,手机发烧友资讯

从8月谷歌启动Go 2草稿设计发想以来,Go 2的改版工作已经如火如荼的进行中,现在约有120个Go 2提案议题尚未解决,不过,谷歌提到,这些提案大部分未考量和Go 1相容的问题,因此提出了新的提案评估流程,要让Go 2最大相容Go 1,避免分裂开发生态系。

即便Go 2已经成为下一个版本Go的称号,但官方提到,他们仍然会以渐进的步骤,而非单一主要版本更新的方式释出Go 2.Go 1和Go 2的发展差异,将体现在影响设计的人,以及做出决策的方法,Go 1是一个小团队努力的成果,外部影响不大,但现在他们想让社群作为主要驱动Go 2发展的力量。

 

2015年年官方释出了第一版提案流程,收集语言提案以及函式库的回馈,并由转到资深团队成员组成的委员会负责审查,分类和决定提交的提案,在这过程中,委员会把所有不向后相容的提案都标记为Go 2. 2017年,官方停止做出任何渐进向后相容的语言更改,要用更缜密的计划考量Go 2的发展。

 

而现在Go 2开始动工了,官方提出了新的提案评估流程,要让新的提案功能依然支援现存大量的Go程式码。目前约有120个标记为Go 2提案的未决问题,这些提案代表着重要函数库功能以及语言更改,不过多数不相容现有Go 1函式库。官方对这些提案进行了处理,他们合并了相关提案,并关闭了看似超出Go范围的提案,或是无法实现的提案。其余的提案最终都可能影响Go 2的函式库和语言功能。

 

早期出现的两个提案包括更好的错误处理和泛型,草稿都在今年的GopherCon上发布,等待更多探索发展,而剩余的提案,官方提到,他们不想要过度影响数百万转到开发者以及现存的Go程式码,冒着分裂生态系的险改版Go 2,依循这个限制,Go 2无法做出太多改变,每一个改变都需要仔细选择,为此这些提案都将使用新的提案评估流程来决定去留与发展。

 

提案评估流程目的是,要收集少数选定提案的回馈,以做出最终决定,过程或多或少会与发布周期并行。流程第一步是提案选择,进入团队已经选择了少量看起来值得考虑接受的Go 2提案,但没有做出最终决定。第二步提案回馈,Go团队将发出一份列出所选提案的公告,公告会向社群解释的初衷并收集回馈意见,这个步骤让社群有机会提出建议。

 

第三步实作,根据社群回馈,提案进行实作。第四步实作回馈,进入团队和社群有机会在开发周期中,试用新功能并且收集进一步的回馈。最后一步释出决定,在三个月开发周期结束,依据发布周期收集的经验和回馈,进入团队会考量变更实作的预期收益或产生额外的成本,做出是否发布更改的最终决定,发布后,更改将成为语言和函式库的一部分,被排除的提案可能要重新来过或被拒绝。

 

官方提到,提案成立的准则是,要为许多人解决重要议题,并提出清晰易于理解的解决方案,但是必须最小化对每个人影响。现在Go 2提案评估流程在由Go团队执行完第一步后,已经进到了第二步,进入社群成员现在可以开始对提案提供回馈。

  • 赞助商广告