рд╕реБрдмрд╣ 7:15 рдмрдЬреЗред рд╣рдорд╛рд░реЗ рддрдХрдиреАрдХреА рд╕рдорд░реНрдерди рдХрд╛рдо рдХреЗ рд╕рд╛рде рдмрд╛рдврд╝ рд╣реИред рдЧреБрдб рдореЙрд░реНрдирд┐рдВрдЧ рдЕрдореЗрд░рд┐рдХрд╛ рдиреЗ рдЕрднреА-рдЕрднреА рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рд╣реИ рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдмрд╣реБрддреЛрдВ рдиреЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд╕рд▓реА рднреАрдбрд╝ рд╣реИред рд╣рдо, рдЕрднреА, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рд╕рдВрд╕рд╛рдзрди рдХреЗ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЛ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЦреЛ рджреЗрдВ, рдареАрдХ рдкреИрдХ рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдХреБрдЫ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ред рд╡рд╣ рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрднреА рддрдХ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рдХрдВрдкрдиреА рдХреА рдЪреИрдЯ рдореЗрдВ, рдФрд░ рд╣рдо рд╕рднреА рд╕реЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
рд╣рдорд╛рд░реЗ рд╡реАрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХреЗ рдмрд╛рдж рдЕрдкрдбреЗрдЯ рд▓рдбрд╝рд╛рдИ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЪрд╛рдирдХ, рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЛрдЧреБрдиреА рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╣рдорд╛рд░реЗ рддрддреНрдХрд╛рд▓ рд╕реБрдзрд╛рд░ рдиреЗ рдХреБрдЫ рддреЛрдбрд╝ рджрд┐рдпрд╛, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рджреЛрд╖ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛, рдФрд░ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдиреЗ рдЙрд╕ рд╕рдордп рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдиреА рдкрд┐рдЫрд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓реЗ рд▓рд┐рдпрд╛ред

рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдЯреАрдбреАрдбреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред
рдореИрдВ TDD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?
рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реВрдВред рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм рдХрдИ рд╡рд░реНрд╖реЛрдВ рддрдХ, рд╣рд░ рдЯреАрдо рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛, рдЯреАрдбреАрдбреА рдкрджреНрдзрддрд┐ рд▓рд╛рдЧреВ рдХреА рдЧрдИред рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрднреА рднреА рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдЬреЛ "рджрд╕реНрддрдХ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рдЧрднрдЧ рд╢реВрдиреНрдп рд╣реЛ рдЧрдИ рд╣реИ, рднрд▓реЗ рд╣реА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ рдХреА рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдЕрджреНрдпрддрди рдХреЗ рджреМрд░рд╛рди рд╣рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдЬрдм рдХреБрдЫ рдРрд╕рд╛ рд╣реБрдЖ рдЬрд┐рд╕рдХреА рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╛рдд рдХреА рдереАред
рдЬрдм рдХреЛрдИ рдореБрдЭрд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдЯреАрдбреАрдбреА рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореИрдВрдиреЗ рдЙрд╕реЗ рдпрд╣ рдХрд╣рд╛рдиреА рд╕реБрдирд╛рдИ, рдФрд░ рдореИрдВ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреЛ рдореИрдВрдиреЗ TDD рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЛрдб рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ
рдХреЗ рдХрд╡рд░реЗрдЬ рдореЗрдВ
рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИ , рдЬрд┐рд╕рд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ
40-80% рдХрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЯреАрдбреАрдбреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХрдВрдзреЛрдВ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрд╣рд╛рдбрд╝ рдЫреАрди рд▓реЗрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ TDD рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдбрд░ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореИрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реВрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЙрдбреНрдпреВрд▓ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕реЗрдЯ рд▓рдЧрднрдЧ рджреИрдирд┐рдХ рдХреЛрдб рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХрд╛рдо рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдореИрдВ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдХрд┐рдП рдЧрдП 10 рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдкрдбреЗрдЯ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЯреАрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдбрд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдХреБрдЫ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпреЗ рд╕рднреА рдЕрдкрдбреЗрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдб рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛ рдЧрдП рдереЗ, рдФрд░ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛, рдФрд░ рдЗрд╕ рдмрд╛рдд рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХреА рдХрд┐ рд╡реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдмреБрд░рд╛ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рдереАред рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЧрд┐рдЯрд╣рдм рдЦреЛрд▓рд╛, рд╣рд╛рд▓ рдХреЗ рд╡рд┐рд▓рдп рдХреЛ рджреЗрдЦрд╛, рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рдкрд╣рд▓реЗ рдЬреЛ рдХрд╛рд░реНрдп рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╛, рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдЕрдм рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рдЖрдк рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреЗ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреЗ рдмрд┐рдирд╛ рднреА рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
TDD рдХреНрдпрд╛ рд╣реИ?
TDD рдХрд╛ рдорддрд▓рдм рдЯреЗрд╕реНрдЯ рдбреНрд░рд┐рд╡реЗрди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
рдкрд░реАрдХреНрд╖рдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдкрд░реАрдХреНрд╖рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИрдЯреАрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:
- рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рд╕реНрд╡рдпрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИред
- рд╡реЗ рдЕрд╡рд╕рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрддреНрддреАрд░реНрдг рд╣реЛред
- рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдХреЛрдб рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░реЗрдВред рдкреБрдирд░реНрд╕рдВрд░рдЪрдирд╛, рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдпрд╛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред
TDD рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдорддрд▓рдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдм рдХреБрдЫ рдмрд╕ рдЗрддрдирд╛ рд╣реА рдерд╛, рдФрд░ рдореИрдВрдиреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдХреИрд╕реЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЙрд╕ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдЯреАрдбреАрдбреА рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реАрдЦрдиреЗ рдХреА рдЕрд╡рд╕реНрдерд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдФрд░ рдЬрдмрдХрд┐ рдПрдХ рд╢реБрд░реБрдЖрдд рдЗрд╕ рд╡рдХреНрд░ рдкрд░ рдЪрдврд╝рддреА рд╣реИ, рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдордп
15-35% рддрдХ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЯреАрдбреАрдбреА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓ рдмрд╛рдж, рдХреБрдЫ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЯреАрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП, рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдПрдХ рд╡реАрдбрд┐рдпреЛ рдХреНрд▓рд┐рдк рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛ред рдЕрд░реНрдерд╛рддреН, рдореБрджреНрджрд╛ рдпрд╣ рдерд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЬреЛ рдХреНрд▓рд┐рдк рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рдкреВрд░реЗ рдХреНрд▓рд┐рдк рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдореИрдВрдиреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рдФрд░ рдЗрд╕реЗ рдЦреЗрд▓рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдерд╛ред
рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрдиреБрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдереАред рдореЗрд░рд╛ рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
video.addEventListener('timeupdate', () => { if (video.currentTime >= clip.stopTime) { video.pause(); } });
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ: рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛, рд╕рдВрдХрд▓рди рдХрд░рдирд╛, рд░рд┐рдмреВрдЯ рдХрд░рдирд╛, рдХреНрд▓рд┐рдХ рдХрд░рдирд╛, рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ ... рдЗрд╕ рдХреНрд░рдо рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЦрд░реНрдЪ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрд╛, рдФрд░ рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ (рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ 2-3 рдмрд╛рд░)ред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ
timeupdate
рдХреАрд╡рд░реНрдб рдореЗрдВ рдХреЛрдИ рдЧрд▓рддреА рдХреА рд╣реЛ? рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдареАрдХ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрдИрдВ? рдХреНрдпрд╛ рд╡реАрдбрд┐рдпреЛред
video.pause()
рдХреЙрд▓
video.pause()
? рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛,
console.log()
рдЬреЛрдбрд╝рд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╡рд╛рдкрд╕ рдЧрдпрд╛,
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛, рдЪрдпрдирд┐рдд рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реНрдерд┐рдд рд╕реНрдерд┐рддрд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд▓рд┐рдк рдХреЗ рдЦреЗрд▓рдиреЗ рддрдХ рдзреИрд░реНрдпрдкреВрд░реНрд╡рдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреАред
if
рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЕрдВрджрд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖред рдпрд╣ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реБрд░рд╛рдЧ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ API рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рд╕рдордп-рд╕рдордп рдкрд░ рд╢рдмреНрдж рдХреЙрдкреА рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп рдореИрдВрдиреЗ рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВ рдХреА рд╣реИред рдореИрдВ рдкреГрд╖реНрда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ, рдлрд┐рд░ рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдлрд┐рд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЕрдВрдд рдореЗрдВ
if
. рдмреНрд▓реЙрдХ рдХреЗ рдмрд╛рд╣рд░
console.log()
рд╣реВрдВред "рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛," рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред рдЕрдВрдд рдореЗрдВ,
if
рдЗрддрдирд╛ рд╕рд░рд▓ рдерд╛ рдХрд┐ рдореБрдЭреЗ рдХреЛрдИ рдЕрдВрджрд╛рдЬрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдХреЙрдлрд╝реА рдкреАред "рд╡рд╣ рдХреНрдпрд╛ рд╣реИ?" рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред
рдорд░реНрдлреА рдХрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛рдиреВрдиред рдЙрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдЬрдЧрд╣ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдХрднреА рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╛рдирддреЗ рдереЗ рдХрд┐ рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдареАрдХ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдирд┐рдХрд▓реЗрдЧрд╛, рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рддреНрд░реБрдЯрд┐ рдкрд╛рдПрдВрдЧреЗ, рдкреВрд░реА рддрд░рд╣ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕ рд╕реНрдерд╛рди рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВрдЧреЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╡рд╣ рд╕рдм рдХреБрдЫ рдЖрдЬрдорд╛ рд▓рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реЗ рд╕реЛрдЪ рд╕рдХрддреЗ рдереЗред
рдореИрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ
clip.stopTime
рдХрд╛ рдЕрд░реНрде
clip.stopTime
ред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдпрд╣
undefined
рдерд╛ред рдХреНрдпреЛрдВ? рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдВрддрд┐рдо рд╕рдордп рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд╣реА рд╕реНрдерд╛рди рдкрд░ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдВрдд рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрд░ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
clip.stopTime
рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред "рдореИрдВ рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмреЗрд╡рдХреВрдл рд╣реВрдБ," рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, "рдореБрдЭреЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЗ рдЕрдВрдд рддрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред"
рдореИрдВ рдЗрд╕ рдФрд░ рд╡рд░реНрд╖реЛрдВ рдмрд╛рдж рдирд╣реАрдВ рднреВрд▓реАред рдФрд░ рд╕рднреА - рдЙрд╕ рдЕрдиреБрднреВрддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдореИрдВрдиреЗ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛, рдЕрднреА рднреА рдПрдХ рдЧрд▓рддреА рдвреВрдВрдв рд░рд╣рд╛ рд╣реИред рддреБрдореНрд╣реЗрдВ рд╢рд╛рдпрдж рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рд╣реБрдЖред рдФрд░, рд╢рд╛рдпрдж, рд╣рд░ рдХреЛрдИ рдЗрд╕ рдореЗрдо рдореЗрдВ рдЦреБрдж рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
рдЬрдм рдореИрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИрдЕрдЧрд░ рдореИрдВрдиреЗ рдЖрдЬ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд▓рд┐рдЦрд╛, рддреЛ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛:
describe('clipReducer/setClipStopTime', async assert => { const stopTime = 5; const clipState = { startTime: 2, stopTime: Infinity }; assert({ given: 'clip stop time', should: 'set clip stop time in state', actual: clipReducer(clipState, setClipStopTime(stopTime)), expected: { ...clipState, stopTime } }); });
рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рд╣реИ:
clip.stopTime = video.currentTime
рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рдмрд╛рдд рд╣реИред рдпрд╣ рдХреЛрдб рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рдкреНрд░рдорд╛рдг рджреЛрдиреЛрдВ рд╣реИ рдХрд┐ рдХреЛрдб рдЗрд╕ рдкреНрд░рд▓реЗрдЦрди рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░, рдЪреВрдВрдХрд┐ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореМрдЬреВрдж рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдВрддрд┐рдо рд╕рдордп рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рджреМрд░рд╛рди рдореИрдВрдиреЗ рдХреНрд▓рд┐рдк рдХреЗ рдЕрдВрддрд┐рдо рд╕рдордп рдХреЗ рд╕рд╛рде рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдпрд╛ рдерд╛ред
рдпрд╣рд╛рдБ , рд╡реИрд╕реЗ, рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдЕрднреА рджреЗрдЦрд╛ рдерд╛ред
рдмрд┐рдВрджреБ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрдиреЗ рдкрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдб рдЧрд▓рдд рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЧрд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдпрд╛ рддреЛ
setClipStopTime()
, рдпрд╛
clipReducer()
, рдЬрд╣рд╛рдВ рдПрдХ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдб рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рдФрд░, рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдореЗрд░реЗ рд╕рд╣рдХрд░реНрдореА рдХреЛ рдПрдХ рд╣реА рдЬреНрдЮрд╛рди рд╣реЛрдЧрд╛, рдЬреЛ рдореИрдВрдиреЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рдЫрд╣ рдорд╣реАрдиреЗ рдмрд╛рдж, рдЗрд╕рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░реЗрдЧрд╛ред
рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ, рдкрд╣рд▓реА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ
рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓ рдмрджрд▓рдиреЗ рдкрд░ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИред рдореИрдВ рдЕрдХреНрд╕рд░ рджреЛ рдореЙрдирд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд░, рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдХрдВрд╕реЛрд▓ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдкрд░, рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдореИрдВ рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ 3 рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрджрд▓рд╛рд╡ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдореЗрд░реЗ рд▓рд┐рдП, TDD рдХреЗрд╡рд▓ рдмреАрдорд╛ рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ, рдореЗрд░реЗ рдХреЛрдб рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдкрд╛рд░рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд╡рд░рд┐рдд рдЗрдирд╛рдо, рдпрд╛ рдЙрд╕ рдШрдЯрдирд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рддреНрд╡рд░рд┐рдд рд░рд┐рдкреЛрд░реНрдЯ рдЬреЛ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ред
TDD рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдиреЗ рдореБрдЭреЗ рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕рд┐рдЦрд╛рдпрд╛?
рдореИрдВ рдПрдХ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рднреА рд╢рд░реНрдордирд╛рдХ рд╣реИ: рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЯреАрдбреАрдбреА рдФрд░ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд╕реАрдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдХреИрд╕реЗ рдХрд╛рдо рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрдИ рд╕реИрдХрдбрд╝реЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реЗ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВред TDD рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдиреЗ рдореБрдЭреЗ рд▓рдЧрднрдЧ рд╕рднреА рдЪреАрдЬреЗрдВ рд╕рд┐рдЦрд╛рдИ рд╣реИрдВ рдЬреЛ рдореИрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдХреБрд╢рд▓ рдЕрдкрдШрдЯрди рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ (рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓, рдлрд╝рдВрдХреНрд╢рди, рдСрдмреНрдЬреЗрдХреНрдЯ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШрдЯрдХ, рдЖрджрд┐)ред
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдФрд░ I / O рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдШрдЯрдХреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдХреБрдЫ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд, рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╡рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрд╛рдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рд░рд╛рдЬреНрдп рдХреЗ рддрд░реНрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреБрдЫ рднреА рд╕рд╣реЗрдЬреЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЧрдарди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдпрд╛ рдПрдХреНрд╕реЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, TDD рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдиреЗ рдореБрдЭреЗ рд╕рд┐рдЦрд╛рдпрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдШрдЯрдХреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдк рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдФрд░ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЛ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдШрдЯрдХ-рдЖрдзрд╛рд░рд┐рдд рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐
рд░рд┐рдПрдХреНрдЯ рдпрд╛ рдХреЛрдгреАрдп, рдкреНрд░рд╕реНрддреБрддрд┐ рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ рдФрд░ рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВред рдорд┐рд╢реНрд░рд┐рдд рд╣реИрдВред
рдПрдХ рдкреНрд░рд╕реНрддреБрддрд┐ рдШрдЯрдХ рдЬреЛ рдХреБрдЫ рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдШрдЯрдХ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рд╕рд╢рд░реНрдд рддрд░реНрдХ рд╕рд╣реА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдирдпрд╛ рддрддреНрд╡ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдордВрддреНрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рд╕реВрдЪреА рдЦрд╛рд▓реА рд╣реИред
рдореБрдЭреЗ TDD рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдкреГрдердХреНрдХрд░рдг рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЛ рдХреИрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдиреЗ рдореБрдЭреЗ рдХреБрдЫ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдФрд░ рдлрд┐рд░ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореЛрдХрд┐рдВрдЧ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐
рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдЪреМрдВрдХрд╛ рджрд┐рдпрд╛ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ред
рд╕рднреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдПрдХ рд░рдЪрдирд╛ рд╣реИ: рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрдИ рдЫреЛрдЯреА, рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрдХреНрд╕рд┐рдВрдЧ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд░рдЪрдирд╛ рдХреА рдкрд░рдорд╛рдгреБ рдЗрдХрд╛рдЗрдпрд╛рдБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рдорд╛рдгреБ рдирд╣реАрдВ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдореЛрдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдордЬрдмреВрдд рдЬреБрдбрд╝рд╛рд╡ рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрдЦреНрдп рдЫрд┐рдкреЗ рд╣реБрдП рдХрд╛рд░рдгреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реАред
рдЗрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд░рд▓ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕рд┐рдЦрд╛рдпрд╛ рдЬреЛ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░, рд░рдЦрд░рдЦрд╛рд╡, рд╕реНрдХреЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЛрдб рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХреНрд▓рд╛рдЙрдб рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЬреИрд╕реА рдмрдбрд╝реА рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдПред
TDD рдЯреАрдо рд╕рдордп рдХреИрд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ?
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рд╣реИ рдХрд┐ TDD, рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде
рдмреЗрд╣рддрд░ рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХреЛрдб рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╣рдо рдЕрд╡рд╕рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╣рдо рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╣реА рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдкрдХреЛ рдПрдХ "рдмрд╛рдбрд╝" рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЗрд╡рд▓ рдмрд╣реБрдд рдХрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ "рдХреВрдж" рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдкреВрд░реЗ рд╡рд┐рдХрд╛рд╕ рджрд▓ рдкрд░ рдЕрджреНрднреБрдд рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдорд░реНрдЬ рдЯреАрдо рдХреЗ рдбрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛рддрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдЯреАрдо рдХреЛ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдПрдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред
рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдбрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╢реАрди рдХреЗ рдзреБрдВрдзрд▓рд╛ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╢реАрди рдЕрдВрддрддрдГ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреА - рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЪрд┐рдХрдирд╛рдИ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рди рд╣реЛ рдЬрд╛рдПред
рдЗрд╕ рдбрд░ рдХреЗ рдмрд┐рдирд╛, рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╢рд╛рдВрдд рд╣реИред рдЕрдВрддрд┐рдо рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рд╕рдордп рддрдХ рд░реЛрдХрдиреЗ рдореЗрдВ рджреЗрд░реА рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред CI / CD рд╕рд┐рд╕реНрдЯрдо рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐ рд╡реЗ рдХрд╣рд╛рдВ рд╣реБрдП рд╣реИрдВ, рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рдпрд╣ рдкреВрд░реА рдмрд╛рдд рд╣реИред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЯреАрдбреАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
