
рдХреЛрдИ рднреА рдбреЗрд╡рд▓рдкрд░ рдПрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд▓реЗрдпрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЬрд╛рдирддрд╛ рд╣реИред рдЕрдкрдиреА рд╕рднреА рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдкрдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрддрд░реЛрдВ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреА рдкрд░рддреЗрдВ рдЖрд╡реЗрджрди рдХреЛ рдмрд┐рдЧрд╛рдбрд╝рдиреЗ, рдЖрд╕рд╛рди рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛ рдмрджрд▓ рд╕рдХрддреА рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рд╕реНрдкрд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╕реНрд╡реАрдХреГрдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ-рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХреЛ "рд╕рд┐рд░ рдХреЗ рдКрдкрд░" рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрднрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓реЗрдпрд░ рд╕реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЗрдпрд░ рдкрд░ рд╕реАрдзреЗ рдЬрд╛рдПрдВред рд╣рдо рдпрд╣рд╛рдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдЗрд░рд╛рджреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рддрддреНрдХрд╛рд▓ рд╕реБрдзрд╛рд░ рдЬрд╛рд░реА рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдорд╛рдорд▓рд╛ рдПрдХ рднреАрдбрд╝ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛред рд▓реЗрдХрд┐рди рдзреАрд░реЗ-рдзреАрд░реЗ, рдРрд╕реЗ рдЫреЛрдЯреЗ "рдкрд╛рдкреЛрдВ" рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдмрд╛рд░ рд╕рд╛рдордВрдЬрд╕реНрдпрдкреВрд░реНрдг рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдирдХрд╛рд░ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЖрдк рдлрд┐рд░ рд╕реЗ "рд╕реНрдкреЗрдЧреЗрдЯреА рдХреЛрдб" рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд╛рдПрдВрдЧреЗред рдПрдХ рдмрдбрд╝реА рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдкрд░рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдХреЛрдб рдмреЗрдореЗрд▓ рдХреЗ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 (рдкреНрд░реАрдорд┐рдпрдо рдФрд░ рдЕрд▓реНрдЯреАрдореЗрдЯ рдПрдбрд┐рд╢рди) рдореЗрдВ рдРрд╕реЗ рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдореЗрдВ рд▓реЗрдпрд░реНрдб рдбрд╛рдпрдЧреНрд░рд╛рдореНрд╕ - рд▓реЗрдпрд░ рдбрд╛рдпрдЧреНрд░рд╛рдореНрд╕ рдирд╛рдордХ рдПрдХ рдШрдЯрдХ рд╣реИред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ "рдХреНрдпреВрдмреНрд╕" рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдХрд░рдг рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рд╛рди рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рддреЛрдВ рд╕реЗ рдорд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрд╡реЗрджрди рдХреЛрдб рдореЗрдВ рдХреЙрд▓ рд╣реИрдВ рдЬреЛ рд╕реНрд╡реАрдХреГрдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИрдВред
рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкрд░рдд рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рдд рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рддреНрд░рд┐-рд╕реНрддрд░реАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИред

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

рдЗрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рд▓реЗрдпрд░ рдЖрд░реЗрдЦ рдЬреЛрдбрд╝реЗрдВ (рдирдпрд╛ рдЖрдЗрдЯрдо / рд▓реЗрдпрд░ рдЖрд░реЗрдЦ рдЬреЛрдбрд╝реЗрдВ) рдФрд░ рд╣рдорд╛рд░реА рд▓реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрдирд╛рдПрдВ:

рдЖрдЗрдП рдХреЛрдб рдореЗрдВ рд▓реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдЧрд▓рддреА рдХрд░реЗрдВред DbLayer рдХрд╛ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ UILayer рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ:

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

рдЗрд╕реА рд╕рдордп, рдЗрд╕ рдкрд░рдд рд╕реЗ рдЬреБрдбрд╝реА рдЕрд╕реЗрдВрдмрд▓реА рдХреА рд╕рдВрдЦреНрдпрд╛ рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╕рдорд╛рдзрд╛рди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:

рдЕрдм рд╕рдм рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдмрд╕ рдкрд░рдд рдЖрд░реЗрдЦ рдкрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:

рдПрдХ рдЫреЛрдЯреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдмрд╛рдж, рдЬреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдореЗрдВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреА рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ:

рдФрд░ рдмрд╣реБрдд рдЪреБрдиреМрддреА рд╣реЛрдЧреА рдХрд┐ рд╣рдо рдЬрд╛рдирдмреВрдЭрдХрд░ рдХреЛрдб рд╕реЗ рдмрдиреЗ рд╣реИрдВ, рдЬреЛ рд╕рдорд╛рдзрд╛рди рдХреА рд╡рд░реНрддрдорд╛рди рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддрд╛ рд╣реИ:
рддреНрд░реБрдЯрд┐ 1 AV0001: рдЕрдорд╛рдиреНрдп рдирд┐рд░реНрднрд░рддрд╛: UILayer.MainWindow.CalculateDiscount_Click (рд╡рд┐рдзрд┐) -> DbLayer.Customer.IsHabraUser (рдлрд╝реАрд▓реНрдб)
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рд╣рдорд╛рд░реЗ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдпреВрдЖрдИ рд╕реЗ рдХреЙрд▓ рдХреЛ рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВ), рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕рддреНрдпрд╛рдкрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛:

рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡реАрдХреГрдд рдкрд░рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЛрдб рдореЗрдВ рдкрд░рддреЛрдВ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
MSBuild (рд░реВрд╕реА рдореЗрдВ)
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ TFS рдореЗрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп ред