ื›ื™ืฆื“ ืœื™ื™ืฉื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ืžื‘ืœื™ ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช

ื›ื™ืฆื“ ืœื™ื™ืฉื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ืžื‘ืœื™ ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช
ืงืœ ืœื ืกื•ืช ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™. ืื‘ืœ ื›ื“ื™ ืœื™ื™ืฉื ืืช ื–ื”, ื‘ืžื™ื•ื—ื“ ื‘ืคื™ืชื•ื— ืฉืœ ืคืจื•ื™ืงื˜ ื™ืฉืŸ ื’ื“ื•ืœ, ืฆืจื™ืš ืžื™ื•ืžื ื•ืช. ืื ื ืขืฉื” ื‘ืฆื•ืจื” ืฉื’ื•ื™ื”, ื”ืžื ืชื— ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืขื‘ื•ื“ื”, ืœื”ืื˜ ืืช ื”ืคื™ืชื•ื— ื•ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช. ื‘ื•ืื• ื ื“ื‘ืจ ื‘ืงืฆืจื” ืขืœ ืื™ืš ืœื’ืฉืช ื ื›ื•ืŸ ืœืฉื™ืœื•ื‘ ืฉืœ ื ื™ืชื•ื— ืกื˜ื˜ื™ ื‘ืชื”ืœื™ืš ื”ืคื™ืชื•ื— ื•ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘ื• ื›ื—ืœืง ืž-CI/CD.

ืžื‘ื•ื

ืœืื—ืจื•ื ื” ื”ื•ืคื ืชื” ืชืฉื•ืžืช ืœื‘ื™ ืœืคืจืกื•ื "ืชื—ื™ืœืช ื”ืขื‘ื•ื“ื” ืขื ื ื™ืชื•ื— ืกื˜ื˜ื™ ืžื‘ืœื™ ืœื”ื›ืจื™ืข ืืช ื”ืฆื•ื•ืช". ืžืฆื“ ืื—ื“, ื–ื• ื›ืชื‘ื” ื˜ื•ื‘ื” ืฉืฉื•ื•ื” ืœื”ื›ื™ืจ. ืžืฆื“ ืฉื ื™, ื ืจืื” ืœื™ ืฉื”ื™ื ืขื“ื™ื™ืŸ ืœื ื ื•ืชื ืช ืชืฉื•ื‘ื” ืžืœืื” ื›ื™ืฆื“ ืœื™ื™ืฉื ื ื™ืชื•ื— ืกื˜ื˜ื™ ืœืœื ื›ืื‘ ื‘ืคืจื•ื™ืงื˜ ืขื ื”ืจื‘ื” ื”ืžืืžืจ ืื•ืžืจ ืฉืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ื—ื•ื‘ ื˜ื›ื ื™ ื•ืœืขื‘ื•ื“ ืจืง ืขืœ ืงื•ื“ ื—ื“ืฉ, ืื‘ืœ ืื™ืŸ ืชืฉื•ื‘ื” ืžื” ืœืขืฉื•ืช ืขื ื”ื—ื•ื‘ ื”ื˜ื›ื ื™ ื”ื–ื” ืžืื•ื—ืจ ื™ื•ืชืจ.

ืฆื•ื•ืช PVS-Studio ืฉืœื ื• ืžืฆื™ืข ืืช ื”ืฉืงืคืชื• ื‘ื ื•ืฉื ื–ื”. ื”ื‘ื” ื ื‘ื—ืŸ ื›ื™ืฆื“ ื ื•ืฆืจืช ืžืœื›ืชื—ื™ืœื” ื”ื‘ืขื™ื” ืฉืœ ื™ื™ืฉื•ื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™, ื›ื™ืฆื“ ื ื™ืชืŸ ืœื”ืชื’ื‘ืจ ืขืœ ื‘ืขื™ื” ื–ื• ื•ื›ื™ืฆื“ ื ื™ืชืŸ ืœืกืœืง ื‘ื”ื“ืจื’ื” ื—ื•ื‘ื•ืช ื˜ื›ื ื™ื™ื ืœืœื ื›ืื‘.

ื ื•ืฉืื™ื

ื‘ื“ืจืš ื›ืœืœ ืœื ืงืฉื” ืœื”ืคืขื™ืœ ื•ืœืจืื•ืช ืื™ืš ืžื ืชื— ืกื˜ื˜ื™ ืขื•ื‘ื“ [1]. ื™ื™ืชื›ืŸ ืฉืชืจืื” ืฉื’ื™ืื•ืช ืžืขื ื™ื™ื ื•ืช ืื• ืืคื™ืœื• ืคื’ื™ืขื•ื™ื•ืช ืคื•ื˜ื ืฆื™ืืœื™ื•ืช ืžืคื—ื™ื“ื•ืช ื‘ืงื•ื“. ืืชื” ื™ื›ื•ืœ ืืคื™ืœื• ืœืชืงืŸ ืžืฉื”ื•, ืื‘ืœ ืื– ืžืชื›ื ืชื™ื ืจื‘ื™ื ืžื•ื•ืชืจื™ื.

ื›ืœ ื”ื ืชื—ื™ื ื”ืกื˜ื˜ื™ื™ื ืžื™ื™ืฆืจื™ื ืชื•ืฆืื•ืช ื—ื™ื•ื‘ื™ื•ืช ืฉื’ื•ื™ื•ืช. ื–ื•ื”ื™ ืชื›ื•ื ื” ืฉืœ ืžืชื•ื“ื•ืœื•ื’ื™ื™ืช ื ื™ืชื•ื— ื”ืงื•ื“ ื”ืกื˜ื˜ื™, ื•ืื™ ืืคืฉืจ ืœืขืฉื•ืช ื“ื‘ืจ ื‘ื ื™ื“ื•ืŸ. ื‘ืžืงืจื” ื”ื›ืœืœื™, ื–ื•ื”ื™ ื‘ืขื™ื” ื‘ืœืชื™ ืคืชื™ืจื”, ื›ืคื™ ืฉืื•ืฉืจ ืขืœ ื™ื“ื™ ืžืฉืคื˜ ืจื™ื™ืก [2]. ื’ื ืืœื’ื•ืจื™ืชืžื™ื ืฉืœ ืœืžื™ื“ืช ืžื›ื•ื ื” ืœื ื™ืขื–ืจื• [3]. ื’ื ืื ืื“ื ืœื ืชืžื™ื“ ื™ื›ื•ืœ ืœื“ืขืช ืื ืงื•ื“ ื–ื” ืื• ืื—ืจ ืฉื’ื•ื™, ืื– ืืชื” ืœื ืฆืจื™ืš ืœืฆืคื•ืช ืœื–ื” ืžื”ืชื•ื›ื ื™ืช :).

