рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд┐рддрд░рдг рдХреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ

рдХреЛрдИ рднреА рдЙрддреНрдкрд╛рдж рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдЯреЛрд░ рдореЗрдВ рд╣реИ, рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдзрдордХреА рджреА рдЧрдИ рд╣реИред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕реНрдХреНрд░рдо рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕реНрдкреНрд░рд┐рдВрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рд╕реНрдкреНрд░рд┐рдВрдЯ рд╕рдордпрдмрджреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдкреНрд░рд┐рдВрдЯ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рдордп рдЕрд╡рдзрд┐ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрд╡реЗрджрди рдЖрдорддреМрд░ рдкрд░ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдХреБрдЫ рдмрдЧрдлрд┐рдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рддреБрд░рдВрдд рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдирд╣реАрдВ рдЖрддреА рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдХрд╛рд░рдг, рд╕реБрд╡рд┐рдзрд╛рдПрдБ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ рдЬреЛ рдареЗрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рд╕рдм рдХреЗ рд╕рд╛рде, рдХрд┐рд╕реА рдиреЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ, рдорд╛рдореВрд▓реА рд╕реБрдзрд╛рд░ рдФрд░ рдмрд╕ рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд░рд┐рд╣рд╛рдИ рдХреЛ рд░рджреНрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрддреЗ рд╣реИрдВ:


  • Iterative рд╡рд┐рдХрд╛рд╕ред рд░реЗрдбреА-рдореЗрдб рдФрд░ рд╕рд╣рдордд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд░рд┐рд▓реАрдЬрд╝ред
  • рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд╕реНрд╡реАрдХреГрддрд┐ рдХрд╛ рдЕрд▓рдЧ рд╕рдордпред рдЧреНрд░рд╛рд╣рдХ рдХреА рдУрд░ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рддреИрдпрд╛рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рд░рд┐рд▓реАрдЬ рдХреА рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред
  • рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреАрдбрд╝реЗ рдФрд░ рдПрд╕рдПрд▓рдПред рдпрджрд┐ рдЖрдкрдХреЛ рдмрд┐рдХреНрд░реА рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖрддреА рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдирд┐рд░рдВрддрд░ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: "рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреИрд╕реЗ рдХрд░реЗрдВ?"ред
рдЖрдЦрд┐рд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╢рд╛рдЦрд╛рдПрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЕрдВрдд рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдорд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдЫрд╡рд┐


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ "рд╕реБрд╡рд┐рдзрд╛-рд╢рд╛рдЦрд╛рдПрдВ" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЪрд▓реЛ рдЗрд╕рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рджреЗрдЦреЗрдВ, рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓реЗрдВред


рдЫрд╡рд┐


. , , 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 {
    // Should show feature
} else {
    // Should hide feature
}

, , , ┬л ┬╗ .


рдЫрд╡рд┐



тАУ . FeatureToggle. , , , . , , . , , , , .


:


  • FeatureToggle.
  • , , .

:


  • .
  • .
  • .
  • .
  • , .

?


, . , , . тАФ . тАУ , . , . , , .


, :



!


P.S.: . , .


All Articles