当前商店中的所有产品都受到发布威胁。我们的项目也不例外。我们根据scrum方法论进行工作,将开发分为sprint,通常sprint不受时间限制,但根据sprint范围分为时间段。作为冲刺的结果,通常会将应用程序发布到商店中,其中包括新功能和一些错误修复。
但是,由于项目的特殊性,并非所有功能都在冲刺完成后立即发布。由于这种方法,出现了无法发布到产品的功能。有了这些,没有人取消重要的bug,次要的修复程序以及仅发布现成的功能。有几种类型的发行版:
- 迭代开发。发布现成的和认可的功能。
- 接受功能的时间不同。客户对每种功能都有不同的优先级,这肯定会影响甚至现成功能的发布日期。
- 严重错误和SLA。如果在销售部件上发现真正的问题,则需要修复该错误并尽快推出更新。
在不断释放的情况下,出现了一个问题:“如何进行发展?”。
毕竟,每个开发人员必须完成任务,为这些任务创建分支,并最终将它们合并。

最初,“特征分支”方法是在工作室中组织的,让我们看一下它的概念,强调其优缺点。

. , , FeatureBranch, DevBranch. , , , , FeatureBranch .

, . , 100% , , . , - swift , , , , xib , . , .
?
:
, . , , .
FeatureToggle
, . FeatureToggle , A/B / . , .
, . , . , - , «-» .
:
public final class FeatureToggle {
public enum SomeFeature {
public static var isEnabled = true
public static var useMocks = false
}
}
, . . , , .. , , .
, . , - .
if FeatureToggle.SomeFeature.isEnabled {
} else {
}
, , , « » .

– . FeatureToggle. , , , . , , . , , , , .
:
:
?
, . , , . — . – , . , . , , .
, :
!
P.S.: . , .