ืชื•ืฆืื•ืช ื—ื™ื•ื‘ื™ื•ืช ื›ื•ื–ื‘ื•ืช ืื™ื ืŸ ื‘ืขื™ื” ืื ื”ื ืชื— ื”ืกื˜ื˜ื™ ื›ื‘ืจ ืžื•ื’ื“ืจ:

  • ื”ืฉื‘ืชื” ืงื‘ื•ืฆื•ืช ื›ืœืœื™ื ืœื ืจืœื•ื•ื ื˜ื™ื•ืช;
  • ื›ืžื” ืื‘ื—ื•ื ื™ื ืœื ืจืœื•ื•ื ื˜ื™ื™ื ื”ื•ืฉื‘ืชื•;
  • ืื ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ C ืื• C++, ืื– ืžืกื•ืžื ื™ื ืคืงื•ื“ื•ืช ืžืืงืจื• ื”ืžื›ื™ืœื•ืช ืžื‘ื ื™ื ืกืคืฆื™ืคื™ื™ื ืฉื’ื•ืจืžื™ื ืœื”ื•ืคืขืช ืื–ื”ืจื•ืช ื—ืกืจื•ืช ืชื•ืขืœืช ื‘ื›ืœ ืžืงื•ื ืฉื‘ื• ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคืงื•ื“ื•ืช ืžืืงืจื• ื›ืืœื”;
  • ืคื•ื ืงืฆื™ื•ืช ืžืฉืœื• ืžืกื•ืžื ื•ืช ื”ืžื‘ืฆืขื•ืช ืคืขื•ืœื•ืช ื“ื•ืžื•ืช ืœืคื•ื ืงืฆื™ื•ืช ืžืขืจื›ืช (ืื ืœื•ื’ื™ ืžืฉืœื” memcpy ืื• ื”ื“ืคืก) [4];
  • ืชื•ืฆืื•ืช ื—ื™ื•ื‘ื™ื•ืช ื›ื•ื–ื‘ื•ืช ืžื•ืฉื‘ืชื•ืช ื‘ืžื™ื•ื—ื“ ื‘ืืžืฆืขื•ืช ื”ืขืจื•ืช;
  • ื•ื›ืŸ ื”ืœืื”.

ื‘ืžืงืจื” ื–ื”, ืื ื• ื™ื›ื•ืœื™ื ืœืฆืคื•ืช ืœืฉื™ืขื•ืจ ื—ื™ื•ื‘ื™ ืฉื•ื•ื ื ืžื•ืš ืฉืœ ื›-10-15% [5]. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, 9 ืžืชื•ืš 10 ืื–ื”ืจื•ืช ืžื ืชื— ื™ืฆื‘ื™ืขื• ืขืœ ื‘ืขื™ื” ืืžื™ืชื™ืช ื‘ืงื•ื“, ืื• ืœืคื—ื•ืช "ืงื•ื“ ื‘ืขืœ ืจื™ื— ื—ื–ืง". ืžืกื›ื™ื, ื”ืชืจื—ื™ืฉ ื”ื–ื” ื ืขื™ื ื‘ื™ื•ืชืจ, ื•ื”ื ืชื— ื”ื•ื ื—ื‘ืจ ืืžื™ืชื™ ืฉืœ ื”ืžืชื›ื ืช.

ื›ื™ืฆื“ ืœื™ื™ืฉื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ืžื‘ืœื™ ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช
ื‘ืžืฆื™ืื•ืช, ื‘ืคืจื•ื™ืงื˜ ื’ื“ื•ืœ, ื”ืชืžื•ื ื” ื”ืจืืฉื•ื ื™ืช ืชื”ื™ื” ืฉื•ื ื” ืœื—ืœื•ื˜ื™ืŸ. ื”ืžื ืชื— ืžื ืคื™ืง ืžืื•ืช ืื• ืืœืคื™ ืื–ื”ืจื•ืช ืขื‘ื•ืจ ืงื•ื“ ืžื“ื•ืจ ืงื•ื“ื. ืื™ ืืคืฉืจ ืœื”ื‘ื™ืŸ ื‘ืžื”ื™ืจื•ืช ืื™ืœื• ืžื”ืื–ื”ืจื•ืช ื”ืœืœื• ืจืœื•ื•ื ื˜ื™ื•ืช ื•ืื™ืœื• ืœื. ื–ื” ืœื ื”ื’ื™ื•ื ื™ ืœืฉื‘ืช ื•ืœื”ืชื—ื™ืœ ืœื”ืชืขืกืง ื‘ื›ืœ ื”ืื–ื”ืจื•ืช ื”ืœืœื•, ืฉื›ืŸ ืขื™ืงืจ ื”ืขื‘ื•ื“ื” ื‘ืžืงืจื” ื–ื” ืชื™ืคืกืง ืœื™ืžื™ื ืื• ืฉื‘ื•ืขื•ืช. ื‘ื“ืจืš ื›ืœืœ, ืฆื•ื•ืช ืœื ื™ื›ื•ืœ ืœื”ืจืฉื•ืช ืœืขืฆืžื• ืชืจื—ื™ืฉ ื›ื–ื”. ื™ื”ื™ื• ื’ื ืžืกืคืจ ืขืฆื•ื ืฉืœ ื”ื‘ื“ืœื™ื ืฉื™ืงืœืงืœื• โ€‹โ€‹ืืช ื”ื™ืกื˜ื•ืจื™ื™ืช ื”ืฉื™ื ื•ื™ื™ื. ื•ืขืจื™ื›ื” ื”ืžื•ื ื™ืช ืžื”ื™ืจื” ืฉืœ ื›ืœ ื›ืš ื”ืจื‘ื” ืคืจื’ืžื ื˜ื™ื ื‘ืงื•ื“ ืชื’ืจื•ื ื‘ื”ื›ืจื— ืœืฉื’ื™ืื•ืช ื”ืงืœื“ื” ื•ืฉื’ื™ืื•ืช ื—ื“ืฉื•ืช.

ื•ื”ื›ื™ ื—ืฉื•ื‘, ื”ื™ืฉื’ ื›ื–ื” ื‘ืžืื‘ืง ื‘ืื–ื”ืจื•ืช ืื™ื ื• ื”ื’ื™ื•ื ื™. ืžืกื›ื™ื ืฉืžืื—ืจ ืฉื”ืคืจื•ื™ืงื˜ ืคื•ืขืœ ื‘ื”ืฆืœื—ื” ื›ื‘ืจ ืฉื ื™ื ืจื‘ื•ืช, ืจื•ื‘ ื”ื˜ืขื•ื™ื•ืช ื”ืงืจื™ื˜ื™ื•ืช ื‘ื• ื›ื‘ืจ ืชื•ืงื ื•. ื›ืŸ, ื”ืชื™ืงื•ื ื™ื ื”ืœืœื• ื”ื™ื• ื™ืงืจื™ื ืžืื•ื“, ื”ื™ื” ืฆื•ืจืš ืœื ืคื•ืช ื‘ืื’ื™ื, ืงื™ื‘ืœื• ืžืฉื•ื‘ ืฉืœื™ืœื™ ืฉืœ ืžืฉืชืžืฉื™ื ืœื’ื‘ื™ ื‘ืื’ื™ื, ื•ื›ืŸ ื”ืœืื”. ืžื ืชื— ืกื˜ื˜ื™ ื™ืขื–ื•ืจ ืœืชืงืŸ ื”ืจื‘ื” ืžื”ืฉื’ื™ืื•ืช ื”ืœืœื• ื‘ืฉืœื‘ ื”ืงื™ื“ื•ื“, ื‘ืžื”ื™ืจื•ืช ื•ื‘ื–ื•ืœ. ืื‘ืœ ื›ืจื’ืข, ื›ืš ืื• ื›ืš, ื”ืฉื’ื™ืื•ืช ื”ืœืœื• ืชื•ืงื ื•, ื•ื”ืื ืœื™ื–ื˜ื•ืจ ืžื–ื”ื” ื‘ืขื™ืงืจ ืฉื’ื™ืื•ืช ืœื ืงืจื™ื˜ื™ื•ืช ื‘ืงื•ื“ ื”ื™ืฉืŸ. ื™ืชื›ืŸ ืฉืœื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืงื•ื“ ื–ื”, ื™ืชื›ืŸ ื•ื™ืขืฉื” ื‘ื• ืฉื™ืžื•ืฉ ืœืขื™ืชื™ื ืจื—ื•ืงื•ืช, ื•ืฉื’ื™ืื” ื‘ื• ืขืœื•ืœื” ืฉืœื ืœื”ื•ื‘ื™ืœ ืœืชื•ืฆืื•ืช ื ื™ื›ืจื•ืช. ืื•ืœื™ ืื™ืคืฉื”ื• ื”ืฆืœ ืžื”ื›ืคืชื•ืจ ื”ื•ื ื‘ืฆื‘ืข ื”ืœื ื ื›ื•ืŸ, ืื‘ืœ ื–ื” ืœื ืžืคืจื™ืข ืœืฉื™ืžื•ืฉ ืฉืœ ืืฃ ืื—ื“ ื‘ืžื•ืฆืจ.

ื›ืžื•ื‘ืŸ ืฉื’ื ื˜ืขื•ื™ื•ืช ืงืœื•ืช ื”ืŸ ืขื“ื™ื™ืŸ ื˜ืขื•ื™ื•ืช. ื•ืœืคืขืžื™ื ื˜ืขื•ืช ื™ื›ื•ืœื” ืœื”ืกืชื™ืจ ืคื’ื™ืขื•ืช ืืžื™ืชื™ืช. ืขื ื–ืืช, ืœื•ื•ืชืจ ืขืœ ื”ื›ืœ ื•ืœื‘ืœื•ืช ื™ืžื™ื/ืฉื‘ื•ืขื•ืช ื‘ื”ืชืžื•ื“ื“ื•ืช ืขื ืคื’ืžื™ื ืฉื‘ืงื•ืฉื™ ื‘ืื™ื ืœื™ื“ื™ ื‘ื™ื˜ื•ื™ ื ืจืื” ื›ืžื• ืจืขื™ื•ืŸ ืžืคื•ืงืคืง.

ืžืชื›ื ืชื™ื ืžืกืชื›ืœื™ื, ืžืกืชื›ืœื™ื, ืžืกืชื›ืœื™ื ืขืœ ื›ืœ ื”ืื–ื”ืจื•ืช ื”ืืœื” ืœื’ื‘ื™ ืงื•ื“ ื”ืขื‘ื•ื“ื” ื”ื™ืฉืŸ... ื•ื”ื ื—ื•ืฉื‘ื™ื: ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืกืชื“ืจ ื‘ืœื™ ื ื™ืชื•ื— ืกื˜ื˜ื™. ื‘ื•ื ื ืœืš ืœื›ืชื•ื‘ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉื™ืžื•ืฉื™ืช ื—ื“ืฉื”.

ื‘ื“ืจื›ื ืฉืœื”ื, ื”ื ืฆื•ื“ืงื™ื. ื”ื ื—ื•ืฉื‘ื™ื ืฉืงื•ื“ื ื›ืœ ื”ื ืฆืจื™ื›ื™ื ืœื”ื™ืคื˜ืจ ืื™ื›ืฉื”ื• ืžื›ืœ ื”ืื–ื”ืจื•ืช ื”ืืœื”. ืจืง ืื– ื”ื ื™ื•ื›ืœื• ืœื”ืคื™ืง ืชื•ืขืœืช ืžืฉื™ืžื•ืฉ ืงื‘ื•ืข ื‘ื ืชื— ื”ืงื•ื“. ืื—ืจืช, ืื–ื”ืจื•ืช ื—ื“ืฉื•ืช ืคืฉื•ื˜ ื™ื˜ื‘ืขื• ื‘ืื–ื”ืจื•ืช ื™ืฉื ื•ืช, ื•ืืฃ ืื—ื“ ืœื ื™ืฉื™ื ืœื‘ ืืœื™ื”ืŸ.

ื–ื• ืื•ืชื” ืื ืœื•ื’ื™ื” ื›ืžื• ืื–ื”ืจื•ืช ืžื”ื“ืจ. ืœื ื‘ื›ื“ื™ ื”ื ืžืžืœื™ืฆื™ื ืœื”ืฉืื™ืจ ืืช ืžืกืคืจ ืื–ื”ืจื•ืช ื”ืžื”ื“ืจ ืขืœ 0. ืื ื™ืฉ 1000 ืื–ื”ืจื•ืช ืื– ื›ืฉื™ื”ื™ื• 1001 ืืฃ ืื—ื“ ืœื ื™ืฉื™ื ืœื‘ ืœื–ื” ื•ืœื ื‘ืจื•ืจ ืื™ืคื” ืœื—ืคืฉ ืืช ื”ืื–ื”ืจื” ื”ื—ื“ืฉื” ื‘ื™ื•ืชืจ ื”ื–ื•.

ื›ื™ืฆื“ ืœื™ื™ืฉื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ืžื‘ืœื™ ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช
ื”ื“ื‘ืจ ื”ื’ืจื•ืข ื‘ื™ื•ืชืจ ื‘ืกื™ืคื•ืจ ื”ื–ื” ื”ื•ื ืื ืžื™ืฉื”ื• ืžืœืžืขืœื” ื‘ืจื’ืข ื–ื” ืžื›ืจื™ื— ืื•ืชืš ืœื”ืฉืชืžืฉ ื‘ื ื™ืชื•ื— ืงื•ื“ ืกื˜ื˜ื™. ื–ื” ืจืง ื™ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช, ืฉื›ืŸ ืžื ืงื•ื“ืช ืžื‘ื˜ื ืชื”ื™ื” ืžื•ืจื›ื‘ื•ืช ื‘ื™ืจื•ืงืจื˜ื™ืช ื ื•ืกืคืช ืฉืจืง ืžืคืจื™ืขื”. ืืฃ ืื—ื“ ืœื ื™ืกืชื›ืœ ืขืœ ื”ื“ื•ื—ื•ืช ืฉืœ ื”ื ืชื—, ื•ื›ืœ ื”ืฉื™ืžื•ืฉ ื™ื”ื™ื” ืจืง โ€‹โ€‹"ืขืœ ื”ื ื™ื™ืจ". ื”ึธื”ึตืŸ. ืžื‘ื—ื™ื ื” ืคื•ืจืžืœื™ืช, ื ื™ืชื•ื— ืžื•ื‘ื ื” ื‘ืชื”ืœื™ืš ื”-DevOps, ืื‘ืœ ื‘ืคื•ืขืœ ื–ื” ืœื ืžื•ืขื™ืœ ืœืืฃ ืื—ื“. ืฉืžืขื ื• ืกื™ืคื•ืจื™ื ืžืคื•ืจื˜ื™ื ื‘ื“ื•ื›ื ื™ื ืžืžืฉืชืคื™ ื”ื›ื ืก. ื—ื•ื•ื™ื” ื›ื–ื• ื™ื›ื•ืœื” ืœื”ืจืชื™ืข ืžืชื›ื ืชื™ื ืžืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ื ื™ืชื•ื— ืกื˜ื˜ื™ ืœืžืฉืš ื–ืžืŸ ืจื‘, ืื ืœื ืœืชืžื™ื“.

ื™ื™ืฉื•ื ื•ื‘ื™ื˜ื•ืœ ื—ื•ื‘ื•ืช ื˜ื›ื ื™ื™ื

ืœืžืขืฉื”, ืื™ืŸ ืฉื•ื ื“ื‘ืจ ืงืฉื” ืื• ืžืคื—ื™ื“ ื‘ื”ื›ื ืกืช ื ื™ืชื•ื— ืกื˜ื˜ื™ ืืคื™ืœื• ืœืคืจื•ื™ืงื˜ ื™ืฉืŸ ื’ื“ื•ืœ.

CI / CD

ื™ืชืจ ืขืœ ื›ืŸ, ื ื™ืชืŸ ืœื”ืคื•ืš ืืช ื”ืžื ืชื— ื‘ืื•ืคืŸ ืžื™ื™ื“ื™ ืœื—ืœืง ืžืชื”ืœื™ืš ื”ืคื™ืชื•ื— ื”ืžืชืžืฉืš. ืœื“ื•ื’ืžื”, ื”ืคืฆืช PVS-Studio ืžื›ื™ืœื” ื›ืœื™ ืขื–ืจ ืœืฆืคื™ื™ื” ื ื•ื—ื” ื‘ื“ื•ื— ื‘ืคื•ืจืžื˜ ื”ื“ืจื•ืฉ ืœืš, ื•ื”ื•ื“ืขื•ืช ืœืžืคืชื—ื™ื ืฉื›ืชื‘ื• ืงื˜ืขื™ื ื‘ืขื™ื™ืชื™ื™ื ื‘ืงื•ื“. ืœืžื™ ืฉืžืขื•ื ื™ื™ืŸ ื™ื•ืชืจ ืœื”ืฉื™ืง ืืช PVS-Studio ืžืžืขืจื›ื•ืช CI/CD, ืื ื™ ืžืžืœื™ืฅ ืœื”ื›ื™ืจ ืืช ื”ืชื•ืื ืกึธืขึดื™ืฃ ืชื™ืขื•ื“ ื•ืกื“ืจืช ืžืืžืจื™ื:

ืื‘ืœ ื‘ื•ืื• ื ื—ื–ื•ืจ ืœื ื•ืฉื ืฉืœ ืžืกืคืจ ืจื‘ ืฉืœ ืชื•ืฆืื•ืช ื—ื™ื•ื‘ื™ื•ืช ืฉื’ื•ื™ื•ืช ื‘ืฉืœื‘ื™ื ื”ืจืืฉื•ื ื™ื ืฉืœ ื™ื™ืฉื•ื ื›ืœื™ ื ื™ืชื•ื— ืงื•ื“.

ืชื™ืงื•ืŸ ื—ื•ื‘ ื˜ื›ื ื™ ืงื™ื™ื ื•ื”ืชืžื•ื“ื“ื•ืช ืขื ืื–ื”ืจื•ืช ื—ื“ืฉื•ืช

ืžื ืชื—ื™ื ืกื˜ื˜ื™ื™ื ืžืกื—ืจื™ื™ื ืžื•ื“ืจื ื™ื™ื ืžืืคืฉืจื™ื ืœืš ืœืœืžื•ื“ ืจืง ืื–ื”ืจื•ืช ื—ื“ืฉื•ืช ื”ืžื•ืคื™ืขื•ืช ื‘ืงื•ื“ ื—ื“ืฉ ืื• ืฉื•ื ื”. ื”ื™ื™ืฉื•ื ืฉืœ ืžื ื’ื ื•ืŸ ื–ื” ืžืฉืชื ื”, ืืš ื”ืžื”ื•ืช ื–ื”ื”. ื‘ื ื™ืชื•ื— ื”ืกื˜ื˜ื™ PVS-Studio, ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื–ื• ืžื™ื•ืฉืžืช ื‘ืื•ืคืŸ ื”ื‘ื.

ื›ื“ื™ ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘ืžื”ื™ืจื•ืช ื‘ื ื™ืชื•ื— ืกื˜ื˜ื™, ืื ื• ืžืฆื™ืขื™ื ืœืžืฉืชืžืฉื™ PVS-Studio ืœื”ืฉืชืžืฉ ื‘ืžื ื’ื ื•ืŸ ืœื“ื™ื›ื•ื™ ื”ืžื•ื ื™ ืฉืœ ืื–ื”ืจื•ืช [6]. ื”ืจืขื™ื•ืŸ ื”ื›ืœืœื™ ื”ื•ื ื”ื‘ื. ื”ืžืฉืชืžืฉ ื”ืฉื™ืง ืืช ื”ื ืชื— ื•ืงื™ื‘ืœ ืื–ื”ืจื•ืช ืจื‘ื•ืช. ืžื›ื™ื•ื•ืŸ ืฉืคืจื•ื™ืงื˜ ืฉื ืžืฆื ื‘ืคื™ืชื•ื— ืฉื ื™ื ืจื‘ื•ืช ื—ื™, ืžืชืคืชื— ื•ืžืจื•ื•ื™ื— ื›ืกืฃ, ืื– ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืœื ื™ื”ื™ื• ื”ืจื‘ื” ืื–ื”ืจื•ืช ื‘ื“ื•ื— ื”ืžืฆื‘ื™ืขื•ืช ืขืœ ืœื™ืงื•ื™ื™ื ืงืจื™ื˜ื™ื™ื. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ื‘ืื’ื™ื ืงืจื™ื˜ื™ื™ื ื›ื‘ืจ ืชื•ืงื ื• ื‘ืฆื•ืจื” ื›ื–ื• ืื• ืื—ืจืช ื‘ืืžืฆืขื•ืช ืฉื™ื˜ื•ืช ื™ืงืจื•ืช ื™ื•ืชืจ ืื• ื”ื•ื“ื•ืช ืœืžืฉื•ื‘ ืžืœืงื•ื—ื•ืช. ื‘ื”ืชืื ืœื›ืš, ื›ืœ ืžื” ืฉื”ื ืชื— ืžื•ืฆื ื›ืจื’ืข ื™ื›ื•ืœ ืœื”ื™ื—ืฉื‘ ื›ื—ื•ื‘ ื˜ื›ื ื™, ืžื” ืฉืœื ืžืขืฉื™ ืœื ืกื•ืช ืœื”ืขืœื™ื ืžื™ื“.

ืืชื” ื™ื›ื•ืœ ืœื”ื’ื™ื“ ืœ-PVS-Studio ืœืฉืงื•ืœ ืืช ื”ืื–ื”ืจื•ืช ื”ืœืœื• ื›ื‘ืœืชื™ ืจืœื•ื•ื ื˜ื™ื•ืช ืœืขืช ืขืชื” (ืฉืžื•ืจ ื—ื•ื‘ื•ืช ื˜ื›ื ื™ื™ื ืœืžื•ืขื“ ืžืื•ื—ืจ ื™ื•ืชืจ), ื•ื”ื•ื ืœื ื™ืฆื™ื’ ืื•ืชืŸ ื™ื•ืชืจ. ื”ืžื ืชื— ื™ื•ืฆืจ ืงื•ื‘ืฅ ืžื™ื•ื—ื“ ืฉื‘ื• ื”ื•ื ืฉื•ืžืจ ืžื™ื“ืข ืขืœ ืฉื’ื™ืื•ืช ืฉืขื“ื™ื™ืŸ ืœื ืžืขื ื™ื™ื ื•ืช. ื•ืขื›ืฉื™ื• PVS-Studio ื™ื•ืฆื™ื ืื–ื”ืจื•ืช ืจืง ืขื‘ื•ืจ ืงื•ื“ ื—ื“ืฉ ืื• ืฉื•ื ื”. ื™ืชืจ ืขืœ ื›ืŸ, ื›ืœ ื–ื” ืžื™ื•ืฉื ื‘ื—ื•ื›ืžื”. ืื, ืœืžืฉืœ, ืžืชื•ื•ืกืคืช ืฉื•ืจื” ืจื™ืงื” ื‘ืชื—ื™ืœืช ืงื•ื‘ืฅ ืงื•ื“ ื”ืžืงื•ืจ, ืื– ื”ืžื ืชื— ืžื‘ื™ืŸ ืฉืœืžืขืฉื” ืฉื•ื ื“ื‘ืจ ืœื ื”ืฉืชื ื”, ื•ื™ืžืฉื™ืš ืœืฉืชื•ืง. ื ื™ืชืŸ ืœื”ื›ื ื™ืก ืงื•ื‘ืฅ ืกื™ืžื•ืŸ ื–ื” ืœืžืขืจื›ืช ื‘ืงืจืช ื’ืจืกืื•ืช. ื”ืงื•ื‘ืฅ ื’ื“ื•ืœ, ืื‘ืœ ื–ื• ืœื ื‘ืขื™ื”, ืฉื›ืŸ ืื™ืŸ ื˜ืขื ืœืื—ืกืŸ ืื•ืชื• ืœืขืชื™ื ืงืจื•ื‘ื•ืช.

ื›ืขืช ื›ืœ ื”ืžืชื›ื ืชื™ื ื™ืจืื• ืื–ื”ืจื•ืช ื”ืงืฉื•ืจื•ืช ืจืง ืœืงื•ื“ ื—ื“ืฉ ืื• ืฉื•ื ื”. ื›ืš, ืืชื” ื™ื›ื•ืœ ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘ื ืชื—, ื›ืžื• ืฉืื•ืžืจื™ื, ืžื™ื•ื ื”ืžื—ืจืช. ื•ืืชื” ื™ื›ื•ืœ ืœื—ื–ื•ืจ ืœื—ื•ื‘ื•ืช ื˜ื›ื ื™ื™ื ืžืื•ื—ืจ ื™ื•ืชืจ, ื•ืœืชืงืŸ ืฉื’ื™ืื•ืช ื‘ื”ื“ืจื’ื” ื•ืœื”ื’ื“ื™ืจ ืืช ื”ื ืชื—.

ืื– ื”ื‘ืขื™ื” ื”ืจืืฉื•ื ื” ื‘ื™ื™ืฉื•ื ื”ื ืชื— ื‘ืคืจื•ื™ืงื˜ ื™ืฉืŸ ื’ื“ื•ืœ ื ืคืชืจื”. ืขื›ืฉื™ื• ื‘ื•ืื• ื ื‘ื™ืŸ ืžื” ืœืขืฉื•ืช ืขื ื—ื•ื‘ ื˜ื›ื ื™.

ืชื™ืงื•ื ื™ ื‘ืื’ื™ื ื•ืฉื—ื–ื•ืจื™ื

ื”ื“ื‘ืจ ื”ืคืฉื•ื˜ ื•ื”ื˜ื‘ืขื™ ื‘ื™ื•ืชืจ ื”ื•ื ืœื”ืงื“ื™ืฉ ื–ืžืŸ ืœื ื™ืชื•ื— ืื–ื”ืจื•ืช ืžื ืชื— ืžื“ื•ื›ื ืžืืกื™ื‘ื™ ื•ืœื˜ืคืœ ื‘ื”ืŸ ื‘ื”ื“ืจื’ื”. ืื™ืคืฉื”ื• ืืชื” ืฆืจื™ืš ืœืชืงืŸ ืฉื’ื™ืื•ืช ื‘ืงื•ื“, ืื™ืคืฉื”ื• ืืชื” ืฆืจื™ืš ืœืขืฉื•ืช refactor ื›ื“ื™ ืœื•ืžืจ ืœื ืชื— ืฉื”ืงื•ื“ ืื™ื ื• ื‘ืขื™ื™ืชื™. ื“ื•ื’ืžื” ืคืฉื•ื˜ื”:

if (a = b)

ืจื•ื‘ ื”ืžื”ื“ืจื™ื ื•ื”ื ืชื—ื™ื ืฉืœ C++ ืžืชืœื•ื ื ื™ื ืขืœ ืงื•ื“ ื›ื–ื”, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืกื‘ื™ืจื•ืช ื’ื‘ื•ื”ื” ืฉื”ื ื‘ืืžืช ืจืฆื• ืœื›ืชื•ื‘ (ื == ื‘). ืื‘ืœ ื™ืฉ ื”ืกื›ืžื” ืฉืœื ื ืืžืจื”, ื•ื‘ื“ืจืš ื›ืœืœ ื–ื” ืžืฆื•ื™ืŸ ื‘ืชื™ืขื•ื“, ืฉืื ื™ืฉ ืกื•ื’ืจื™ื™ื ื ื•ืกืคื™ื, ืื– ื ื—ืฉื‘ ืฉื”ืžืชื›ื ืช ื›ืชื‘ ืงื•ื“ ื›ื–ื” ื‘ื›ื•ื•ื ื”, ื•ืื™ืŸ ืฆื•ืจืš ืœืงืœืœ. ืœื“ื•ื’ืžื”, ื‘ืชื™ืขื•ื“ PVS-Studio ืœืื‘ื—ื•ืŸ V559 (CWE-481) ื›ืชื•ื‘ ื‘ื‘ื™ืจื•ืจ ืฉื”ืฉื•ืจื” ื”ื‘ืื” ืชื™ื—ืฉื‘ ื ื›ื•ื ื” ื•ื‘ื˜ื•ื—ื”:

if ((a = b))

ื“ื•ื’ืžื” ืื—ืจืช. ื”ืื ื–ื” ื ืฉื›ื— ื‘ืงื•ื“ C++ ื”ื–ื”? ืœืฉื‘ื•ืจ ืื• ืœื?

case A:
  foo();
case B:
  bar();
  break;

ืžื ืชื— ื”-PVS-Studio ื™ื•ืฆื™ื ื›ืืŸ ืื–ื”ืจื” V796 (CWE-484). ื™ื™ืชื›ืŸ ืฉื–ื• ืœื ืฉื’ื™ืื”, ื•ื‘ืžืงืจื” ื–ื” ืขืœื™ืš ืœืชืช ืœืžื ืชื— ืจืžื– ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ื”ืชื›ื•ื ื” [[ืœื™ืคื•ืœ ื“ืจืš]] ืื• ืœืžืฉืœ __ืชื›ื•ื ื”__((ื ืคื™ืœื”)):

case A:
  foo();
  [[fallthrough]];
case B:
  bar();
  break;

ื ื™ืชืŸ ืœื•ืžืจ ืฉืฉื™ื ื•ื™ื™ ืงื•ื“ ื›ืืœื” ืื™ื ื ืžืชืงื ื™ื ืืช ื”ื‘ืื’. ื›ืŸ, ื–ื” ื ื›ื•ืŸ, ืื‘ืœ ื–ื” ืขื•ืฉื” ืฉื ื™ ื“ื‘ืจื™ื ืฉื™ืžื•ืฉื™ื™ื. ืจืืฉื™ืช, ื“ื•ื— ื”ื ืชื— ื ืคื˜ืจ ืžืชื•ืฆืื•ืช ืฉื•ื•ื. ืฉื ื™ืช, ื”ืงื•ื“ ื”ื•ืคืš ืžื•ื‘ืŸ ื™ื•ืชืจ ืขื‘ื•ืจ ื”ืื ืฉื™ื ื”ืžืขื•ืจื‘ื™ื ื‘ืชื—ื–ื•ืงื” ืฉืœื•. ื•ื–ื” ืžืื•ื“ ื—ืฉื•ื‘! ื‘ืฉื‘ื™ืœ ื–ื” ืœื‘ื“, ื›ื“ืื™ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื ืงื˜ื ื™ื ื›ื“ื™ ืœื”ืคื•ืš ืืช ื”ืงื•ื“ ืœื‘ื”ื™ืจ ื™ื•ืชืจ ื•ืงืœ ื™ื•ืชืจ ืœืชื—ื–ื•ืงื”. ืžื›ื™ื•ื•ืŸ ืฉื”ื ืชื— ืœื ืžื‘ื™ืŸ ืื ื™ืฉ ืฆื•ืจืš ื‘"ื”ืคืกืงื”" ืื• ืœื, ื–ื” ื’ื ืœื ื™ื”ื™ื” ื‘ืจื•ืจ ืœืžืชื›ื ืชื™ื ืื—ืจื™ื.

ื‘ื ื•ืกืฃ ืœืชื™ืงื•ื ื™ ื‘ืื’ื™ื ื•ืจื™ืคืงื˜ื•ืจื™ื, ืืชื” ื™ื›ื•ืœ ื‘ืžื™ื•ื—ื“ ืœื“ื›ื ืื–ื”ืจื•ืช ืฉื•ื•ื ืฉืœ ืžื ืชื— ื‘ืจื•ืจ. ื ื™ืชืŸ ืœื”ืฉื‘ื™ืช ื›ืžื” ืื‘ื—ื•ื ื™ื ืœื ืจืœื•ื•ื ื˜ื™ื™ื. ืœื“ื•ื’ืžื”, ืžื™ืฉื”ื• ื—ื•ืฉื‘ ืฉืื–ื”ืจื•ืช ื”ืŸ ื—ืกืจื•ืช ื˜ืขื V550 ืขืœ ื”ืฉื•ื•ืืช ืขืจื›ื™ื ืฆืคื™ื/ื›ืคื•ืœื™ื. ื•ื™ืฉ ื”ืžืกื•ื•ื’ื™ื ืื•ืชื ื›ื—ืฉื•ื‘ื™ื ื•ืจืื•ื™ื™ื ืœืœื™ืžื•ื“ [7]. ืื™ืœื• ืื–ื”ืจื•ืช ื ื—ืฉื‘ื•ืช ืœืจืœื•ื•ื ื˜ื™ื•ืช ื•ืื™ืœื• ืœื, ืชืœื•ื™ ื‘ืฆื•ื•ืช ื”ืคื™ืชื•ื— ืœื”ื—ืœื™ื˜.

ื™ืฉื ืŸ ื“ืจื›ื™ื ืื—ืจื•ืช ืœื“ื›ื ื”ืชืจืื•ืช ืฉื•ื•ื. ืœื“ื•ื’ืžื”, ืกื™ืžื•ืŸ ืžืืงืจื• ื”ื•ื–ื›ืจ ืงื•ื“ื ืœื›ืŸ. ื›ืœ ื–ื” ืžืชื•ืืจ ื‘ื™ืชืจ ืคื™ืจื•ื˜ ื‘ืชื™ืขื•ื“. ื”ื“ื‘ืจ ื”ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ ื”ื•ื ืœื”ื‘ื™ืŸ ืฉืื ื ื™ื’ืฉื™ื ื‘ื”ื“ืจื’ื” ื•ื‘ืฉื™ื˜ืชื™ื•ืช ืœืขื‘ื•ื“ื” ืขื ืชื•ืฆืื•ืช ื›ื•ื–ื‘ื•ืช, ืื™ืŸ ื‘ื”ืŸ ื›ืœ ืจืข. ื”ืจื•ื‘ ื”ืžื›ืจื™ืข ืฉืœ ื”ืื–ื”ืจื•ืช ื”ืœื ืžืขื ื™ื™ื ื•ืช ื ืขืœืžื™ื ืœืื—ืจ ื”ื”ื’ื“ืจื”, ื•ื ืฉืืจื• ืจืง ืžืงื•ืžื•ืช ืฉื‘ืืžืช ื“ื•ืจืฉื™ื ืœื™ืžื•ื“ ืงืคื“ื ื™ ื•ื›ืžื” ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“.

ื›ืžื• ื›ืŸ, ืื ื• ืชืžื™ื“ ืขื•ื–ืจื™ื ืœืœืงื•ื—ื•ืชื™ื ื• ืœื”ืงื™ื ืืช PVS-Studio ืื ืžืชืขื•ืจืจื™ื ืงืฉื™ื™ื ื›ืœืฉื”ื. ื™ืชืจื” ืžื›ืš, ื”ื™ื• ืžืงืจื™ื ืฉื‘ื”ื ืื ื—ื ื• ื‘ืขืฆืžื ื• ื‘ื™ื˜ืœื ื• ืื–ื”ืจื•ืช ืฉื•ื•ื ื•ืชื™ืงื ื• ืฉื’ื™ืื•ืช [8]. ืœื™ืชืจ ื‘ื™ื˜ื—ื•ืŸ, ื”ื—ืœื˜ืชื™ ืœืฆื™ื™ืŸ ืฉื’ื ืืคืฉืจื•ืช ื–ื• ืœืฉื™ืชื•ืฃ ืคืขื•ืœื” ืžื•ืจื—ื‘ ืืคืฉืจื™ืช :).

ืฉื™ื˜ืช ืจืืฆ'ื˜

ื™ืฉื ื” ื’ื™ืฉื” ืžืขื ื™ื™ื ืช ื ื•ืกืคืช ืœืฉื™ืคื•ืจ ื”ื“ืจื’ืชื™ ืฉืœ ืื™ื›ื•ืช ื”ืงื•ื“ ืขืœ ื™ื“ื™ ื‘ื™ื˜ื•ืœ ืื–ื”ืจืช ื”ื ืชื— ื”ืกื˜ื˜ื™. ื”ืฉื•ืจื” ื”ืชื—ืชื•ื ื” ื”ื™ื ืฉืžืกืคืจ ื”ืื–ื”ืจื•ืช ืจืง ื™ื›ื•ืœ ืœืจื“ืช.

ื›ื™ืฆื“ ืœื™ื™ืฉื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ืžื‘ืœื™ ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช

ืžืกืคืจ ื”ืื–ื”ืจื•ืช ืฉื”ื•ืคืง ืขืœ ื™ื“ื™ ื”ื ืชื— ื”ืกื˜ื˜ื™ ื ืจืฉื. ืฉืขืจ ืื™ื›ื•ืช ืžื•ื’ื“ืจ ื‘ืฆื•ืจื” ื›ื–ื• ืฉื›ืขืช ื ื™ืชืŸ ืœื”ื–ื™ืŸ ืจืง ืงื•ื“ ืฉืื™ื ื• ืžื’ื“ื™ืœ ืืช ืžืกืคืจ ื”ืคืขื•ืœื•ืช. ื›ืชื•ืฆืื” ืžื›ืš, ืชื”ืœื™ืš ื”ื”ืคื—ืชื” ื”ื“ืจื’ืชื™ืช ืฉืœ ืžืกืคืจ ื”ืื–ืขืงื•ืช ืžืชื—ื™ืœ ืขืœ ื™ื“ื™ ื”ืชืืžืช ื”ื ืชื— ื•ืชื™ืงื•ืŸ ืฉื’ื™ืื•ืช.

ื’ื ืื ืื“ื ืจื•ืฆื” ืœืจืžื•ืช ืงืฆืช ื•ืžื—ืœื™ื˜ ืœืขื‘ื•ืจ ืืช ืฉืขืจ ื”ืื™ื›ื•ืช ืœื ืขืœ ื™ื“ื™ ื‘ื™ื˜ื•ืœ ืื–ื”ืจื•ืช ื‘ืงื•ื“ ื”ื—ื“ืฉ ืฉืœื•, ืืœื ืขืœ ื™ื“ื™ ืฉื™ืคื•ืจ ืงื•ื“ ื”ืฆื“ ื”ืฉืœื™ืฉื™ ื”ื™ืฉืŸ, ื–ื” ืœื ืžืคื—ื™ื“. ืขื ื–ืืช, ื”ืžื—ื’ืจ ืžืกืชื•ื‘ื‘ ื‘ื›ื™ื•ื•ืŸ ืื—ื“, ื•ื‘ื”ื“ืจื’ื” ืžืกืคืจ ื”ืคื’ืžื™ื ื™ืงื˜ืŸ. ื’ื ืื ืื“ื ืœื ืจื•ืฆื” ืœืชืงืŸ ืืช ื”ืคื’ืžื™ื ื”ื—ื“ืฉื™ื ืฉืœื•, ื”ื•ื ืขื“ื™ื™ืŸ ื™ืฆื˜ืจืš ืœืฉืคืจ ืžืฉื”ื• ื‘ืงื•ื“ ื”ืฉื›ืŸ. ื‘ืฉืœื‘ ืžืกื•ื™ื ืžืกืชื™ื™ืžื•ืช ื”ื“ืจื›ื™ื ื”ืงืœื•ืช ืœืฆืžืฆื ืืช ืžืกืคืจ ื”ืื–ื”ืจื•ืช, ื•ืžื’ื™ืข ืฉืœื‘ ืฉื‘ื• ื‘ืื’ื™ื ืืžื™ืชื™ื™ื ื™ืชื•ืงื ื•.

ืžืชื•ื“ื•ืœื•ื’ื™ื” ื–ื• ืžืชื•ืืจืช ื‘ื™ืชืจ ืคื™ืจื•ื˜ ื‘ืžืืžืจ ืžืขื ื™ื™ืŸ ืžืื•ื“ ืžืืช ืื™ื‘ืŸ ืคื•ื ื•ืžืจื‘ "ื”ื˜ืžืขื• ื ื™ืชื•ื— ืกื˜ื˜ื™ ื‘ืชื”ืœื™ืš, ื‘ืžืงื•ื ืœื”ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœืžืฆื•ื ื‘ืื’ื™ื", ืื•ืชื• ืื ื™ ืžืžืœื™ืฅ ืœืงืจื•ื ืœื›ืœ ืžื™ ืฉืžืขื•ื ื™ื™ืŸ ืœืฉืคืจ ืืช ืื™ื›ื•ืช ื”ืงื•ื“.

