ืืื ืคืื ืกืึธืฃ ืงืึธื ืจืขืฆืขื ืืืข ืึธืืขืจ ืืืืึทืืื ื, ืืื ืืืจ ืืจืึทืืื ืืืขืื ืืื ืฆื ืคืึทืจืคึผืึธืฉืขืืขืจื ืืืื ืืขืื. ืืื ื ืึธื ืึท ืืืกื ืืืื, ืึธืืขืจ ืืืจื ืึทืงืกืึทืืขื ืึทืื ืกืืึทืืืืื ื ืืืืฃ ืขืก, ืืืจ ืงืขื ืขื ืืขื ืื ืืึทืืืฉ ืคืจืึทืืข: "ืกืืึทืืืง ืึทื ืึทืืืกืืก". ืืื ืก ืืขื ืืืึธืก ืขืก ืืื ืืื ืืื ืขืก ืงืขื ืขื ืื ืืขืจืึทืงื ืืื ืืืื ืคึผืจืืืขืงื.
ืืื ืคืึทืงื, ืืืื ืืืจ ืฉืจืืึทืื ืืื ืงืืื ืืึธืืขืจื ืฉืคึผืจืึทื, ืืขืืึธืื, ืึธื ืืคืืื ืคืึทืจืฉืืืื ืขืก, ืืืจ ืืืืคื ืขืก ืืืจื ืึท ืกืืึทืืืง ืึทื ืึทืืืืขืจ. ืืขืจ ืคืึทืงื ืืื ืึทื ืงืืื ืืึธืืขืจื ืงืึทืืคึผืืืืขืจ ืืื, ืืึธืืฉ ืึท ืงืืืื ืืฉืืง, ืืึทื ื ืคืื ืืืึธืจื ืื ืื ืืืขืื ืคึผืึธืืขื ืฆืืขื ืคึผืจืึธืืืขืืก ืืื ืื ืงืึธื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืขื ืงืึทืืคึผืืืืื ื C ++ ืงืึธื ืืื ืืืืกืืึทื ืกืืืืืึธ ืืืจ ืงืขื ืืขื ืื ืคืืืืขื ืืข:
ืืื ืืขื ืจืขืืืืืึทื ืืืจ ืืขื ืึทื ืื ืืืึทืืขืืืืืง ืืื ืืขืืืขื ืืื ืงืืื ืืึธื ืืขื ืืฆื ืขืจืืขืฅ ืืื ืื ืคึฟืื ืงืฆืืข. ืึทืืื ืืื ืคืึทืงื, ืืืจ ืึผืืขื ืฉืืขื ืืืง ืืขืืืืื ื ืึท ืคึผืฉืื ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืืขืจ. ืึธืืขืจ, ื ืื ืขื ืืขื ืคืึทืืืึทื ืึทื ืึทืืืืขืจืก ืึทืืึท ืืื ืงืึทืืืขืจืืื, Klocwork ืึธืืขืจ PVS-Studio, ืื ืืืึธืจื ืื ืื ืฆืืืขืฉืืขืื ืืืจื ืื ืงืึทืืคึผืืืืขืจ ืงืขื ืืืืื ืึธื ืืืืึทืื ืึท ืงืืืื ืงืืื ืคืื ืคึผืจืึธืืืขืืก.
ืืืื ืืืจ ืืึธื ื ืื ืืืืกื ืคึฟืึทืจ ืืืืขืจ ืืืึธืก ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืื ืืื ืืื ืฆื ืื ืกืืจืืืขื ื ืขืก,
ืคืืจืืืืก ืืึธื ืืืจ ืืึทืจืคึฟื ืกืืึทืืืง ืึทื ืึทืืืกืืก?
ืืื ืึท ื ืึทืืฉืขื: ืึทืงืกืขืืขืจืืืฉืึทื ืืื ืกืืืคึผืืึทืคืืงืืืฉืึทื.
ืกืืึทืืืง ืึทื ืึทืืืกืืก ืึทืืึทืื ืืืจ ืฆื ืืขืคึฟืื ืขื ืึท ืคึผืืึทืฅ ืคืื ืคืึทืจืฉืืืขื ืข ืคึผืจืึธืืืขืืก ืืื ืื ืงืึธื: ืคืื ืคืึทืืฉ ื ืืฆื ืคืื ืฉืคึผืจืึทื ืงืึทื ืกืืจืึทืงืฉืึทื ื ืฆื ืืืคึผืึธืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึทื ืฉืืึธื ืคืื
auto x = obj.x;
auto y = obj.y;
auto z = obj.z;
ืืืจ ืืื ืืขืฉืจืืื ืื ืคืืืืขื ืืข ืงืึธื:
auto x = obj.x;
auto y = obj.y;
auto z = obj.x;
ืืื ืืืจ ืงืขื ืขื ืืขื, ืขืก ืืื ืึท ืืืคึผ ืืขืืช ืืื ืื ืืขืฆืืข ืฉืืจื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, PVS-Studio ืึทืจืืืกืืขืื ืื ืคืืืืขื ืืข ืืืืจืขื ืื ื:
ืืืื ืืืจ ืืืืื ืฆื ืฉืืืคึผื ืืืื ืืขื ื ืืื ืืขื ืืขืืช, ืคึผืจืึผืืื ืึท ืคืึทืจืืืง ืืืึทืฉืคึผืื ืืื ืงืึทืืคึผืืืืขืจ Explorer: *
ืืื ืืื ืืืจ ืคึฟืึทืจืฉืืืื, ืขืก ืืื ื ืื ืฉืืขื ืืืง ืืขืืืขื ืฆื ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืื ืฆื ืึทืืึท ืกืขืงืฉืึทื ื ืคืื ืงืึธื ืจืขืื, ืืื ืืืืึทื ืคืื ืืขื, ืืืจ ืงืขื ืขื ืืืฆื ืึทืจืึธืคึผ ืืืืึทืืื ื ืคึฟืึทืจ ืึท ืืื ืฉืขื, ืืืึทื ืืขืจืื ื ืืืึธืก ืึทืืฅ ืึทืจืืขื ืึทืืื ืืึธืื ืข.
ืึธืืขืจ, ืืึธืก ืืื ืงืืืจ ืึท ืืขืืช. ืืืึธืก ืืืื ืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืขืฉืจืืื ืกืืืึธืคึผืืืืึทื ืงืึธื ืืืืึทื ืขืจ ืคืืจืืขืกื ืขืืืขืืข ืกืึทืืึทืืื ืคืื ืื ืฉืคึผืจืึทื? ืึธืืขืจ ืืคืืื ืขืจืืืืื ืขืก ืืื ืื ืงืึธื
ืขืก ืืื ืคึฟืึทืจ ืื ืกืืืืึทืืืึธื ืก ืึทื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืจืืืก. ืืึธืก ืืื ืึท ืึทืกืืกืืึทื ื ืคึฟืึทืจ ืื ืืขืืืขืืึธืคึผืขืจ ืืืึธืก ืืืขื ืคืื ื ืืืืก ืคืึทืจืฉืืื ืคึผืจืึธืืืขืืก ืืื ืื ืงืึธื ืืื ืืขืจืงืืขืจื ืืื ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืืึธืก ืขืก ืืื ื ืื ื ืืืืืง ืฆื ืฉืจืืึทืื ืืขื ืืืขื, ืืืึธืก ืขืก ืงืขื ืคืืจื ืฆื ืืื ืืื ืฆื ืคืึทืจืจืืืื ืขืก. ืืึธ ืก ืึท ืืืืฉืคึผืื ืคืื ืืื ืขืก ืงืขื ืงืืงื ืืื: *
ืืืจ ืงืขื ืขื ืืขืคึฟืื ืขื ืืขืจ ืืฉืืงืึทืืืข ืขืจืจืึธืจืก ืึทื ืื ืึทื ืึทืืืืขืจ ืงืขื ืขื ืืขืืขืงื ืืื ืื ืึทืจืืืงืืขื:
Top 10 ืขืจืจืึธืจืก ืืื C ++ ืคึผืจืึทืืืฉืขืงืก ืคึฟืึทืจ 2019 Top 10 ืขืจืจืึธืจืก ืืื C # ืคึผืจืึทืืืฉืขืงืก ืคึฟืึทืจ 2019 Top 10 ืืึทืื ืืื Java ืคึผืจืึทืืืฉืขืงืก ืคึฟืึทืจ 2019
ืืืฆื ืึทื ืืืจ ืืึธื ืืืืขื ืขื ืืขื ืืึทืืขืจืืึทื ืืื ืืขื ืขื ืงืึทื ืืืื ืกื ืคืื ืื ืืขื ืขืคืืฅ ืคืื ืกืืึทืืืง ืึทื ืึทืืืกืืก, ืืืจ ืืื ืืืขืื ืฆื ืคึผืจืืืืจื ืขืก. ืืืขืจ ืืื ืฆื ืึธื ืืืืื? ืืื ืฆื ืืืกืฉืืืืขื ืึท ื ืืึทืข ืืขืฆืืึทื ืืื ืืืื ืงืจืึทื ื ืคึผืจืืืขืงื? ืืื ืืื ืฆื ืืึทืงืขื ืขื ืื ืืึทื ืฉืึทืคึฟื ืฆื ืืื? ืืืจ ืืืขื ืืขืคึฟืื ืขื ืขื ืืคึฟืขืจืก ืฆื ืื ืคึฟืจืืื ืืื ืื.
ืืึทืืขืจืงืื ื. ืกืืึทืืืง ืึทื ืึทืืืกืืก ืงืขื ื ืืฉื ืคืึทืจืืืึทืื ืึธืืขืจ ืืึธืื ืืึทืื ืึทืืึท ืึท ื ืืฆืืง ืืึทื ืืื ืงืึธื ืืืจืืืื. ืขืก ืงืึทืืคึผืืึทืืึทื ืฅ ืืขื ืคึผืจืึธืฆืขืก, ืืขืืคึผืื ื ืฆื ืืึทืืขืจืงื ืืื ืจืืืืืง ืืืคึผืึธืก, ืื ืึทืงืืขืจืึทืกืื ืืื ืืขืคืขืจืืขื ืืืืืื ื ืืื ืฉืืืึทืื. ืขืก ืืื ืคืื ืืขืจ ืคึผืจืึธืืืงืืืื ืฆื ืคืึธืงืืก ืืืืฃ ืงืึธื ืืืจืืืื ืืืืฃ ืึทืืืขืจืืืึทืื ืืื ืงืึธื ืงืืขืจืืื, ืืื ืืื ืืืจ ืืืื ืคึฟืึทืจ ืึท ืืืกืคึผืืืืกื ืงืืึทืืขืจื ืึธืืขืจ
0. ืืขืืื ื ืฆื ืืืืกื ืื ืืขืฆืืึทื
ืขืก ืึทืืข ืกืืึทืจืฅ ืืื ืึท ืคึผืจืึธืฆืขืก ืืืขืจืกืืข. ืืึทืงืข, ืขืก ืืื ืฉืืืขืจ ืฆื ืืึทืฉืืืกื ืฆื ืืึทืงืขื ืขื ืขืคึผืขืก ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก ืืืื ืืืจ ืืึธื ืงืืื ืืึธื ืืขืืขื ืื ืืขืฆืืึทื ืืขืื ืคืจืืขืจ. ืืขืจืืืขืจ, ืืขืจ ืขืจืฉืืขืจ ืืึทื ืืืจ ืืึธื ืืึธื ืืื ืืจืืคืงืืคืืข
ืืืึธืก ืืืจ ืืืขื ืืขืจื ืขื ืืื ืืขื ืืื ืข:
- ืืืึธืก ืืขื ืขื ืื ืืืขืื ืฆื ืื ืืขืจืึทืงื ืืื ืื ืึทื ืึทืืืืขืจ;
- ืืื ืืขืจ ืึทื ืึทืืืืขืจ ืงืึทืืคึผืึทืืึทืืึทื ืืื ืืืื ืึทื ืืืืืงืืื ื ืกืืืืืืข?
- ืืืึธืก ืคึผืจืึธืืืขืืก ืืขื ืขื ืืืฆื ืืื ืืืื ืคึผืจืึทืืืฉืขืงืก?
ื ืึธื ืืืจ ืืึธืื ืืื ืกืืึทืืืจื ืึทืืฅ ืืืจ ืืึทืจืคึฟื, ืืขืจ ืขืจืฉืืขืจ ืืึทื ืืืจ ืืึธื ืืึธื ืืื ืืืืคื ืึทื ืึทื ืึทืืืกืืก ืคืื ืื ืืื ืฆืข ืคึผืจืืืขืงื (
ืืขืจ ืคืึทืงื ืืื ืึทื ืกืืึทืืืง ืึทื ืึทืืืืขืจื ืืืืฉืึทืืืึทืื ืึทืจืืืกืืขืื ืึท ืจืืืืง ื ืืืขืจ ืคืื ืืืึธืจื ืื ืื ืคึฟืึทืจ ืคึผืจืึทืืืฉืขืงืก ืืื ืึท ืืจืืืก ืงืึธื ืืึทืืข. ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืคืึทืจืจืืืื ืืื ืึทืืข, ืืืืึทื ืืืื ืคึผืจืืืขืงื ืืื ืฉืืื ืืจืืขืื, ืืืึธืก ืืืื ืึทื ืื ืคึผืจืึธืืืขืืก ืืขื ืขื ื ืืฉื ืงืจืืืืฉ. ืึธืืขืจ, ืืืจ
ืืึทืงืข, 178 ืืืึธืจื ืื ืื ืืขื ืขื ืคืื ืืจืื ืืขืจ ืฆื ืืขื ืืื ืขืืืขืืข ืืืืื ื ...
ืืื ืืึทืืก ืืืื ะธ ื ืืืขืจืืง ืึธืคื ืขืก ืืขื ืขื ืืื ืืืึธืจื ืื ืื, ืึธืืขืจ ืื ืงืึทืืขืืึธืจืืขืก ืึทืจืืึทื ื ืขืืขื ืื ืืืึทืื ืึธืกืืืงืก ืืืึธืก ืืึธืื ืืืืื ืืงืขืจ ืึทืงืืขืจืึทืกื (ืคืึทืจืืึธืืืขื). ืืขืจ ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืืืืจืขื ืื ื ืืขืืืขืืก ืืื ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืืจืืขืื ืืื ืืขืจ Windows ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืึธ: *
ืขืก ืืื ืืืขืจื ืฆื ืืึธืื ืืฆืืื ืจืืืืืื ืื ืืขืจืกื ืืฉืืงืึทืืืข ืขืจืจืึธืจืก (ืืื ืืฆืืื ืงืขืจืขืงืืึทื ืืื).
1. ืึทืืืึธืืึทืืืึธื
ื ืึธื ืืึทืงืึทื ืืข, ืขืก ืืื ืฆืืื ืฆื ืงืึทื ืคืืืืขืจ ืคึผืืืืื ืก ืืื ืืืกืฉืืืืขื ืืื ืืื ืกื. ืืขื ืืืื ืืืื ืืขืืื ืืืืืขืจ ืคึผืจืึธืืืจืึทืืขืจื ืึธื ืืืืื ื ืืฆื ืื ืกืืึทืืืง ืึทื ืึทืืืืขืจ. ืืขืจ ืคืึทืงื ืืื ืึทื ืืขืจ ืคึผืจืึธืืจืึทืืืกื ืงืขื ืคืึทืจืืขืกื ืฆื ืืขืื ืึทื ืึทืืืกืืก ืึธืืขืจ ื ืืฉื ืืืขืื ืฆื ืืึธื ืืึธืก. ืฆื ืืึธื ืืึธืก, ืืืจ ืืึทืจืคึฟื ืฆื ืงืึธื ืืจืึธืืืจื ืึทืืฅ ืึทืืื ืึทื ืึทื ืืขืกืืขื ืงืึธื ืงืขื ืขื ื ืืฉื ืืึทืงืืืขื ืืื ืื ืึทืืืขืืืื ืข ืึทื ืืืืืงืืื ื ืฆืืืืึทื.
ืืืึธืก ืืืจ ืืืขื ืืขืจื ืขื ืืื ืืขื ืืื ืข:
- ืืืึธืก ืึธืืึทืืืืฉืึทื ืึธืคึผืฆืืขืก ืืื ืื ืืขืฆืืึทื;
- ืืื ืืขืจ ืึทื ืึทืืืืขืจ ืงืึทืืคึผืึทืืึทืืึทื ืืื ืืืื ืคึฟืึทืจืืึทืืืื ื ืกืืกืืขื?
ืืื ื ืฉืืืืืขืกืืืง ืืึทืงืืืืขื ืืืืฉืึทื ืืื ื ืืฉื ืขืงืกืืกืืืจื, ืืื ืืืจ ืืึธืื ืฆื ืฉืจืืึทืื ืืื
ืืืฆื ืืึธืื ืืื ืื ืืึทื ืืืืฃ ืฆื ืงืขืกืืืืขืจืืืง ืื ืืึทืืจืืืฉืึทื (CI) ืืึทืืื ืื ืืก. ืงืืื ืึทื ืึทืืืืขืจ ืงืขื ืขื ืืืื ืืืคึผืืึทืืขื ืึทื ืืื ืืื ืึธื ืงืืื ืขืจื ืกื ืคึผืจืึธืืืขืืก. ืฆื ืืึธื ืืึธืก, ืืืจ ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืึท ืืึทืืื ืืขืจ ืืื ืข ืืื ืื ืจืขืจื - ืืื ืืข, ืืืึธืก ืืื ืืืืฉืึทืืืึทืื ืืืื ื ืึธื ืื ืืืืขื ืืื ืึทืคึผืึทืจืึทื ืืขืกืฅ. ืืึธืก ืืื ืืขืืื ืืื ืคืึทืจืฉืืื ืงืึทื ืกืึธืื ืืืืืืึทืืื. ืืืฉื, PVS-Studio ืืื ืื ืคืืืืขื ืืข ืืืืืืึทืืื:
PVS-Studio_Cmd.exe (ืึทื ืึทืืืกืืก ืคืื ืกืึทืืืฉืึทื ื, C #, C ++ ืคึผืจืึทืืืฉืขืงืก ืืืืฃ Windows)CLMonitor.exe (ืืึทืืืื ื ืืึธื ืืืึธืจืื ื)pvs-studio-analyzer (ืึทื ืึทืืื ืคืื C ++ ืคึผืจืึทืืืฉืขืงืก ืืืืฃ ืืื ืืงืก / ืืึทืงืึธืก)pvs-studio-dotnet (ืืืืืื ื ืึทื ืึทืืืกืืก, C # ืคึผืจืึทืืืฉืขืงืก ืืืืฃ ืืื ืืงืก / ืืึทืงืึธืก)pvs-studio.jar (ืึทื ืึทืืื ืคืื Java ืคึผืจืึทืืืฉืขืงืก)PlogConverter (ืจืขืคึผืึธืจื ืืขืงืข ืงืึทื ืืืขืจืืขืจ)
ืฆื ืืืกืฉืืืืขื ืึทื ืึทืืืกืืก ืืื ืกื, ืืืจ ืืึทืจืคึฟื ืฆื ืืึธื ืืจืื ืืื ืื:
- ืื ืกืืึทืืืจื ืื ืึทื ืึทืืืืขืจ;
- ืืืืคื ืึทื ืึทืืืกืืก;
- ืฆืืฉืืขืื ืจืขืืืืืึทืื.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืฆื ืื ืกืืึทืืืจื PVS-Studio ืืืืฃ ืืื ืืงืก (ืืขืืืึทื-ืืึทืืข), ืืืจ ืืึทืจืคึฟื ืฆื ืืืืคื ืื ืคืืืืขื ืืข ืงืึทืืึทื ืื:
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
ืืืืฃ ืกืืกืืขืืขื ืืืึธืก ืืืืคื Windows, ืขืก ืืื ืงืืื ืืืขื ืฆื ืื ืกืืึทืืืจื ืื ืึทื ืึทืืืืขืจ ืคึฟืื ืื ืคึผืขืงื ืคืึทืจืืืึทืืืขืจ, ืึธืืขืจ ืขืก ืืื ืืขืืืขื ืฆื ืฆืขืืืืงืืขื ืื ืึทื ืึทืืืืขืจ ืคึฟืื ืื ืืึทืคึฟืขืื ืฉืืจื:
PVS-Studio_setup.exe /verysilent /suppressmsgboxes
/norestart /nocloseapplications
ืืืจ ืงืขื ื ืืืืขื ืขื ืืขืจ ืืืขืื ืืืคึผืืืืื ื PVS-Studio ืืืืฃ ืกืืกืืขืืขื ืืืึธืก ืืืืคื Windows *
ื ืึธื ืืึทื ืืึธื ืืืจืื ื, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืคื ืื ืึทื ืึทืืืกืืก ืืืืึทื. ืึธืืขืจ, ืขืก ืืื ืจืขืงืึทืืขื ืืื ืฆื ืืึธื ืืึธืก ืืืืื ื ืึธื ืืึทืืืื ื ืืื ืืขืกืฅ ืืึธืื ืืืจืืืขืืื ืืขื. ืืึธืก ืืื ืืืืึทื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืืคึผืืงืื ื ืขืื ืฆืืืื ืืึธื ืึทืืื ืืึทื ื ืืื ืืึทืืืื ื.
ืืื ื ืื ืงืึทืืขืจ ืืืคึฟื ืืขืคึผืขื ืืก ืืืืฃ ืื ืคึผืืึทืืคืึธืจืืข ืืื ืคึผืจืืืขืงื ืคึฟืขืึดืงืืืื, ืืื ืืืขื ืืืืึทืื ืื ืึธืคึผืฆืืข ืคึฟืึทืจ C ++ (ืืื ืืงืก) ืืื ืึท ืืืึทืฉืคึผืื:
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
plog-converter -t errorfile PVS-Studio.log --cerr -w
ืืขืจ ืขืจืฉืืขืจ ืืึทืคึฟืขื ืืืขื ืืืจืืคืืจื ืื ืึทื ืึทืืืกืืก, ืืื ืื ืจืืข
ืืึทืืขืจืงืื ื. ืืขืจ ืืขืงืกื ืคึฟืึธืจืืึทื ืืื ืืืืึทืงืืืขื. ืขืก ืืื ืฆืืืขืฉืืขืื ื ืึธืจ ืืื ืึท ืืืึทืฉืคึผืื. ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืึทื ืฆื ืึท ืืขืจ ืืฉืืงืึทืืืข ืืึทืจืืื ืคึฟืึธืจืืึทื - FullHtml. ืขืก ืึทืืึทืื ืืืจ ืฆื ื ืึทืืืืืืจื ืืืจื ืื ืงืึธื.
ืืืจ ืงืขื ื ืืืืขื ืขื ืืขืจ ืืืขืื ืืึทืฉืืขืืืงื ืึทื ืึทืืืกืืก ืืืืฃ CI ืืื ืืขื ืึทืจืืืงื "
ืึธืืงืื, ืืืจ ืืึธื ืงืึทื ืคืืืืขืจื ืื ืึทื ืึทืืืืขืจ ืืืืฃ ืื ืืืืขื ืกืขืจืืืขืจ. ืืืฆื, ืืืื ืขืืขืฆืขืจ ืืคึผืืึธืึทืืขื ืึทื ืืขืกืืขื ืงืึธื, ืื ืืืขืจืึทืคืึทืงืืืฉืึทื ืืื ืข ืืืขื ืคืึทืจืืึธืื, ืืื ืืืจ ืืืขื ืงืขื ืขื ืฆื ืืขืืขืงื ืืขื ืคึผืจืึธืืืขื, ืึธืืขืจ, ืืึธืก ืืื ื ืืฉื ืืึธืจ ืืึทืงืืืขื, ืืืืึทื ืขืก ืืื ืืขืจ ืขืคืขืงืืืื ืฆื ืงืึธื ืืจืึธืืืจื ืื ืคึผืจืืืขืงื ื ืืฉื ื ืึธื ืื ืฆืืืืืื ืืขื ืขื ืืขืจืืืฉื, ืึธืืขืจ ืืืืืขืจ ืขืก, ืืื ืื ืืื ืข ืคืื โโืฆืืขื ืืขืื.
ืืื ืึทืืืขืืืื, ืืึทืฉืืขืืืงื ืึท ืึทื ืึทืืืกืืก ืคืื ืึท ืฆืืขื ืืขืื ืืื ื ืืฉื ืคืื ืึทื ืืขืจืฉ ืคืื ืื ืืขืืืืื ืืืขื ืงืึทืืขืจ ืคืื ืึทื ืึทื ืึทืืืกืืก ืืืืฃ ืกื. ืึทืืืฅ ืคึฟืึทืจ ืื ื ืืื ืฆื ืืึทืงืืืขื ืึท ืจืฉืืื ืคืื ืืขืืืื ืืขืงืขืก. ืื ืงืขื ืขื ืืืืฉืึทืืืึทืื ืืืื ืืืงืืืขื ืืืจื ืึธื ืคึฟืจืขื ืื ืืืคืขืจืึทื ืกืื ืฆืืืืฉื ืฆืืืืืื ื ืืฆื ืืื:
git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list
ืืืฆื ืืืจ ืืึทืจืคึฟื ืฆื ืคืึธืจื ืื ืจืฉืืื ืคืื ืืขืงืขืก ืฆื ืื ืึทื ืึทืืืืขืจ ืืื ืึทืจืืึทื ืฉืจืืึทื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื PVS-Studio ืืึธืก ืืื ืืืคึผืืึทืืขื ืึทื ืืื ืื ืคืึธื -S:
pvs-studio-analyzer analyze -j8
-o PVS-Studio.log
-S .pvs-pr.list
ืืืจ ืงืขื ื ืืขืคึฟืื ืขื ืืขืจ ืืืขืื ืึทื ืึทืืืืืื ื ืคึผืื ืจืืงืืืขืก *
ืืืจื ืืึทืฉืืขืืืงื ืึทื ืึทืืืกืืก ืคืื ืฆืืขื ืจืืงืืืขืก, ืืืจ ืงืขื ืขื ืคืึทืจืฉืคึผืึทืจื ืงืึทืืืฅ ืืื ืืืึธืจื ืื ืื, ืืื ืืขืจืืื ืฉืึทืคึฟื ืึท ืืจืขื ืขืฅ ืึทื ืึทื ืืขืกืืขื ืงืึธื ืงืขื ืขื ื ืืฉื ืงืจืืึทื.
ืืึธืก ืืื ืึทืืข ืืืืขืจ ืืื, ืึธืืขืจ ืืื ืืืึธืื ืืื ืฆื ืืขื ืึทืืข ืื ืืืึธืจื ืื ืื ืืืืฃ ืืืื ืึธืจื. ื ืื ืืืืื ืคึฟืื ืื ืกืืึทืืืง ืึทื ืึทืืืืขืจ, ืึธืืขืจ ืืืื ืคึฟืื ืึทืคึผืึทืจืึทื ืืขืกืฅ ืึธืืขืจ ืคึฟืื ืื ืืื ืึทืืืฉ ืึทื ืึทืืืืขืจ. ืขืก ืืขื ืขื ืคืึทืจืฉืืื ืืึทืืื ืื ืืก ืืื ืคึผืืืืื ืก ืคึฟืึทืจ ืืขื. PVS-Studio, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื
2. ืื ืืขืืจืึทืืืึธื ืืืืฃ ืืขืืืขืืึธืคึผืขืจ ืืืฉืื ืขื
ืืืฆื ืขืก ืืื ืฆืืื ืฆื ืื ืกืืึทืืืจื ืืื ืงืึทื ืคืืืืขืจ ืื ืึทื ืึทืืืืขืจ ืคึฟืึทืจ ืืืึธืืขืืืง ืึทื ืืืืืงืืื ื. ืืืจื ืืขื ืคืื ื, ืืืจ ืืึธื ืฉืืื ืืึทืงืึทื ื ืืื ืจืืึฟ ืคืื ืื ืืืขืื ืคืื ืึทืจืืขื, ืึทืืื ืืึธืก ืงืขื ืืืื ืืขืจืืคื ืื ืืืืึทืกื ืืืื.
ืืื ืื ืกืืืคึผืืึทืกื ืึธืคึผืฆืืข, ืืขืืืขืืึธืคึผืขืจืก ืงืขื ืขื ืื ืกืืึทืืืจื ืื ื ืืืืืง ืึทื ืึทืืืืขืจ ืืื. ืึธืืขืจ, ืืึธืก ืืืขื ื ืขืืขื ืึท ืคึผืืึทืฅ ืคืื ืฆืืื ืืื ืืืกืืจืึทืงื ืืื ืคืื ืึทื ืืืืืงืืื ื, ืึทืืื ืืืจ ืงืขื ืขื ืึธืืึทืืืื ืืขื ืคึผืจืึธืฆืขืก ืืื ืึท ืื ืกืืึทืืืขืจ ืืื ืื ื ืืืืืง ืคืืึทืืก. ืคึฟืึทืจ PVS-Studio ืขืก ืืขื ืขื ืคืึทืจืฉืืื
ืืขืจื ืึธื ืืืจ ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื ืื ื ืืืืืง ืคึผืืืืื ืก, ืคึฟืึทืจ ืืืึทืฉืคึผืื
3. ืืขืืืขื ื ืืฆื
ืืื ืืขื ืืื ืข, ืขืก ืืื ืฆืืื ืฆื ืืึธืื ืึท ืืืกื ืืืขืจืืขืจ ืืืขืื ืืืขืื ืฆื ืคืึทืจืืืืขืจื ืื ืึทื ืึทืืืืขืจ ืืขืฉืึทืก ืืขืืืขื ื ืืฆื. ื ืคืืืฉืืขื ืืืง ืึทื ืึทืืืกืืก ืคืื ืื ืืื ืฆืข ืคึผืจืืืขืงื ื ืขืื ืึท ืคึผืืึทืฅ ืคืื ืฆืืื, ืึธืืขืจ ืืื ืึธืคื ืืึธื ืืืจ ืืืืฉื ืงืึธื ืืืืขืจ ืื ืืื ืฆืข ืคึผืจืืืขืงื ืืื ืึทืืึธื? ืขืก ืืื ืงืืื ืงืืื ืจืขืคืึทืงืืึธืจืื ื ืืืึธืก ืืื ืึทืืื ืืจืืืก ืึทื ืขืก ืืืขื ืืื ืืืืจืงื ืื ืืื ืฆืข ืงืึธื ืืึทืืข. ืื ื ืืืขืจ ืคืื ืืขืงืขืก ืืืึธืก ืืขื ืขื ืืฉืืื ืืืฉื ืืื ืึท ืฆืืื ืจืึทืจืขืื ืืงืกืืื ืึท ืืืฅ, ืึทืืื ืขืก ืืื ืืื ืขื ืฆื ืคืื ืึทื ืืขืจืงืืืึทืื ืืื. ืคึฟืึทืจ ืึทืืึท ืึท ืกืืืืึทืฆืืข ืขืก ืืื
ืืืื ืืขืจ ืึทื ืึทืืืืขืจ ืืืืขืงืฅ ืคึผืจืึธืืืขืืก ืืื ืื ืืขืฆืื ืก ืืขืืืื ืงืึธื, ืขืก ืืืขื ืืึทืจืืื ืืขื ืื ืืืคึผืขื ืืึทื ืืื. ืืืฉื, PVS-Studio ืืืขื ืืึธืื ืืืจ ืืืขืื ืืขื ืืื ืึท ืคืืื ืง:
ืคืื ืงืืจืก, ืืขืืื ื ืืขืืืขืืึธืคึผืขืจืก ืฆื ื ืืฆื ืื ืืขืฆืืึทื ืืื ื ืืฉื ืืขื ืื. ืืืจ ืืึทืจืคึฟื ืฆื ืขืคืขืก ืืึธืื ืืื ืืืึธืก ืขืก ืืื ืืื ืืื ืขืก ืืื. ืืึธ, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืขื ืขื ืึทืจืืืงืืขื ืืืขืื ืึท ืฉื ืขื ืึธื ืืืื ืคึฟืึทืจ PVS-Studio, ืึธืืขืจ ืืืจ ืงืขื ืขื ืืขืคึฟืื ืขื ืขื ืืขื ืืืืึธืจืืึทืื ืคึฟืึทืจ ืงืืื ืืขืฆืืึทื ืืืจ ืืขืกืขืจ ืืืขืื:
ืืื ืฆื ืืืืคื PVS-Studio ืืืืฃ Windows (C, C ++, C #) ืืื ืฆื ืืืืคื PVS-Studio ืืืืฃ ืืื ืืงืก ืืื ืืึทืงืึธืก (C, C ++) ืืื ืฆื ืงืึทืืขืจ PVS-Studio Java
ืึทืืึท ืึทืจืืืงืืขื ืฆืืฉืืขืื ืึทืืข ืื ื ืืืืืง ืืื ืคึฟืึธืจืืึทืฆืืข ืคึฟืึทืจ ืืืึธืืขืืืง ื ืืฆื ืืื ืืึธื ื ืื ื ืขืืขื ืคืื ืฆืืื. ๐
ืืคืืื ืืื ืืขืจ ืืื ืข ืคืื โโืืืืกื ืื ืืขืฆืืึทื, ืืืจ ืกืึทืคึผืจืขืกื ืึท ืคึผืืึทืฅ ืคืื ืืืึธืจื ืื ืื ืืขืฉืึทืก ืืืื ืขืจ ืคืื ืื ืขืจืฉืืขืจ ืืึธื ืืฉืื. ืฆืื ืืึทืืืืขืจื, ืกืืึทืืืง ืึทื ืึทืืืืขืจื ืืขื ืขื ื ืืฉื ืืื ืฅ, ืึทืืื ืคืื ืฆืืึทื ืฆื ืฆืืึทื ืืื ืืขืื ืคืึทืืฉ ืคึผืึทืืึทืืืืื. ืขืก ืืื ืืืืฉืึทืืืึทืื ืืจืื ื ืฆื ืคืึทืจืฉืืืงื ืืื; ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืื PVS-Studio ืคึผืืืืื ืคึฟืึทืจ ืืืืกืืึทื ืกืืืืืึธ ืืืจ ื ืึธืจ ืืึทืจืคึฟื ืฆื ืืื ืืืื ืงื ืขืคึผื:
ืึธืืขืจ, ืืืจ ืงืขื ืขื ืืึธื ืืขืจ ืืื ื ืึธืจ ืคืึทืจืฉืืืงื ืืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืขื ืขื ืืึทืจืืื ืึท ืคึผืจืึธืืืขื ืฆื ืฉืืืฆื. ืืืื ืื ืคืึทืืฉ positive ืงืขื ืขื ืืืื ืงืขืจืขืงืืึทื, ืืื ืฆืืงืื ืคึฟื ืืขืจืืืึทื ืืืงืื ืืขื ืืืจ ืงืขื ืขื ืืึทืืขืจืงื ืึทื ืืขืืขืจ ืืึธื ืขืก ืืขื ืขื ืืืืื ืืงืขืจืข ืืื ืืืืื ืืงืขืจืข ืคืึทืืฉ ืคึผืึทืืึทืืืืื ืกืคึผืขืฆืืคืืฉ ืฆื ืืืื ืงืึธืืขืืึทืกืข.
ื ืึธื ืื ืืึทืืจืืืฉืึทื
ืึทืืื ืืืจ ืืึธืื ืืืจืืืขืงืึธืื ืึทืืข ืื ืกืืึทืืขืก ืคืื ืื ืืึทืืจืืืืื ื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก. ืืจืึธืฅ ืื ืืืืืืืงืืื ืคืื ืืึทืฉืืขืืืงื ืึทืืึท ืืืฉืืจืื ืืืืฃ CI, ืื ืืขืจืกื ืืืืืืืง ืึธืจื ืฆื ืืืืคื ืืื ืืื ืื ืืขืืืขืืึธืคึผืขืจ ืก ืงืึธืืคึผืืืืขืจ. ื ืึธื ืึทืืข, ืึท ืกืืึทืืืง ืึทื ืึทืืืืขืจ ืืื ื ืืฉื ืึท ืจืืืืขืจ ืืืึธืก ืืืื ืขืจืืขืฅ ืืืืึทื ืึทืืืขืง ืคืื ืืืจ ืึทื ืื ืงืึธื ืืื ื ืืฉื ืืื. ืคึฟืึทืจืงืขืจื, ืขืก ืืื ืึทื ืึทืกืืกืืึทื ื ืืืึธืก ืืขืจืฆืืืื ืืืจ ืืืื ืืืจ ืืขื ื ืืื ืืื ืืขืจืืื ื ืืืจ ืืืื ืืืจ ืืึธืื ืคืืจืืขืกื ืขืคึผืขืก.
ืืืช, ืึธื ืจืขืืืืขืจ ื ืืฆื, ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืื ืึทื ืืืืงืื ืฆื ืคืึทืจืคึผืึธืฉืขืืขืจื ืึทื ืืืืืงืืื ื ืืืืืืืืง. ื ืึธื ืึทืืข, ืืืึทื ืืืืคึผื ื ืืฅ ืคึฟืึทืจ ืึท ืืขืืืขืืึธืคึผืขืจ ืืืื ื ืื ืึทืืื ืคืื ืืื ืืืื ืคึฟืึทืจ ืงืึธืืคึผืืขืงืก ืืื ืงืึธื ืืจืึธืืืขืจืกืืึทื ืกืขืงืฉืึทื ื ืคืื ืงืึธื, ืึธืืขืจ ืืื ืืืืขืจ ืคืจื ืืืืขืงืฉืึทื. ืฉืืืืขื ืึทื ืืืกืงืึทืืืขืจื ืึท ืคึผืจืึธืืืขื ื ืึธื ืื ืขืืืฅ ืืขื ืขื ืืขืฉืืงื ืคึฟืึทืจ ืืขืกืืื ื ืืื ื ืืฉื ืืืืื ืคึผืจืืงืจืข, ืึธืืขืจ ืืืื ืืืืขืจ ืฆืืื ืงืึทื ืกืืืื ื. ืกืืึทืืืง ืึทื ืึทืืืกืืก, ืืืขื ืืขืืืืื ื ืงืขืกืืืืขืจ, ืงืืงื ืืืืฃ ืืขืืขืจ ืขื ืืขืจืื ื ืืืืื ืืืืฃ ืืืื ืงืึธืืคึผืืืืขืจ ืืื ืจืืคึผืึธืจืฅ ืกืึทืกืคึผืืฉืึทืก ืขืจืืขืจ ืืืขื ืืืจ ืึทืจืืขื ืืืืฃ ืื ืงืึธื.
ืืื ืืืื ืืืจ ืึธืืขืจ ืืืื ืืืจืื ืืขื ืขื ื ืึธื ื ืืฉื ืืืืขืจ ืฆื ืขืก ืืื ืืืขืจื ืืืคึผืืึทืืขื ืื ื ืื ืึทื ืึทืืืืขืจ, ืืื ืคึฟืึธืจืฉืืึธืื ืืืจ ืืืฆื ืึธื ืืืืื ืืืืขื ืขื ืืขื ืึทืจืืืงื "
ืืืื ืืืจ ืืืืื ืฆื ืืืืื ืืขื ืึทืจืืืงื ืืื ืึทื ืขื ืืืืฉ-ืืขืจืขืื ืืืืขื, ืืืืข ื ืืฆื ืื ืืืืขืจืืขืฆืื ื ืืื ืง: ืืึทืงืกืื ืืืืืึทืืื ืืกืขืื.
ืืงืืจ: www.habr.com