
рдХрднреА-рдХрднреА рд▓реЛрдЧ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рд╖рдп рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдФрд░ рдмрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╕рдХреНрд╖рдо рд░реВрдк рд╕реЗ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди рдореЗрдВ рдЖрдзрд╛ рдЙрддреНрддрд░ рд╣реЛрддрд╛ рд╣реИред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВ
JPoint рд╕рдореНрдореЗрд▓рди рд╕реЗ рд▓реМрдЯрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рд╣рдордиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдирдпрд╛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдерд╛ред рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд░реБрдЪрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рджрд░реНрд╢рдХреЛрдВ рдиреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рдЙрддреНрд╕рд╛рд╣рдкреВрд░реНрд╡рдХ рдорд╛рдирд╛ рд╣реИред рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЖрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдерд╛ред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд╕реБрдЭрд╛рд╡ рдкрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЖрдкрддреНрддрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реИ: "рдЪрд▓реЛ, рд╣рдо рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рдХреЛрд╢рд┐рд╢ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ? рд╣рдо IntelliJ IDEA, ReSharper, SonarLint рдФрд░ SonarQube рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ PVS-Studio рдЪрд▓рд╛рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдкрд╛рдИ рдЧрдИ рд╣реИрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА IntelliJ IDEA рджреНрд╡рд╛рд░рд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ! тАЭ
рдореИрдВ рдЕрднреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрддреНрддрд░ рд▓рд┐рдЦреЗрдВред рдЗрд╕ рдЖрдкрддреНрддрд┐ рдкрд░ рдореЗрд░реА рднреА рджреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд╣реИрдВред рдФрд░ рд╣рд╛рдБ, рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ ReSharper рдХреЛ рдмрддрд╛рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ C # рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд▓рд┐рдП рднреА рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВред рдЦреИрд░, рдпрд╣рд╛рдБ рдЬрд╡рд╛рдм рдЖрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХреА рдирдХрд▓ рдХрд░рдХреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред рдмрд┐рдВрджреБ рдХреЛ рд╕рдордЭреЗ рдмрд┐рдирд╛ рдмреНрд▓рд╛рдЗрдВрдб рдХреЙрдкреА рдХрд░рдирд╛ рдХрд╣реАрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдореВрд▓реНрдп, рдЗрд╕рдХреЗ рдирд┐рджрд╛рди рдХрд╛ рдореВрд▓реНрдп рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдХреЗ рд▓рд┐рдП 10, 20 рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЕрдкрд╡рд╛рдж рд╣реИрдВ рдЬрдм рдЗрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдЕрдиреНрдп рдЙрддреНрдкрд╛рджреЛрдВ рд╕реЗ рдирд┐рджрд╛рди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреЛрдЯреЛ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рди рднрд╡рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдпрджрд┐ "рджреЗрд╡рддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ" рддреЛ рдЖрдк рдЙрд╕реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХреЛрд▓рд┐рдЬрд╝реАрдпрдо рдХреА рддрд╕реНрд╡реАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ?
рдЗрд╕рд▓рд┐рдП рд╣рдо рдХрднреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░рддреЗред "рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рдирд┐рджрд╛рди рд╣реИрдВ!" - рдЖрдк рдХрд╣реЗрдВрдЧреЗред рдмреЗрд╢рдХ, рд╣рдо рдХрд░рддреЗ рд╣реИрдВред рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рддрд╣ рдкрд░ рд╣реИред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░, рдПрдХ рд╣реА рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдирд┐рджрд╛рди рднреА рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдЖрдк рд╣реЗрдбрд░ рдореЗрдВ рдЗрди рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪрд▓рд╛рддреЗ рд╕рдордп рдирдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓реЗрдЧрд╛, рдЬреЛ рдЕрдиреНрдп рдЙрддреНрдкрд╛рджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рджреЛрдиреЛрдВ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ, рднрд▓реЗ рд╣реА рдЖрдк IntelliJ IDEA, ReSharper, рдФрд░ SonarLint / SonarQube рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ PVS-Studio рдЬреИрд╕реА рд╣реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдмреБрд░реА рдЦрдмрд░ рд╣реИред рдЖрдк рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврддреЗ рд╣реИрдВ, рдареАрдХ рд╣реИред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреНрдпреЛрдВ рджрд┐рдЦрддреА рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рд▓рдЧрддреА рд╣реИрдВ? рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ, рдЬреЛ "рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рддрд░рд╣ рд╣реА рд╕рдм рдХреБрдЫ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛" рдЕрднреА рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдЙрдкрдХрд░рдг рдмрд┐рдирд╛ рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдХреЗ рд╣реА рдмрдиреЗ рд░рд╣реЗрдВ?
IntelliJ IDEA, ReSharper, SonarLint рдФрд░ SonarQube рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рд╣реИрдВред рдмрд╣реБрдд рдЙрдЪреНрдЪ рдХреБрд╢рд▓ рдЯреАрдо рдЙрдиреНрд╣реЗрдВ рдмрдирд╛ рд░рд╣реА рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдЖрдк рд╕рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╕рдВрд╕реНрдХреГрддрд┐ рдХрд╛ рд╕реНрддрд░ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ - рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдпреЗ рд╕рднреА рдЙрдкрдХрд░рдг "рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬреИрд╕реА рд╣реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ" рдкрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрднреА рднреА рдХреЛрдб рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдХреБрдЫ рдЧрд▓рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЯреАрдо рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВред рдЗрд╕ рддрд░рд╣, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЛрдиреЛрдВ рдкрд╛рдИ рдФрд░ рддрдп рдХреА рдЬрд╛рдПрдВрдЧреАред PVS-Studio рдХрд╛ рдкрд░рд┐рдЪрдп рдХреАрдбрд╝реЗ рдкреИрджрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЙрдиреНрд╣реЗрдВ рдвреВрдВрдврдирд╛ рдирд╣реАрдВ рд╣реИред