рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреА рддреБрд▓рдирд╛: CppCat, Cppcheck, PVS-Studio, Visual Studio

рд▓реЗрдЦрдХ: рдПрд╡рдЧреЗрдиреА рд░реЗрдЬрд╝реНрдХреЛрд╡ ( рдПрд╡реЗрдВрдЬрд┐рдПрд░рд┐рдЬрд╝рдХреЛрд╡ ), рдПрдВрдбреНрд░реА рдХрд╛рд░рдкреЛрд╡ ( рдПрдВрдбреНрд░реЗ реирежреж )), рдкрд╛рд╡реЗрд▓ рдПрд░реЗрдореАрд╡ ( рдкреМрд▓ ), рд╕рд┐рдпрд╛рд╡рд╛рддреЛрд╕реНрд▓рд╛рд╡ рд░рдЬрд╝рдорд┐рд╕рд▓реЛрд╡ ( svyatoslavmc )ред

CppCat рдпрд╛ PVS-Studio + Cppcheck / рд╡рд┐рдЬрд╝реБрдЕрд▓реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ

рд╣рдордиреЗ рдЪрд╛рд░ C / C ++ рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреА рд╡рд┐рд╕реНрддреГрдд рддреБрд▓рдирд╛ рдХреА: CppCat, Cppcheck, PVS-Studio рдФрд░ Visual Studio 2013 рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╕реНрдЯреИрдЯрд┐рдХ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ред рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдЕрдзреНрдпрдпрди рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд▓рдЧрднрдЧ 170 рдорд╛рдирд╡-рдШрдВрдЯреЗ рдФрд░ рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рд╣реИред , рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЗрд╕ рд╕рдордп рдореМрдЬреВрдж рддрд╕реНрд╡реАрд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

рддреБрд▓рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рд╢реЛрдз рдХреЗ рд▓рд┐рдП, рджрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

рддреБрд▓рдирд╛ рдкрд░рд┐рдгрд╛рдо


CppCat, Cppcheck, PVS-Studio, рдФрд░ Visual Studio analyzers рдХреЗ рд▓рд┐рдП рддреБрд▓рдирд╛ рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреАрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:

рддрд╛рд▓рд┐рдХрд╛ 1 - рдЬреНрдЮрд╛рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ
рддрд╛рд▓рд┐рдХрд╛ 1 - рдЬреНрдЮрд╛рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ

рддрд╛рд▓рд┐рдХрд╛ 2 - рдЬреНрдЮрд╛рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ
рддрд╛рд▓рд┐рдХрд╛ 2 - рдЬреНрдЮрд╛рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ

рддрд╛рд▓рд┐рдХрд╛ 3 - рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп, рдорд┐рдирдЯреЛрдВ рдореЗрдВ
рддрд╛рд▓рд┐рдХрд╛ 3 - рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп, рдорд┐рдирдЯреЛрдВ рдореЗрдВ

рд╕рдордп


рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рдордп рдХреЛ рддреБрд▓рдирд╛ рдХреЗ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХреА рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕рдордп рдорд╛рдкрди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рддреЗрдЬ Cppcheck рд╣реИред рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреБрд▓ рд╕рдордп рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░, рдЕрдиреНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдХ Cppcheck рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИрдВред рдпрд╣ рд╕рдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

CppCat рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рддреЗрдЬ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдо рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдВрддрд░ рдЗрддрдирд╛ рдорд╣рддреНрд╡рд╣реАрди рд╣реИ (рд╕реЗрдХрдВрдб рдХреЗ рджрд╕рд┐рдпреЛрдВ) рдХрд┐ рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЗрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдХрд╛ рдирд┐рджрд╛рди


рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдорд╛рд░реА рдЯреАрдо рдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ 965 рдЕрджреНрд╡рд┐рддреАрдп рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА, рдЬреЛ рдХрд░реАрдм рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВред

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

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, CppCat рд╡рд┐рд╢реНрд▓реЗрд╖рдХ, PVS-Studio рдХреА рддрд░рд╣, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдореЗрдВ 742 рдЦрддрд░рдирд╛рдХ рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдХреИрдкрдЪреЗрдХ - 193, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ - 116ред

рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ CppCat рдФрд░ PVS-Studio analyzers Cppcheck рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 4 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдФрд░ Visual Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 6 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИред

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


CppCat рдФрд░ PVS-Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЦреЛрдЬреЗ рдЧрдП рджреЛрд╖реЛрдВ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рджреЛрд╖реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдиреЗрддрд╛ рд╕рд╛рдмрд┐рдд рд╣реБрдПред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА


  1. рдПрд╡реНрдЬреЗрдиреА рд░рдпрдЬрд╝рдХреЛрд╡, рдПрдВрдбреНрд░реА рдХрд╛рд░рдкреЛрд╡, рдкрд╛рд╡реЗрд▓ рдПрд░реЗрдореАрд╡, рд╕рд┐рд╡рд╛рддреЛрд╕реНрд▓рд╛рд╡ рд░рдЬрд╝рдорд┐рд╕рд▓реЛрд╡ред "рд╣рдо рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ CppCat, Cppcheck, PVS-Studio, Visual Studio рдХреА рддреБрд▓рдирд╛ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ" ( рд░реВрд╕реА рдореЗрдВ , рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ )ред

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

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдо рдЕрдм CppCat рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдпрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдпрд╣рд╛рдВ рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles