рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рдФрд░ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП: рд╕рд╣реА рдПрдХреАрдХрд░рдг


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


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


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


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


рдореЗрд░реА рдХрдВрдкрдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж

рдЪреВрдВрдХрд┐ рдореЗрд░рд╛ рд▓реЗрдЦ рдПрдирдкреАрдУ рдХреНрд░рд┐рд╕реНрдЯрд╛ рдХреЗ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдмреНрд▓реЙрдЧ рдореЗрдВ рдкрд╣рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рд▓рд┐рдЦреВрдВрдЧрд╛ред


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


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


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



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


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


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


рдЖрдЗрдП рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рдХреНрд░рдо рдореЗрдВ рдирд┐рдкрдЯреЗрдВред


рд╕реЛрдирд╛рд░рд▓рд┐рдВрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдпрд╣рд╛рдВ рдХреЛрдИ рдЪрд╛рд▓ рдирд╣реАрдВ рд╣реИред рд╣рдо IDEA рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ Plugins рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╣рдо рд╕реЛрдирд╛рд░рд▓рд┐рдВрдЯ рдкреНрд▓рдЧрдЗрди рдЦреЛрдЬрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред



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








рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдирдпрд╛ рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж Update binding рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ рддрд╛рдХрд┐ рдкреНрд▓рдЧрдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░реЗред рдЬрдм рднреА рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдмрджрд▓реЗрдЧрд╛ (рдЬреЛрдбрд╝реЗ рдЧрдП / рд╣рдЯрд╛рдП рдЧрдП рдирд┐рд░реАрдХреНрд╖рдгреЛрдВ, рдЙрдирдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рд╛ рдЧрдпрд╛) рдЗрд╕ рдмрдЯрди рдХреЛ рджрдмрд╛рдирд╛ рд╣реЛрдЧрд╛ред


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


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


рд╕реЛрдирд╛рд░рд▓рд┐рдВрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЪрд┐рддреНрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ):



рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ

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


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, IntelliJ IDEA (2019.2) рдХреА рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛:



рдпрд╣ рдмрд╣реБрдд рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реИ ... рдФрд░ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрд╛ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рд╣реИред


рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдлрдПрдХреНрдпреВ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ IDEA рдореЗрдВ рд╕реЛрдирд╛рд░рд▓рд┐рдВрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдЖрдк рддреНрд░реБрдЯрд┐ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:



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



рдЕрд╣рд╛! рдЕрдм рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреА, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ред


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


рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдкреНрд░рд┐рдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм 7.2 рдХреЗ рдмрд╛рдж рд╕реЗ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рднреБрдЧрддрд╛рди рд╣реЛ рдЧрдИ рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЕрднреА рднреА рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред рдФрд░ рдЬрд╛рд╡рд╛ 11 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм 7.3 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдПрдХ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп рд╕реЛрдирд╛рд░рд▓рд┐рдВрдЯ рдкреНрд▓рдЧрдЗрди, рдЬреЗрдЖрд░рдИ рдЗрдВрдЯреЗрд▓реАрдЬреЗ рдЖрдИрдбрд┐рдпрд╛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреА рдорджрдж рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬрдмрдХрд┐ IDEA рдиреЗ рдЬрд╛рд╡рд╛ 8 рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдЙрд╕рдиреЗ 2019.2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬрд╛рд╡рд╛ 11 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рд╡рд╛ 11 рдмрд╛рдпрдЯреЗрдХреЛрдб ( рдХрдХреНрд╖рд╛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг 55 ) рдореЗрдВ рд╕рдВрдХрд▓рди рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЯреА рдпрд╛рдиреА рдЗрд╕ рдмрд╛рдпреЛрдЯреЗрдХ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдФрд░ рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рдореБрджреНрджрд╛ рд╣реИ ред


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


рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реЗрдЯрд┐рдВрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛


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


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



рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда рдкрд░, рдПрдХ рдЦрдВрдб рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:



FindBugs рдФрд░ PMD рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ XML рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╕реНрдХ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди CheckStyle рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рд╕рд╛рдЗрдЯ рд╕реЗ URL рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


CheckStyle рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


IDEA рдореЗрдВ, рдкреНрд▓рдЧрдЗрди рдХреЛ CheckStyle-IDEA рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдпрд╣ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛-рдореБрдХреНрдд рдкреНрд▓рдЧрдЗрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ URL рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕реЛрдирд╛рд░рд▓рд┐рдВрдЯ рдЬреИрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, IDEA рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ CheckStyle рд╕реЗрдХреНрд╢рди рдЪреБрдиреЗрдВред рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ Configuration File рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ:



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд┐рдВрдбреЛ рдЯреЗрдмрд▓ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред


рдпрд╣реА рд╣реИ, рдЕрдм рдЖрдк CheckStyle рд╡рд┐рдВрдбреЛ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдКрдкрд░реА рдЪрдпрдирд┐рдд рдмрдЯрди) рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рдпрджрд┐ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдмрджрд▓ рдЧрдИ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЙрд╕реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЯрди (рдиреАрдЪреЗ рдЪрд┐рд╣реНрдирд┐рдд рдмрдЯрди) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ

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


FindBugs рдХреА рд╕реНрдерд╛рдкрдирд╛


IDEA рдореЗрдВ, рдкреНрд▓рдЧрдЗрди FindBugs-IDEA рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реАрдзреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, IDEA рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ FindBugs-IDEA рд╕реЗрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЕрдЧрд▓рд╛, Filter рдЯреИрдм рдкрд░, Include filter files рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ Include filter files рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ:



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



рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ 1: рдкреНрд▓рдЧрдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдПрдХ Share рдЯреИрдм рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред рдореИрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЧреИрд░-рддреБрдЪреНрдЫ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕рд┐рд░реНрдл рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реБрдЖред рдкреНрд▓рдЧрдЗрди рдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХрд╛рдо рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ .idea/findbugs-idea.xml рдХреЛ рд╣рдЯрд╛рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред


рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ 2: рдпрджрд┐ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓ рдЧрдИ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдбрд┐рд╕реНрдХ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


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


PMD рд╕реЗрдЯрдЕрдк


IDEA рдореЗрдВ, рдкреНрд▓рдЧрдЗрди рдХреЛ PMDPlugin рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред FindBugs рдХреЗ рд╕рдорд╛рди, рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, IDEA рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ:



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


рдкрдбрд╝реЛрд╕реА рдпреЛрдЧрджрд╛рди рдореЗрдВ рднреА, рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдареАрдХ рд╣реИ, рдЙрд╕реА рд╕рдордп рдПрдиреНрдХреЛрдбрд┐рдВрдЧ):



рдЕрдм рдЖрдк рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 Run PMD->Custom Rules-><  > 

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


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


рдирд┐рд╖реНрдХрд░реНрд╖


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


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рдХрд┐рд╕реА рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реЛрдирд╛рд░рдХреНрдпреВрдм рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛрдЧреАред


рдореИрдВ рдЕрдкрдиреЗ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЛ рднреА рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдЗрд╕ рд▓реЗрдЦ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЛ рд▓рд┐рдЦрдиреЗ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА: рджрд┐рдорд┐рддреНрд░реА рдЬрд╝рд┐рдорд┐рдЪрд╡, рдпреВрд░реА рдХреНрд░реБрдкрд┐рди рдФрд░ рдЕрд░реНрдпреЛрдо рдЧрдиреЗрд╡ред

Source: https://habr.com/ru/post/hi469963/


All Articles