рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг - рдкрд░рд┐рдЪрдп рд╕реЗ рдПрдХреАрдХрд░рдг рддрдХ

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

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

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

рдпрджрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝реЗрдВрдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдПред

рдЖрдкрдХреЛ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рддреНрд╡рд░рдг рдФрд░ рд╕рд░рд▓реАрдХрд░рдгред

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

auto x = obj.x;
auto y = obj.y;
auto z = obj.z;

рдЖрдкрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ:

auto x = obj.x;
auto y = obj.y;
auto z = obj.x;

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ:

V537 'y' рдЖрдЗрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдк рдЗрд╕ рддреНрд░реБрдЯрд┐ рдкрд░ рдЕрдкрдирд╛ рд╣рд╛рде рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдПрдХ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдг рдЖрдЬрд╝рдорд╛рдПрдВ: *рдХреНрд▓рд┐рдХ*.

рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ, рдХреЛрдб рдХреЗ рдРрд╕реЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдкрд░ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЖрдк рдПрдХ рдШрдВрдЯреЗ рддрдХ рдбреАрдмрдЧрд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП рдмреИрда рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реБрдП рдХрд┐ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЕрдЬреАрдм рддрд░реАрдХреЗ рд╕реЗ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЧрд▓рддреА рд╣реИред рдпрджрд┐ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдЙрдк-рдЗрд╖реНрдЯрддрдо рдХреЛрдб рдЗрд╕рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рднрд╛рд╖рд╛ рдХреА рдХреБрдЫ рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдБ рднреВрд▓ рдЧрдпрд╛ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рднреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдРрд╕реЗ рдорд╛рдорд▓реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрдкреЛ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИред

рдЗрдиреНрд╣реАрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рд╛рдпрдХ рд╣реИ рдЬреЛ рдХреЛрдб рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рдордЭрд╛рдПрдЧрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: *рдХреНрд▓рд┐рдХ*.

рдЖрдк рдФрд░ рднреА рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдкрд╣рдЪрд╛рди рд╕рдХрддрд╛ рд╣реИ:

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдкрдврд╝ рд▓реА рд╣реИ рдФрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд╛рднреЛрдВ рд╕реЗ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛ рдЧрдП рд╣реИрдВ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣реЗрдВред рд▓реЗрдХрд┐рди рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ? рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЯреВрд▓ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ? рдФрд░ рдЙрдирд╕реЗ рдЯреАрдо рдХрд╛ рдкрд░рд┐рдЪрдп рдХреИрд╕реЗ рдХрд░рд╛рдпрд╛ рдЬрд╛рдП? рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдЖрдкрдХреЛ рдиреАрдЪреЗ рдорд┐рд▓реЗрдВрдЧреЗред

рдзреНрдпрд╛рди рджреЗрдВред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдЬреИрд╕реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬрд╝ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдпрд╛ рд░рджреНрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдЯрд╛рдЗрдкреЛ, рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ рдФрд░ рдЦрддрд░рдирд╛рдХ рдбрд┐рдЬрд╝рд╛рдЗрдиреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдиреЛрдЯрд┐рд╕ рдХрд░рдиреЗ рдФрд░ рд╕рд╣реА рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рдЧрд╝рд▓рдд рдХреЛрд╖реНрдардХ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдХреЛрдб рд╕реНрдкрд╖реНрдЯрддрд╛ рдкрд░ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реИ рдЙрдмрд╛рдК рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдкрдврд╝реЗрдВ.

0. рдЯреВрд▓ рдХреЛ рдЬрд╛рдирдирд╛

рдпрд╣ рд╕рдм рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХрднреА рдЙрдкрдХрд░рдг рдХреЛ рд▓рд╛рдЗрд╡ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рддреЛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдХрдард┐рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдЖрдкрдХреЛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдбрд╛рдЙрдирд▓реЛрдб рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг.

рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЖрдк рдХреНрдпрд╛ рд╕реАрдЦреЗрдВрдЧреЗ:

  • рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреНрдпрд╛ рд╣реИрдВ;
  • рдХреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ?
  • рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ?

рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬрд╝ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (Windows, Linux, macOS). рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддрд╕реНрд╡реАрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА (рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп):

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

рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг - рдкрд░рд┐рдЪрдп рд╕реЗ рдПрдХреАрдХрд░рдг рддрдХ
рджрд░рдЕрд╕рд▓, рдХрдИ рд╣рдЬрд╝рд╛рд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 178 рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рджреЗрдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ...

рдЯреИрдм рдореЗрдВ рдордзреНрдпрдо ╨╕ рдирд┐рдореНрди рдЕрдХреНрд╕рд░ рдЕрдЪреНрдЫреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡реЗ рдирд┐рджрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╕рдЯреАрдХрддрд╛ (рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛) рдХрдо рд╣реЛрддреА рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рд╕реНрддрд░ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ: *рдХреНрд▓рд┐рдХ*.

рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ (рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдареАрдХ рдХрд░рдирд╛) рд╕рд╛рд░реНрдердХ рд╣реИ рд╢реЗрд╖ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдПрдБ. рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдирдИ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдкреБрд░рд╛рдиреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд▓реБрдкреНрдд рди рд╣реЛ рдЬрд╛рдПрдБред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рд╛рдпрдХ рд╣реИ, рди рдХрд┐ рдмрдЧ рдХреА рд╕реВрдЪреАред ЁЯЩВ

1. рд╕реНрд╡рдЪрд╛рд▓рди

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

рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЖрдк рдХреНрдпрд╛ рд╕реАрдЦреЗрдВрдЧреЗ:

  • рдЙрдкрдХрд░рдг рдХреМрди рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рди рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ;
  • рдХреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЖрдкрдХреЗ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ?

рдЪреВрдБрдХрд┐ рд╕рд╣реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рд╕рдорд░реНрдерди. рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдФрд░ рд╣рдо рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрди рд╣реИрдВред ЁЯЩВ

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

рд╕реАрдЖрдИ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рддреАрди рдХрд╛рдо рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:

  • рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
  • рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛рдПрдБ;
  • рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд░реЗрдВ.

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ (рдбреЗрдмрд┐рдпрди-рдмреЗрд╕) рдкрд░ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

wget -q -O - https://files.viva64.com/etc/pubkey.txt 
    | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/viva64.list 
  https://files.viva64.com/etc/viva64.list
  
sudo apt-get update -qq
sudo apt-get install -qq pvs-studio

рд╡рд┐рдВрдбреЛрдЬрд╝ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:

PVS-Studio_setup.exe /verysilent /suppressmsgboxes 
/norestart /nocloseapplications

рдЖрдк рд╡рд┐рдВрдбреЛрдЬрд╝ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ *рдпрд╣рд╛рдВ*.

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

рдЪреВрдБрдХрд┐ рд▓реЙрдиреНрдЪ рд╡рд┐рдзрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ C++ (рд▓рд┐рдирдХреНрд╕) рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдКрдВрдЧрд╛:

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log
plog-converter -t errorfile PVS-Studio.log --cerr -w

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

рдзреНрдпрд╛рди рджреЗрдВред рдкрд╛рда рд╕реНрд╡рд░реВрдк рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ. рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рд░реВрдк рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - FullHtmlред рдпрд╣ рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЖрдк рд▓реЗрдЦ рдореЗрдВ рд╕реАрдЖрдИ рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ "рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рд╕рддрдд рдПрдХреАрдХрд░рдг" (рд╡рд┐рдВрдбреЛрдЬрд╝) рдпрд╛ "рдЯреНрд░реИрд╡рд┐рд╕ рд╕реАрдЖрдИ рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ(рд▓рд┐рдирдХреНрд╕)ред

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕реАрдЖрдИ рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд▓реЙрдиреНрдЪ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рдЗрдиреНрд╣реЗрдВ рдЖрдорддреМрд░ рдкрд░ git рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдкреВрдЫрдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list

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

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log 
                            -S .pvs-pr.list

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

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

рдпрд╣ рд╕рдм рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛ред рди рдХреЗрд╡рд▓ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реЗ, рдмрд▓реНрдХрд┐ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реЗ рднреАред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдкрд╛рд╕ рд╣реИ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди.

2. рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХреАрдХрд░рдг

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

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

рдлрд┐рд░ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╡рд┐рдЪрд╛рд░, рд╕рд╡рд╛рд░ рдЗрддреНрдпрд╛рджрд┐

3. рджреИрдирд┐рдХ рдЙрдкрдпреЛрдЧ

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

рдпрджрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмрджрд▓реЗ рдЧрдП рдХреЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрдкрдХреЛ рдЕрд▓рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛:

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

рдРрд╕реЗ рд▓реЗрдЦ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓реЗрддреЗ рд╣реИрдВред ЁЯЩВ

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЯреВрд▓ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди рдХрдИ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджрдмрд╛ рджрд┐рдпрд╛ рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкрд░рд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдордп-рд╕рдордп рдкрд░ рд╡реЗ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛рдПрдБ рджреЗрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рджрдмрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

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

рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рдж

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

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

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

рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг - рдкрд░рд┐рдЪрдп рд╕реЗ рдПрдХреАрдХрд░рдг рддрдХ

рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖реА рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдореИрдХреНрд╕рд┐рдо рдЬрд╝рд┐рд╡рд╛рдЧрд┐рдиреНрддреНрд╕реЗрд╡ред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг: рдЖрд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдПрдХреАрдХрд░рдг рддрдХ.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