ืขืก ืืื ืืจืื ื ืฆื ืคึผืจืืืืจื ืึท ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืืขืจ. ืืืขืจ ืฆื ืื ืกืืจืืืขื ื ืขืก, ืกืคึผืขืฆืืขื ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคืื ืึท ืืจืืืก ืึทืื ืคึผืจืืืขืงื, ืจืืงืืืืืขืจื ืืงืืขืก. ืืืื ืขืก ืืื ืคืึทืืฉ ืืขืืื, ืืขืจ ืึทื ืึทืืืืขืจ ืงืขื ืขื ืืืืื ืึทืจืืขื, ืคึผืึทืืขืืขื ืึทื ืืืืืงืืื ื ืืื ืืขืืึธืืืืืืจื ืื ืืึทื ืฉืึทืคึฟื. ืืื ืก ืืขืงืืฆืขืจ ืจืขืื ืืืขืื ืืื ืฆื ืจืขืื ืฆืืืึทื ื ืื ืื ืึทืืจืืืฉืึทื ืคืื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก ืืื ืึธื ืืืืื ื ืืฆื ืขืก ืืื ืึท ืืืื ืคืื ืกื / ืกื.
ืืงืืื
ืืขืฆืื ืก ืืึธื ืืขื ืืื ืืขืฆืืืื ืฆื ืืขืจ ืืืืกืืึทืืข "
ืืื ืืืขืจ PVS-Studio ืืึทื ืฉืึทืคึฟื ืึธืคืคืขืจืก ืืืื ืืืื ืื ื ืืืืฃ ืืขื ืืขืืข. ืืื ืก ืงืืง ืืื ืื ืคึผืจืึธืืืขื ืคืื ืืืคึผืืึทืืขื ืื ื ืึท ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืืขืจ ืขืจืืืืึทื ืืื ืืขืจ ืขืจืฉืืขืจ ืึธืจื, ืืื ืฆื ืืึทืงืืืขื ืืขื ืคึผืจืึธืืืขื ืืื ืืื ืฆื ืคึผืืื ืืึทืกืื ืืืกืืขืืืืืึทื ืขืืืืื ืืจื ืืขืื ืืฉ ืืืืื.
ืคึผืจืึธืืืขืืก
ืขืก ืืื ืืืืฉืึทืืืึทืื ื ืืฉื ืฉืืืขืจ ืฆื ืงืึทืืขืจ ืืื ืืขื ืืื ืึท ืกืืึทืืืง ืึทื ืึทืืืืขืจ ืึทืจืืขื.
ืึทืืข ืกืืึทืืืง ืึทื ืึทืืืืขืจื ืคึผืจืึธืืืฆืืจื ืคืึทืืฉ ืคึผืึทืืึทืืืืื. ืืึธืก ืืื ืึท ืฉืืจืื ืคืื ืื ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืกืืก ืืขืืึทืืึทืืึทืืืฉื, ืืื ืืึธืจื ืืฉื ืงืขื ืขื ืืืื ืืขืืื ืืืขืื ืืื. ืืื ืึทืืืขืืืื ืคืึทื, ืืึธืก ืืื ืึทื ืึทื ืกืึทืืืืึทืืึทื ืคึผืจืึธืืืขื, ืืื ืืืฉืืขืืืงื ืืืจื ืจืืืก ืก ืืขืึธืจืขื [
ืคืึทืืฉ ืคึผืึทืืึทืืืืื ืืขื ืขื ื ืืฉื ืึท ืคึผืจืึธืืืขื ืืืื ืื ืกืืึทืืืง ืึทื ืึทืืืืขืจ ืืื ืฉืืื ืงืึทื ืคืืืืขืจื:
- ืคืึทืจืงืจืืคึผืื ืืจืขืืึทืืืึทื ื ืืขืจืฉื ืฉืืขืื;
- ืขืืืขืืข ืืจืขืืึทืืืึทื ื ืืืึทืื ืึธืกืืืงืก ืืึธืื ืฉืืื ืคืึทืจืงืจืืคึผืื;
- ืืืื ืืืจ ืจืขืื ืืืขืื C ืึธืืขืจ C++, ืขืก ืืขื ืขื ืืึทืงืจืึธืก ืืืึธืก ืึทื ืืืึทืืื ืกืคึผืขืฆืืคืืฉ ืงืึทื ืกืืจืึทืงืฉืึทื ื ืืืึธืก ืืึทืื ืึทืจืืืกืืขืืืึธืจืคื ืืืึธืจื ืื ืื ืืื ืืขืืขืจ ืึธืจื ืืื ืึทืืึท ืืึทืงืจืึธืก ืืขื ืขื ืืขื ืืฆื;
- ืืืืืขื ืข ืคืึทื ืืงืฉืึทื ื ืืขื ืขื ืื ืืขืฆืืืื ื ืืืึธืก ืืืจืืคืืจื ืึทืงืฉืึทื ื ืขื ืืขื ืฆื ืกืืกืืขื ืคืึทื ืืงืฉืึทื ื (ืืืื ืืืืืขื ืข ืึทื ืึทืืึธื ืืขืืงืคึผื ืึธืืขืจ ืคึผืจืื ืืฃ) [
4 ]; - ืคืึทืืฉ ืคึผืึทืืึทืืืืื ืืขื ืขื ืกืคึผืึทืกืืคืืงืื ืคืึทืจืงืจืืคึผืื ื ืืฆื ืืึทืืขืจืงืื ืืขื;
- ืืื ืึทืืื ืืืืฃ.
ืืื ืืขื ืคืึทื, ืืืจ ืงืขื ืขื ืืขืจืืืึทืจืื ืึท ื ืืืขืจืืง ืคืึทืืฉ positive ืงืืจืก ืคืื ืืืขืื 10-15% [
ืืื ืคืึทืงื, ืืื ืึท ืืจืืืก ืคึผืจืืืขืงื, ืื ืขืจืฉื ืืืื ืืืขื ืืืื ืืึธืจ ืึทื ืืขืจืฉ. ืืขืจ ืึทื ืึทืืืืขืจ ืึทืจืืืกืืขืื ืืื ืืขืจืืขืจ ืึธืืขืจ ืืืืื ืืขืจ ืคืื ืืืึธืจื ืื ืื ืคึฟืึทืจ ืืขืืึทื ืงืึธื. ืขืก ืืื ืืืืืขืืืขื ืฆื ืืขืฉืืืื ื ืคึฟืึทืจืฉืืืื ืืืึธืก ืคืื ืื ืืืึธืจื ืื ืื ืืขื ืขื ืืึทืืืึทืืืง ืืื ืืืึธืก ืืขื ืขื ื ืืฉื. ืขืก ืืื ืืจืึทืฉืึทื ืึทื ืฆื ืืืฆื ืึทืจืึธืคึผ ืืื ืึธื ืืืืื ืฆื ืืึทื ืืืขื ืืื ืึทืืข ืื ืืืึธืจื ืื ืื, ืืืืึทื ืื ืืืืคึผื ืึทืจืืขื ืืื ืืขื ืคืึทื ืืืขื ืืึทืืื ืคึฟืึทืจ ืืขื ืึธืืขืจ ืืืึธืื. ืืืคึผืืงืึทืืื, ืึท ืืึทื ืฉืึทืคึฟื ืงืขื ื ืืฉื ืคืึทืจืืื ืขื ืืื ืึทืืึท ืึท ืกืฆืขื ืึทืจ. ืขืก ืืืขื ืืืื ืืืื ืึท ืจืืืืง ื ืืืขืจ ืคืื ืืืคืคืก ืืืึธืก ืฆืขืืึธืื ืื ืขื ืืขืจืื ื ืืขืฉืืืืข. ืืื ืืื ืืึทืกืข ืขืืืืื ื ืคืื ืึทืืื ืคืืืข ืคืจืึทืืืึทื ืฅ ืืื ืื ืงืึธื ืืืขื ืื ืขืืืึทืืึทืืื ืจืขืืืืืึทื ืืื ื ืืึทืข ืืืคึผืึธืก ืืื ืขืจืจืึธืจืก.
ืืื ืจืืึฟ ืืืคึผืึธืจืืึทื ืืื, ืึทืืึท ืึท ืคืื ืืื ืืขื ืงืึทืืฃ ืงืขืื ืืืึธืจื ืื ืื ืืืื ืงืืืื ืืื ืขื. ืฉืืืืขื ืึทื ืืื ื ืื ืคึผืจืืืขืงื ืืื ืคืืืกื ืืืง ืืฆืืื ืคึฟืึทืจ ืคืืืข ืืึธืจื, ืจืืึฟ ืคืื ืื ืงืจืืืืฉ ืขืจืจืึธืจืก ืืื ืขืก ืืขื ืขื ืฉืืื ืงืขืจืขืงืืึทื. ืืึธ, ืื ืคืืงืกืื ืืขื ืขื ืืืืขืจ ืืืึทืขืจ, ืืื ืฆื ืืืื ืืืืึทืื, ืืืงืืืขื ื ืขืืึทืืืื ืืึทืืขืจืงืื ืืขื ืคืื ืืึทื ืืฆืขืจ ืืืขืื ืืึทืื, ืืื ืึทืืื ืืืืฃ. ื ืกืืึทืืืง ืึทื ืึทืืืืขืจ ืืืึธืื ืืขืืคึฟื ืคืึทืจืจืืืื ืคืืืข ืคืื โโืื ืขืจืจืึธืจืก ืืื ืื ืงืึธืืืจืื ื ืืื ืข, ืืขืฉืืืื ื ืืื ืืืืืง. ืืืขืจ ืืื ืืขื ืืึธืืขื ื, ืืืื ืืืขื ืึธืืขืจ ืื ืืขืจื, ืื ืขืจืจืึธืจืก ืืขื ืขื ืคืึทืจืคืขืกืืืงื, ืืื ืืขืจ ืึทื ืึทืืืืขืจ ืืขืจ ืืืืคึผื ืืืืขืงืฅ ื ืื-ืงืจืืืืฉ ืขืจืจืึธืจืก ืืื ืื ืึทืื ืงืึธื. ืืขืจ ืงืึธื ืงืขื ื ืืฉื ืืืื ืืขืืืืื ื, ืขืก ืงืขื ืืืื ืืขืืืืื ื ืืืืขืจ ืจืึทืจืขืื, ืืื ืึท ืืขืืช ืืื ืขืก ืงืขื ื ืืฉื ืคืืจื ืฆื ืืืืขืจืงื ืงืึทื ืกืึทืงืืืขื ืกืึทื. ืืึธืืขืจ ืขืจืืขืฅ ืื ืฉืึธืื ืคืื ืื ืงื ืขืคึผื ืืื ืื ืืืืจืขืื ืงืึธืืืจ, ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืึทืจืืึทื ืืืฉื ืืื ืืื ืืืขืจ ืขืก ืื ืก ื ืืฆื ืคืื ืืขื ืคึผืจืึธืืืงื.
ืคืื ืงืืจืก, ืืคืืื ืืื ืขืจืืืขืจืืืง ืืืกืืืืงืก ืืขื ืขื ื ืึธื ืืืกืืืืงืก. ืืื ืืื ืึท ืืจืืึทื ืงืขื ืขื ืืึทืืึทืืื ืึท ืคืึทืงืืืฉ ืืืึทืื ืขืจืึทืืืืืื. ืืืขืจ, ืืคืืขืื ืืืขืก ืืื ืคืืจืืจืขื ืืขื ืืขื/ืืืืื ืฆื ืืื ืืืขื ืืื ืืกืจืื ืืช ืืืืก ืืื ืงืืื ืื ืืคืืขืงื ืืขื ืืืืก ืืื ื ืกืคืขืฆืืคืืฉืข ืืืืขืข.
ืคึผืจืึธืืจืึทืืืขืจืก ืงืืงื, ืงืืง, ืงืืง ืืืืฃ ืึทืืข ืื ืืืึธืจื ืื ืื ืืืขืื ืื ืึทืื ืืจืืขืื ืงืึธื ... ืืื ืืื ืืจืึทืืื: ืืืจ ืงืขื ืขื ืืึธื ืึธื ืกืืึทืืืง ืึทื ืึทืืืกืืก. ืืื ืก ืืืื ืฉืจืืึทืื ืขืืืขืืข ื ืืึท ื ืืฆืืง ืคืึทื ืืงืฉืึทื ืึทืืืื.
ืืื ืืืืขืจ ืืืืื ืืืขื, ืืื ืืขื ืขื ืจืขืื. ืืื ืจืขืืขื ืขื ืึทื ืขืจืฉืืขืจ ืืื ืืึธืื ืฆื ืขืคืขืก ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืึทืืข ืื ืืืึธืจื ืื ืื. ืืืืื ืืขืืึธืื ืืื ืงืขื ืขื ื ืืฅ ืคืื ืจืขืืืืขืจ ื ืืฆื ืคืื ืื ืงืึธื ืึทื ืึทืืืืขืจ. ืึทื ืืขืจืฉ, ื ืืึท ืืืึธืจื ืื ืื ืืืขื ืคืฉืื ืืขืจืืจืื ืงืขื ืืื ืึทืื ืึธื ืขืก, ืืื ืงืืื ืืืื ืขืจ ืืืขื ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืึทื ืฆื ืืื.
ืืึธืก ืืื ืื ืืขืืืข ืึทื ืึทืืึทืืืฉื ืืื ืืื ืงืึทืืคึผืืืืขืจ ืืืึธืจื ืื ืื. ื ืืฉื ืืืืืืกื ืจืขืงืืืขื ืืืจื ืืขื ืฆื ืืืืื ืื ืฆืื ืงืืืคืืืืขืจ ืืืืจืขื ืื ืืขื ืืื 0. ืืืื ืขืก ืืขื ืขื ืคืืจืื 1000 ืืืืจืขื ืื ืืขื, ืืืขื ืขืก ืืขื ืขื 1001, ืืืขื ืงืืื ืขืจ ื ืืฉื ืืืืื ื ืืขืื ืืขืจืืืฃ, ืืื ืขืก ืืื ื ืืฉื ืงืืืจ ืืืื ืืขื ืืื ืืืื ืื ื ืืืข ืืืืจืขื ืื ื.
ืื ืขืจืืกื ืืึทื ืืื ืืขื ืืขืฉืืืืข ืืื ืืืื ืขืืขืฆืขืจ ืคืื ืืืืื ืืื ืืขื ืืึธืืขื ื ืคืึธืจืกืขืก ืืืจ ืฆื ื ืืฆื ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืกืืก. ืืึธืก ืืืขื ื ืึธืจ ืืขืืึธืืืืืืจื ืื ืืึทื ืฉืึทืคึฟื, ืืืืึทื ืคึฟืื ืืืืขืจ ืคืื ื ืคืื ืืืื ืื ื ืขืก ืืืขื ืืืื ื ืึธื ืืืืจืึทืงืจืึทืืืง ืงืึทืืคึผืืขืงืกืืื ืืืึธืก ื ืึธืจ ืืึทืงืืืขื ืืื ืื ืืืขื. ืงืืื ืขืจ ืืืขื ื ืืฉื ืงืืงื ืืื ืื ืจืืคึผืึธืจืฅ ืคืื ืื ืึทื ืึทืืืืขืจ, ืืื ืึทืืข ื ืืฆื ืืืขื ืืืื ืืืืื "ืืืืฃ ืคึผืึทืคึผืืจ". ืืขื ืข. ืคืึธืจืืึทืื, ืึทื ืึทืืืกืืก ืืื ืืขืืืื ืืื ืื DevOps ืคึผืจืึธืฆืขืก, ืึธืืขืจ ืืื ืคืืจ ืืึธืก ืืื ื ืืฉื ื ืืฅ ืืืขืจ ืขืก ืื. ืืืจ ืืึธืื ืืขืืขืจื ืืืืืืื ืืขืจืฆืืืืื ืืขื ืืื ืืืืก ืคืื ืงืึธื ืคึฟืขืจืขื ืฅ ืึทืืขื ืืึทื ืฅ. ืึทืืึท ืึท ืืขืจืคืึทืจืื ื ืงืขื ืขื ืืืกืงืขืจืืืืฉ ืคึผืจืึธืืืจืึทืืขืจื ืคืื ื ืืฆื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืืฉืืจืื ืคึฟืึทืจ ืึท ืืึทื ื ืฆืืึทื, ืืืื ื ืืฉื ืืืืฃ ืืืืืืง.
ืืืคึผืืึทืืขื ืื ื ืืื ืืืืืึทื ืืืืื ื ืืขืื ืืฉ ืืืืื
ืืื ืคืึทืงื, ืขืก ืืื ืืึธืจื ืืฉื ืฉืืืขืจ ืึธืืขืจ ืกืงืขืจื ืืืขืื ืื ืืจืึธืืืืกืื ื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืคืืื ืืื ืึท ืืจืืืก ืึทืื ืคึผืจืืืขืงื.
ืกื / ืกื
ืืขืจืฆื, ืื ืึทื ืึทืืืืขืจ ืงืขื ืขื ืืืืื ืืืื ืึท ืืืื ืคืื ืื ืงืขืกืืืืขืจืืืง ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื PVS-Studio ืคืึทืจืฉืคึผืจืืืืื ื ืึผืืื ืืืืืืึทืืื ืคึฟืึทืจ ืงืึทื ืืืื ืืึทื ืืื ืืืืืื ื ืืขื ืืึทืจืืื ืืื ืืขื ืคึฟืึธืจืืึทื ืืืจ ืืึทืจืคึฟื, ืืื ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืฆื ืืขืืืขืืึธืคึผืขืจืก ืืืึธืก ืืึธืื ืืขืฉืจืืื ืคึผืจืึธืืืขืืึทืืืง ืกืขืงืฉืึทื ื ืคืื ืื ืงืึธื. ืคึฟืึทืจ ืืขื ืข ืืืึธืก ืืขื ืขื ืืขืจ ืืื ืืขืจืขืกืืจื ืืื ืงืึทืืขืจ PVS-Studio ืคึฟืื CI / CD ืกืืกืืขืืขื, ืืื ืจืขืงืึธืืขื ืืืจื ืืืจ ืืืงืขื ืขื ืืื ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื
PVS-Studio ืืืื ืฆื ืื ืืืืืงื ืก: Azure Devops PVS-Studio ืืืื ืฆื ืื ืืืืืงื ืก: Travis CI PVS-Studio ืืืื ืฆื ืื ืืืืืงื ืก: GitLab CI / CD PVS-Studio ืืืื ืฆื ืื ืืืืืงื ืก: CircleCI
ืึธืืขืจ ืืึธืื ืืื ืื ืฆืืจืืงืงืืืขื ืฆื ืื ืึทืจืืืกืืขืื ืคืื ืึท ืืจืืืก ื ืืืขืจ ืคืื ืคืึทืืฉ ืคึผืึทืืึทืืืืื ืืื ืืขืจ ืขืจืฉืืขืจ ืกืืึทืืขืก ืคืื ืืืคึผืืึทืืขื ืื ื ืงืึธื ืึทื ืึทืืืกืืก ืืืฉืืจืื.
ืคืืงืกืืจ ืืืืืกืืื ื ืืขืื ืืฉ ืืืืื ืืื ืืึทื ืืืื ื ืืื ื ืืึทืข ืืืึธืจื ืื ืื
ืืึธืืขืจื ืืขืฉืขืคื ืกืืึทืืืง ืึทื ืึทืืืืขืจื ืืึธืื ืืืจ ืฆื ืืขืจื ืขื ืืืืื ื ืืึทืข ืืืึธืจื ืื ืื ืืืึธืก ืืขืจืฉืืึทื ืขื ืืื ื ืืึทืข ืึธืืขืจ ืืขืืืื ืงืึธื. ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืืขื ืืขืงืึทื ืืืึทื ืืืขืจืื, ืึธืืขืจ ืื ืขืกืึทื ืก ืืื ืื ืืขืืืข. ืืื ืื PVS-Studio ืกืืึทืืืง ืึทื ืึทืืืืขืจ, ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืืื ืืืคึผืืึทืืขื ืึทื ืืื ืืืื.
ืฆื ืืขืฉืืืื ื ืึธื ืืืืื ื ืืฆื ืกืืึทืืืง ืึทื ืึทืืืกืืก, ืืืจ ืคึฟืึธืจืฉืืึธืื PVS-Studio ืืืืขืจื ื ืืฆื ืื ืืขืงืึทื ืืืึทื ืคึฟืึทืจ ืืึทืกืข ืกืึทืคึผืจืขืฉืึทื ืคืื ืืืึธืจื ืื ืื.
ืืืจ ืงืขื ื ืืึธืื PVS-Studio ืฆื ืืึทืืจืึทืืื ืื ืืืึธืจื ืื ืื ืืจืขืืึทืืืึทื ื ืคึฟืึทืจ ืืืฆื (ืืื ืืขืื ืืฉ ืืืืื ืคึฟืึทืจ ืฉืคึผืขืืขืจ), ืืื ืขืก ืืืขื ื ืื ืืขืจ ืืืืึทืื ืืื. ืืขืจ ืึทื ืึทืืืืขืจ ืงืจืืืืฅ ืึท ืกืคึผืขืฆืืขื ืืขืงืข ืืื ืขืก ืกืึทืืืขืก ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืขืจืจืึธืจืก ืืืึธืก ืืขื ืขื ื ืืฉื ื ืึธื ืืฉืืงืึทืืืข. ืืื ืืืฆื PVS-Studio ืืืขื ืึทืจืืืกืืขืื ืืืึธืจื ืื ืื ืืืืื ืคึฟืึทืจ ื ืืึทืข ืึธืืขืจ ืืขืืืื ืงืึธื. ืืขืจืฆื, ืึทืืข ืืขื ืืื ืืืคึผืืึทืืขื ืึทื ืงืืขืืืขืจืื. ืืืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึท ืืืืืืง ืฉืืจื ืืื ืฆืืืขืืขืื ืฆื ืื ืึธื ืืืื ืคืื ืื ืืงืืจ ืงืึธื ืืขืงืข, ืืขืจ ืึทื ืึทืืืืขืจ ืคืืจืฉืืืื ืึทื, ืืื ืคืึทืงื, ืืึธืจื ืืฉื ืืื ืืขืืืื, ืืื ืืืขื ืคืึธืจืืขืฆื ืฆื ืืืื ืฉืืื. ืืขื ืืึทืจืงืึทืคึผ ืืขืงืข ืงืขื ืขื ืืืื ืฉืืขืื ืืื ืึท ืืืขืจืกืืข ืงืึธื ืืจืึธื ืกืืกืืขื. ืืขืจ ืืขืงืข ืืื ืืจืืืก, ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืึท ืคึผืจืึธืืืขื, ืืืืึทื ืขืก ืืื ืงืืื ืคืื ื ืฆื ืกืืึธืจืื ื ืขืก ืึธืคื.
ืืืฆื ืึทืืข ืคึผืจืึธืืืจืึทืืขืจื ืืืขื ืืขื ืืืึธืจื ืื ืื ืฉืืื ืืืืื ืฆื ื ืืึทืข ืึธืืขืจ ืืขืืืื ืงืึธื. ืืืื, ืืืจ ืงืขื ืขื ืึธื ืืืืื ื ืืฆื ืื ืึทื ืึทืืืืขืจ, ืืื ืืื ืืึธืื, ืคึฟืื ืืขืจ ืืืืึทืืขืจ ืืึธื. ืืื ืืืจ ืงืขื ืขื ืฆืืจืืงืงืืืขื ืฆื ืืขืื ืืฉ ืืืืื ืฉืคึผืขืืขืจ, ืืื ืืืกืืขืืืืืึทื ืคืึทืจืจืืืื ืขืจืจืึธืจืก ืืื ืงืึทื ืคืืืืขืจ ืื ืึทื ืึทืืืืขืจ.
ืึทืืื, ืืขืจ ืขืจืฉืืขืจ ืคึผืจืึธืืืขื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืึทื ืึทืืืืขืจ ืืื ืึท ืืจืืืก ืึทืื ืคึผืจืืืขืงื ืืื ืกืึทืืืื. ืืืฆื ืืึธืื ืก ืจืขืืขื ืขื ืืืืก ืืืึธืก ืฆื ืืึธื ืืื ืืขืื ืืฉ ืืืืื.
ืืฉืืง ืคืืงืกืื ืืื ืจืืคืึทืงืืขืจื
ืื ืกืืืคึผืืึทืกื ืืื ืืขืจืกื ื ืึทืืืจืืขื ืืึทื ืืื ืฆื ืฉืืขืื ืขืืืขืืข ืฆืืื ืฆื ืคืื ืึทื ืืขืจืงืืืึทืื ืืึทืกืืื ืกืึทืคึผืจืขืกื ืึทื ืึทืืืืขืจ ืืืึธืจื ืื ืื ืืื ืืืกืืขืืืืืึทื ืืึทื ืืืขื ืืื ืืื. ืขืจืืขืฅ ืืืจ ืืึธื ืคืึทืจืจืืืื ืขืจืจืึธืจืก ืืื ืื ืงืึธื, ืขืจืืขืฅ ืืืจ ืืึธื ืจืขืคืึทืงืืึธืจ ืฆื ืืึธืื ืื ืึทื ืึทืืืืขืจ ืึทื ืื ืงืึธื ืืื ื ืืฉื ืคึผืจืึธืืืขืืึทืืืง. ืคึผืฉืื ืืืึทืฉืคึผืื:
if (a = b)
ืจืืึฟ C ++ ืงืึธืืคึผืืืขืจืก ืืื ืึทื ืึทืืืืขืจื ืืึทืงืืึธืื ืืื ืืืขืื ืึทืืึท ืงืึธื, ืืืืึทื ืขืก ืืื ืึท ืืืื ืืึทืฉืืึธืขืก ืึทื ืืื ืืึทืงืข ืืขืืืืื ืฆื ืฉืจืืึทืื (ื == ื). ืืืขืจ ืขืก ืืื ืึท ืึทื ืกืคึผืึธืืงืึทื ืืขืกืงืขื, ืืื ืืึธืก ืืื ืืืืฉืึทืืืึทืื ืืืืขืจืงื ืืื ืื ืืึทืงืืืืขื ืืืืฉืึทื, ืึทื ืืืื ืขืก ืืขื ืขื ื ืึธื ืงืืึทืืขืจื, ืขืก ืืื ืืขืืืืื ืึทื ืืขืจ ืคึผืจืึธืืจืึทืืืกื ืืืืืืจืึทืืื ืืขืฉืจืืื ืึทืืึท ืงืึธื, ืืื ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืฉืืืขืจื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืื PVS-Studio ืืึทืงืืืืขื ืืืืฉืึทื ืคึฟืึทืจ ืืืึทืื ืึธืกืืืงืก
if ((a = b))
ืื ืื ืืขืจ ืืืึทืฉืคึผืื. ืืื ืขืก ืคืืจืืขืกื ืืื ืืขื C ++ ืงืึธื? ืืจืขืื ืึธืืขืจ ื ืืฉื?
case A:
foo();
case B:
bar();
break;
ืื PVS-Studio ืึทื ืึทืืืืขืจ ืืืขื ืึทืจืืืกืืขืื ืึท ืืืืจืขื ืื ื ืืึธ
case A:
foo();
[[fallthrough]];
case B:
bar();
break;
ืขืก ืงืขื ืขื ืืืื ืืขืืึธืื ืึทื ืึทืืึท ืงืึธื ืขื ืืขืจืื ืืขื ืืึธื ื ืื ืคืึทืจืจืืืื ืืขื ืืฉืืง. ืืึธ, ืืึธืก ืืื ืืืช, ืึธืืขืจ ืขืก ืืื ืฆืืืื ื ืืฆืืง ืืื ืื. ืขืจืฉืืขืจ, ืืขืจ ืึทื ืึทืืืืขืจ ืืึทืจืืื ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืคืึทืืฉ ืคึผืึทืืึทืืืืื. ืฆืืืืืื ืก, ืื ืงืึธื ืืืขืจื ืืขืจ ืคืึทืจืฉืืืืืง ืคึฟืึทืจ ืื ืืขื ืืฉื ืื ืืืึทืืืื ืืื ืืืึทื ืืืฉืึทืื. ืืื ืืึธืก ืืื ืืืืขืจ ืืืืืืืง! ืคึฟืึทืจ ืืขื ืึทืืืื, ืขืก ืืื ืืืขืจื ืฆื ืืืจืืคืืจื ืืื ืขืจืืืขืจืืืง ืจืขืคืึทืงืืึธืจืื ืื ืฆื ืืึทืื ืื ืงืึธื ืงืืืจืขืจ ืืื ืืจืื ืืขืจ ืฆื ืืืึทื ืขื. ืืื ื ืืขืจ ืึทื ืึทืืืืขืจ ืงืขื ื ืืฉื ืคึฟืึทืจืฉืืืื ืฆื "ืืจืขืื" ืืื ืืืจืฃ ืึธืืขืจ ื ืืฉื, ืขืก ืืืขื ืืืื ืืืื ืืืงืืึธืจ ืคึฟืึทืจ ืืื ืืขืจืืึทื ืคึผืจืึธืืืจืึทืืขืจื.
ืืื ืึทืืืฉืึทื ืฆื ืืฉืืง ืคืืงืกืื ืืื ืจืขืคืึทืงืืึธืจืื ืื, ืืืจ ืงืขื ืขื ืกืคึผืึทืกืืคืืงืื ืคืึทืจืฉืืืงื ืืึธื ืคืึทืืฉ ืึทื ืึทืืืืขืจ ืืืึธืจื ืื ืื. ืขืืืขืืข ืืจืขืืึทืืืึทื ื ืืืึทืื ืึธืกืืืงืก ืงืขื ืขื ืืืื ืคืึทืจืงืจืืคึผืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืขืืขืฆืขืจ ืืืื ื ืืืึธืจื ืื ืื ืืขื ืขื ืืืืื ืืง
ืขืก ืืขื ืขื ืื ืืขืจืข ืืืขืื ืฆื ืคืึทืจืฉืืืงื ืคืึทืืฉ ืึทืืขืจืฅ. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืึทืงืจืึธื ืืึทืจืงืึทืคึผ ืืื ืืขืืืขื ืืขืจืืื ื ืคืจืืขืจ. ืึทืืข ืืขื ืืื ืืืกืงืจืืืื ืืื ืืขืจ ืืขืืึทื ืืื ืื ืืึทืงืืืืขื ืืืืฉืึทื. ืื ืืขืจืกื ืืืืืืืง ืืึทื ืืื ืฆื ืคึฟืึทืจืฉืืืื ืึทื ืืืื ืืืจ ืืืกืืขืืืืืึทื ืืื ืกืืกืืขืืึทืืืฉ ืฆืืืึทื ื ืฆื ืึทืจืืขืื ืืื ืคืึทืืฉ ืคึผืึทืืึทืืืืื, ืขืก ืืื ืืึธืจื ืืฉื ืคืึทืืฉ ืืื ืืื. ืื ืืืึทืกื ืืขืจืืืึทื ืคืื ืึทื ืื ืืจืึทืกืืื ื ืืืึธืจื ืื ืื ืคืึทืจืฉืืืื ืื ื ืึธื ืงืึทื ืคืืืืขืจืืืฉืึทื, ืืื ืืืืื ืขืจืืขืจ ืืืึธืก ืืึทืงืข ืืึทืจืคื ืึธืคึผืืขืืื ืืขืจื ืขื ืืื ืขืืืขืืข ืขื ืืขืจืื ืืขื ืืื ืื ืงืึธื ืืืืืื.
ืืืื, ืืืจ ืฉืืขื ืืืง ืืขืืคึฟื ืืื ืืืขืจ ืงืืืืึทื ืฅ ืฆื ืฉืืขืื ืึทืจืืืฃ PVS-Studio ืืืื ืขืก ืืขื ืขื ืฉืืืขืจืืงืืืื. ืืขืจืฆื, ืขืก ืืขื ืขื ืืขืืืขื ืงืึทืกืขืก ืืืขื ืืืจ ืืื ืืืืืึทื ืืืืึทื ืคืึทืืฉ ืืืึธืจื ืื ืื ืืื ืงืขืจืขืงืืึทื ืขืจืจืึธืจืก [
ืจืึทืืฉืขื ืืืคึฟื
ืขืก ืืื ืื ืื ืืขืจ ืืฉืืงืึทืืืข ืฆืืืึทื ื ืฆื ืืืกืืขืืืืืึทื ืคึฟืึทืจืืขืกืขืจื ืงืึธื ืงืืืึทืืืืขื ืืืจื ืืืืืึทื ืืืืื ื ืื ืกืืึทืืืง ืึทื ืึทืืืืขืจ ืืืืจืขื ืื ื. ืื ืื ืึธ ืฉืืจื ืืื ืึทื ืื ื ืืืขืจ ืคืื ืืืึธืจื ืื ืื ืงืขื ืขื ืืืืื ืคืึทืจืืื ืขืจื.
ืื ื ืืืขืจ ืคืื ืืืึธืจื ืื ืื ืืจืืืก ืืืจื ืื ืกืืึทืืืง ืึทื ืึทืืืืขืจ ืืื ืจืขืงืึธืจืืขื. ืงืืืึทืืืืขื ืืืืขืจ ืืื ืงืึทื ืคืืืืขืจื ืืื ืึทืืึท ืึท ืืืขื ืึทื ืืืฆื ืืืจ ืงืขื ืขื ื ืึธืจ ืึทืจืืึทื ืึท ืงืึธื ืืืึธืก ืืื ื ืืฉื ืคืึทืจืืจืขืกืขืจื ืื ื ืืืขืจ ืคืื ืึทืคึผืขืจืืืฉืึทื ื. ืืื ืึท ืจืขืืืืืึทื, ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืืืกืืขืืืืืึทื ืจืืืืกืื ื ืื ื ืืืขืจ ืคืื ืึทืืึทืจืืก ืกืืึทืจืฅ ืืืจื ืึทืืืฉืึทืกืืื ื ืื ืึทื ืึทืืืืขืจ ืืื ืงืขืจืขืงืืื ื ืขืจืจืึธืจืก.
ืืคืืื ืืืื ืึท ืืขื ืืฉ ืืืื ืฆื ืึธืคึผื ืึทืจื ืึท ืืืกื ืืื ืืึทืฉืืึธืกื ืฆื ืคืึธืจื ืื ืงืืืึทืืืืขื ืืืืขืจ ื ืืฉื ืืืจื ืืืืืึทื ืืืืื ื ืืืึธืจื ืื ืื ืืื ืืืื ื ืืึท ืงืึธื, ืึธืืขืจ ืืืจื ืืืคึผืจืืืืื ื ืื ืึทืื ืืจืื-ืคึผืึทืจืืื ืงืึธื, ืืึธืก ืืื ื ืืฉื ืกืงืขืจื. ืึทืืข ืื ืืขืืืข, ืื ืจืึทืืฉืขื ืจืึธืืืืืฅ ืืื ืืืื ืจืืืืื ื, ืืื ืืืกืืขืืืืืึทื ืื ื ืืืขืจ ืคืื ืืกืจืื ืืช ืืืขื ืคืึทืจืืื ืขืจื. ืืคืืื ืืืื ืึท ืืขื ืืฉ ืืืื ื ืืฉื ืคืึทืจืจืืืื ืืืื ืืืืืขื ืข ื ืืึท ืืกืจืื ืืช, ืขืจ ืืืขื ื ืึธื ืืึธืื ืฆื ืคึฟืึทืจืืขืกืขืจื ืขืคึผืขืก ืืื ืื ืืจืืืืงืข ืงืึธื. ืืื ืขืืืขืืข ืคืื ื, ืื ืืจืื ื ืืืขืื ืฆื ืจืขืืืฆืืจื ืื ื ืืืขืจ ืคืื ืืืึธืจื ืื ืื ืขื ืืืงื, ืืื ืขืก ืงืืื ืึท ืคืื ื ืืืขื ืคืึทืงืืืฉ ืืึทืื ืืืขื ืืืื ืคืึทืจืคืขืกืืืงื.
ืื ืืขืืึทืืึทืืึทืืืฉื ืืื ืืืกืงืจืืืื ืืื ืืขืจ ืืขืืึทื ืืื ืึท ืืืืขืจ ืืฉืืงืึทืืืข ืึทืจืืืงื ืคืื ืืืืืื ืคึผืึธื ืึธืืึทืจืขืื "
ืืขืจ ืืืืจ ืคืื ืืขื ืึทืจืืืงื ืืื ืืืื ืึท ืืึทืจืืื ืืืืฃ ืืขื ืืขืืข: "
ืกืึธืฃ
ืืื ืืึธืคึฟื ืึทื ื ืึธื ืืขื ืึทืจืืืงื, ืืืืขื ืขืจ ืืืขืื ืืืื ืืขืจ ืึทืงืกืขืคึผืืื ื ืคืื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืืฉืืจืื ืืื ืืืขืื ืฆื ืื ืกืืจืืืขื ื ืืื ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก. ืืืื ืืืจ ืืึธื ืคึฟืจืืื, ืืืจ ืืขื ืขื ืฉืืขื ืืืง ืืจืืื
ืขืก ืืขื ืขื ืื ืืขืจืข ืืืคึผืืฉ ืกืคืงืืช ืืืขืื ืฆื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืงืขื ืขื ืืึทืงืข ืืืื ืืึทืงืืืขื ืืื ื ืืฆืืง. ืืื ืืขืคืจืืืื ืฆื ืืืกืคึผืขื ืจืืึฟ ืคืื ืื ืกืคืงืืช ืืื ืืขืจ ืืืกืืึทืืข "ืกืืืืช ืฆื ืืึทืงืขื ืขื ืื PVS-Studio ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืืขืจ ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก" [
ืืื ืง ืืืจ ืคึฟืึทืจ ืืืื ืืคืืขืจืงืืึทืืงืืึทื ืืื ืงืืืขื
ื ืึธื ืืื ืงืก
- ืื ืืจืื ืงืึทืจืคึผืึธืื.
ืืื ืงืขื ืืื ืืขืฉืืืื ื ืืขื ืืฉืืงืึทืืืข ืืืึธืจื ืื ืื ืึทื ืื PVS-Studio ืึทื ืึทืืืืขืจ ืืจืืื ืคึฟืึทืจ C ืืื C ++ ืงืึธื? - ืืืืงืืคืขืืืข.
ืจืืืก ืก ืืขืึธืจืขื . - ืึทื ืืจืื ืงืึทืจืคึผืึธืื, ืืืืงืืึธืจืืึท ืืึทื ืืขืืืึท.
ื ืืฆื ืืึทืฉืื ืืขืจื ืขื ืืื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืคืื ืคึผืจืึธืืจืึทื ืืงืืจ ืงืึธื . - ืคึผืืืก-ืกืืืืืึธ. ืืึธืงืืืขื ืืึทืืืึธื.
ื ืึธื ืืืึทืื ืึธืกืืืง ืกืขืืืื ืืก . - ืื ืืจืื ืงืึทืจืคึผืึธืื.
ืงืขืจืึทืงืืขืจืืกืืืงืก ืคืื ืื PVS-Studio ืึทื ืึทืืืืขืจ ืืื ืื ืืืืฉืคึผืื ืคืื EFL ืงืึธืจ ืืืืจืึทืจืืขืก, 10-15% ืคืึทืืฉ ืคึผืึทืืึทืืืืื . - ืคึผืืืก-ืกืืืืืึธ. ืืึธืงืืืขื ืืึทืืืึธื.
ืืึทืกืข ืกืึทืคึผืจืขืฉืึทื ืคืื ืึทื ืึทืืืืขืจ ืึทืจืืืงืืขื . - ืืืืืื ืื ืืจืืืืฉืื.
ืืืขืื ืืื ืืืจ ืืขืกืืขื ืกืืึทืืืง ืึทื ืึทืืืกืืก ืืืืฃ ืืื ืืืขืจ ืคึผืจืืืขืงื ืคืื ืึท ืืืืืื ืืงืจืืื ืกืืืืึทืืืืืขืจ ืคืื X-Ray ืขื ืืึธืืืึทืกืงืืึทืืขืจ ืืืจืืจืืืข . - ืคืืฐ ื ืขืจืขืืืข , ืกืฐืืืืืกืื , ืจืืืืืกืืืื .
ืืื ืื PVS-Studio ืืึทื ืฉืึทืคึฟื ืืืคึผืจืืืื ืื ืื ืจืขืึทื ืขื ืืื ืข ืงืึธื . - ืื ืืจืื ืงืึทืจืคึผืึธืื.
ืกืืืืช ืฆื ืืึทืงืขื ืขื ืื ืกืืึทืืืง ืงืึธื ืึทื ืึทืืืืขืจ PVS-Studio ืืื ืืขืจ ืึทื ืืืืืงืืื ื ืคึผืจืึธืฆืขืก .
ืืืื ืืืจ ืืืืื ืืืืื ืืขื ืึทืจืืืงื ืืื ืึทื ืขื ืืืืฉ-ืืขืจืขืื ืืืืขื, ืืืืข ื ืืฆื ืื ืืืืขืจืืขืฆืื ื ืืื ืง: Andrey Karpov.
ืืงืืจ: www.habr.com