ืœืžื—ื‘ืจ ื”ืžืืžืจ ื™ืฉ ื’ื ื“ื•"ื— ื‘ื ื•ืฉื ื–ื”: "ื ื™ืชื•ื— ืกื˜ื˜ื™ ืžืชืžืฉืš".

ืžืกืงื ื”

ืื ื™ ืžืงื•ื•ื” ืฉืื—ืจื™ ืžืืžืจ ื–ื”, ื”ืงื•ืจืื™ื ื™ืงื‘ืœื• ื™ื•ืชืจ ืืช ื›ืœื™ ื”ื ื™ืชื•ื— ื”ืกื˜ื˜ื™ ื•ื™ืจืฆื• ืœื™ื™ืฉื ืื•ืชื ื‘ืชื”ืœื™ืš ื”ืคื™ืชื•ื—. ืื ื™ืฉ ืœืš ืฉืืœื•ืช, ืื ื—ื ื• ืชืžื™ื“ ืžื•ื›ื ื™ื ืœื™ื™ืขืฅ ืขืฆื” ืžืฉืชืžืฉื™ื ื‘ืžื ืชื— ื”ืกื˜ื˜ื™ ืฉืœื ื• PVS-Studio ื•ืœืขื–ื•ืจ ื‘ื™ื™ืฉื•ื ืฉืœื•.

ื™ืฉ ืขื•ื“ ืกืคืงื•ืช ืื•ืคื™ื™ื ื™ื™ื ืœื’ื‘ื™ ื”ืื ื ื™ืชื•ื— ืกื˜ื˜ื™ ื‘ืืžืช ื™ื›ื•ืœ ืœื”ื™ื•ืช ื ื•ื— ื•ืฉื™ืžื•ืฉื™. ื ื™ืกื™ืชื™ ืœื”ืคื™ื’ ืืช ืจื•ื‘ ื”ืกืคืงื•ืช ื”ืœืœื• ื‘ืคืจืกื•ื "ืกื™ื‘ื•ืช ืœื”ื›ื ืกืช ืžื ืชื— ื”ืงื•ื“ ื”ืกื˜ื˜ื™ PVS-Studio ืœืชื”ืœื™ืš ื”ืคื™ืชื•ื—" [9].

ืชื•ื“ื” ืขืœ ืชืฉื•ืžืช ื”ืœื‘ ื•ื‘ื•ืื• ืœื”ื•ืจื™ื“ ื•ื ืกื” ืืช ืžื ืชื— PVS-Studio.

ืงื™ืฉื•ืจื™ื ื ื•ืกืคื™ื

  1. ืื ื“ืจื™ื™ ืงืจืคื•ื‘. ื›ื™ืฆื“ ืื•ื›ืœ ืœืจืื•ืช ื‘ืžื”ื™ืจื•ืช ืื–ื”ืจื•ืช ืžืขื ื™ื™ื ื•ืช ืฉื”ื ืชื— PVS-Studio ืžืคื™ืง ืขื‘ื•ืจ ืงื•ื“ C ื•-C++?
  2. ื•ื™ืงื™ืคื“ื™ื”. ืžืฉืคื˜ ืจื™ื™ืก.
  3. ืื ื“ืจื™ื™ ืงืจืคื•ื‘, ื•ื™ืงื˜ื•ืจื™ื” ื—ืื ื™ื™ื‘ื”. ืฉื™ืžื•ืฉ ื‘ืœืžื™ื“ืช ืžื›ื•ื ื” ื‘ื ื™ืชื•ื— ืกื˜ื˜ื™ ืฉืœ ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื”ืชื•ื›ื ื™ืช.
  4. PVS-ืกื˜ื•ื“ื™ื•. ืชื™ืขื•ื“. ื”ื’ื“ืจื•ืช ืื‘ื—ื•ืŸ ื ื•ืกืคื•ืช.
  5. ืื ื“ืจื™ื™ ืงืจืคื•ื‘. ืžืืคื™ื™ื ื™ื ืฉืœ ืžื ืชื— PVS-Studio ื‘ืืžืฆืขื•ืช ื”ื“ื•ื’ืžื” ืฉืœ ืกืคืจื™ื•ืช ืœื™ื‘ื” ืฉืœ EFL, 10-15% ื—ื™ื•ื‘ื™ื•ืช ืฉื’ื•ื™ื•ืช.
  6. PVS-ืกื˜ื•ื“ื™ื•. ืชื™ืขื•ื“. ื“ื™ื›ื•ื™ ื”ืžื•ื ื™ ืฉืœ ื”ื•ื“ืขื•ืช ืžื ืชื—.
  7. ืื™ื‘ืŸ ืื ื“ืจื™ื™ืฉื™ืŸ. ืขืœ ื”ืื•ืคืŸ ืฉื‘ื• ื‘ื“ืงื ื• ื ื™ืชื•ื— ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืฉืœื ื• ืฉืœ ืกื™ืžื•ืœื˜ื•ืจ ื—ื™ื ื•ื›ื™ ืฉืœ ื ื™ืชื•ื—ื™ ืจื ื˜ื’ืŸ ืื ื“ื•ื•ืกืงื•ืœืจื™ื™ื.
  8. ืคืื‘ืœ ืืจืžื™ื™ื‘, ืกื•ื•ื™ืื˜ื•ืกืœื‘ ืจื–ืžื™ืกืœื•ื‘. ื›ื™ืฆื“ ืฆื•ื•ืช PVS-Studio ืฉื™ืคืจ ืืช ืงื•ื“ Unreal Engine.
  9. ืื ื“ืจื™ื™ ืงืจืคื•ื‘. ืกื™ื‘ื•ืช ืœื”ื›ื ื™ืก ืืช ืžื ืชื— ื”ืงื•ื“ ื”ืกื˜ื˜ื™ PVS-Studio ืœืชื”ืœื™ืš ื”ืคื™ืชื•ื—.

ื›ื™ืฆื“ ืœื™ื™ืฉื ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ืžื‘ืœื™ ืœื”ืคื—ื™ืช ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืฆื•ื•ืช

ืื ืืชื” ืจื•ืฆื” ืœืฉืชืฃ ืžืืžืจ ื–ื” ืขื ืงื”ืœ ื“ื•ื‘ืจ ืื ื’ืœื™ืช, ืื ื ื”ืฉืชืžืฉ ื‘ืงื™ืฉื•ืจ ื”ืชืจื’ื•ื: ืื ื“ืจื™ื™ ืงืจืคื•ื‘. ื›ื™ืฆื“ ืœื”ืฆื™ื’ ืžื ืชื— ืงื•ื“ ืกื˜ื˜ื™ ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื ื•ืœื ืœื™ื™ืืฉ ืืช ื”ืฆื•ื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”