αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›

αž’αž»αž‰αž‘αŸ’αžšαžΆαž“αŸ‹αž“αžΉαž„αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΌαžŠαž‚αŸ’αž˜αžΆαž“αž‘αžΈαž”αž‰αŸ’αž…αž”αŸ‹ αž¬αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ αž–αŸαž›αžαŸ’αž›αŸ‡αž’αŸ’αž“αž€αž‚αž·αžαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž±αŸ’αž™αž‡αžΈαžœαž·αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ” αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž”αžΆαž“β€‹αžŸαŸ’αžœαŸ‚αž„β€‹αžšαž€β€‹αž”αž“αŸ’αžαž·αž…β€‹αž”αž“αŸ’αžαž½αž… αž¬β€‹αžŠαŸ„αž™β€‹αž…αŸƒαžŠαž“αŸ’αž™β€‹αžœαžΆβ€‹αž‡αŸ†αž–αž”αŸ‹β€‹αžŠαž½αž› αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αžƒαžΎαž‰β€‹αžƒαŸ’αž›αžΆβ€‹αžœαŸαž‘αž˜αž“αŸ’αžαŸ– "αž€αžΆαžšαžœαž·αž—αžΆαž‚β€‹αž‹αž·αžαž·αžœαž“αŸ’αž"αŸ” αžαŸ„αŸ‡αž˜αžΎαž›αžαžΆαžαžΎαžœαžΆαž‡αžΆαž’αŸ’αžœαžΈ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž’αžΆαž…αž‘αžΆαž€αŸ‹αž‘αž„αž‡αžΆαž˜αž½αž™αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
αžαžΆαž˜αž€αžΆαžšαž–αž·αž αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž‡αžΆαž—αžΆαžŸαžΆαž‘αŸ†αž“αžΎαž”αžŽαžΆαž˜αž½αž™ αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆαžαžΆαž˜αžšαž™αŸˆαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαžŠαŸ„αž™αž˜αž·αž“αžŠαžΉαž„αžαŸ’αž›αž½αž“αŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž„αž€αŸ’αžšαž„αž‘αŸ†αž“αžΎαž”αžŽαžΆαž˜αž½αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαž·αž…αžαž½αž…αž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž–αŸαž›αž…αž„αž€αŸ’αžšαž„αž€αžΌαžŠ C++ αž“αŸ…αž€αŸ’αž“αž»αž„ Visual Studio αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžƒαžΎαž‰αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž‘αŸ’αž’αž•αž›αž“αŸαŸ‡ αž™αžΎαž„αžƒαžΎαž‰αžαžΆαž’αžαŸαžš var αž˜αž·αž“β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αž“αŸ…β€‹αž€αž“αŸ’αž›αŸ‚αž„β€‹αžŽαžΆβ€‹αž˜αž½αž™β€‹αž€αŸ’αž“αž»αž„β€‹αž˜αž»αžαž„αžΆαžšαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΆαž˜αž€αžΆαžšαž–αž·αž αž’αŸ’αž“αž€αžŸαŸ’αž‘αžΎαžšαžαŸ‚αžαŸ‚αž„αžαŸ‚αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž€αžΌαžŠαž‹αž·αžαž·αžœαž“αŸ’αžαžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αž·αž“αžŠαžΌαž…αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αžŠαŸ‚αž›αž˜αžΆαž“αž‡αŸ†αž“αžΆαž‰αžœαž·αž‡αŸ’αž‡αžΆαž‡αžΈαžœαŸˆαžŠαžΌαž…αž‡αžΆ Coverity, 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 αž…αŸαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

V537 αž–αž·αž…αžΆαžšαžŽαžΆαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αžΆαžαž» 'y' αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž›αžΌαž€αžŠαŸƒαž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αž αž»αžŸαž“αŸαŸ‡ αžŸαžΌαž˜αžŸαžΆαž€αž›αŸ’αž”αž„αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Compiler ExplorerαŸ– *αž™αŸ†*.

αž αžΎαž™αžŠαžΌαž…αžŠαŸ‚αž›αž’αŸ’αž“αž€αž™αž›αŸ‹ αžœαžΆαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž›αžΎαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αžΌαžŠαž”αŸ‚αž”αž“αŸαŸ‡αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ„αŸ‡αž‘αŸ αž αžΎαž™αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž’αž„αŸ’αž‚αž»αž™αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž˜αž½αž™αž˜αŸ‰αŸ„αž„αžŠαŸ„αž™αž†αŸ’αž„αž›αŸ‹αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž…αž˜αŸ’αž›αŸ‚αž€αžŠαžΌαž…αŸ’αž“αŸαŸ‡αŸ”

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž“αŸαŸ‡αž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž€αŸ†αž αž»αžŸαŸ” αž…αž»αŸ‡β€‹αž”αžΎβ€‹αž’αŸ’αž“αž€β€‹αž’αž—αž·αžœαžŒαŸ’αžαž“αŸβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αžΌαžŠβ€‹αž›αŸ’αž’β€‹αž”αŸ†αž•αž»αžβ€‹αžŠαŸ„αž™β€‹αžŸαžΆαžšβ€‹αž‚αžΆαžαŸ‹β€‹αž—αŸ’αž›αŸαž…β€‹αž—αžΆαž–β€‹αž‘αž“αŸ‹β€‹αžαŸ’αžŸαŸ„αž™β€‹αž“αŸƒβ€‹αž—αžΆαžŸαžΆ? αž¬αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠ αž₯αžšαž·αž™αžΆαž”αž‘αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹? αž‡αžΆαž’αž€αž»αžŸαž› αž€αžšαžŽαžΈαž”αŸ‚αž”αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαžΏαž„αž’αž˜αŸ’αž˜αžαžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž αžΎαž™αž…αŸ†αžŽαŸ‚αž€αž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαžšαž”αžŸαŸ‹αžŸαžαŸ’αžœαžαŸ„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž›αžΎαž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ αž‡αžΆαž–αž·αžŸαŸαžŸαž€αžΌαžŠαž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαžœαžΆαž™αž’αž€αŸ’αžŸαžš αž€αŸ†αž αž»αžŸαž’αž˜αŸ’αž˜αžαžΆ αž¬αž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆαž˜αž·αž“αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ”

αžœαžΆαž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŠαŸ‚αž›αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‡αŸ†αž“αž½αž™αž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž“αžΉαž„αž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αž”αž‰αŸ’αž αžΆαž•αŸ’αžŸαŸαž„αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠ αž“αž·αž„αž–αž“αŸ’αž™αž›αŸ‹αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžœαžΆαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαžαžΆαž˜αžœαž·αž’αžΈαž“αŸαŸ‡ αžαžΎαžœαžΆαž’αžΆαž…αž“αžΆαŸ†αž‘αŸ…αžšαž€αž’αŸ’αžœαžΈ αž“αž·αž„αžšαž”αŸ€αž”αž‡αž½αžŸαž‡αž»αž›αžœαžΆαŸ” αž“αŸαŸ‡αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžœαžΆαž’αžΆαž…αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αŸ– *αž™αŸ†*.

αž’αŸ’αž“αž€αž’αžΆαž…αžšαž€αžƒαžΎαž‰αž€αŸ†αž αž»αžŸαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž’αžΆαž…αžšαž€αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αŸ–

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž”αžΆαž“αž’αžΆαž“αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž“αŸαŸ‡αž αžΎαž™ αž“αž·αž„αž‡αžΏαž‡αžΆαž€αŸ‹αž›αžΎαž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž…αž„αŸ‹αžŸαžΆαž€αž›αŸ’αž”αž„αžœαžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜? αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αžΌαž›αž§αž”αž€αžšαžŽαŸαžαŸ’αž˜αžΈαž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€? αž αžΎαž™β€‹αžŽαŸ‚αž“αžΆαŸ†β€‹αž€αŸ’αžšαž»αž˜β€‹αž‘αŸ…β€‹αž‚αžΆαžαŸ‹β€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”β€‹αžŽαžΆ? αž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αž…αž˜αŸ’αž›αžΎαž™αž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαž½αžšαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ”

αž…αŸ†αžŽαžΆαŸ†: αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž˜αž·αž“αž‡αŸ†αž“αž½αžŸ αž¬αž›αž»αž”αž…αŸ„αž›αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž€αžΌαžŠαž“αŸ„αŸ‡αž‘αŸαŸ” αžœαžΆαž”αŸ†αž–αŸαž‰αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡ αž‡αž½αž™αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ αž“αž·αž„αž€αŸ‚αž€αŸ†αž αž»αžŸ αž—αžΆαž–αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž“αž·αž„αž€αžΆαžšαžšαž…αž“αžΆαž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αž‡αžΆαž˜αž»αž“αŸ” αžœαžΆαž˜αžΆαž“αž•αž›αž·αžαž—αžΆαž–αž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžαŸ„αžαž›αžΎαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž€αžΌαžŠαž›αžΎαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž“αž·αž„αž—αžΆαž–αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž“αŸƒαž€αžΌαžŠ αž‡αžΆαž‡αžΆαž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αžœαž„αŸ‹αž€αŸ’αžšαž…αž€αžŠαŸ‚αž›αžŠαžΆαž€αŸ‹αžαž»αžŸ ឬ αž’αžΆαž“αž˜αž»αžαž„αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‚αž½αžšαž±αŸ’αž™αž’αž»αž‰.

0. αžŸαŸ’αž‚αžΆαž›αŸ‹αž§αž”αž€αžšαžŽαŸ

αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαŸ‚αžŸαžΆαž€αž›αŸ’αž”αž„αŸ” αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αžœαžΆαž–αž·αžαž‡αžΆαž›αŸ†αž”αžΆαž€αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž’αž“αž»αžœαžαŸ’αžαž’αŸ’αžœαžΈαž˜αž½αž™αž‘αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αžŠαŸ‚αž›αžƒαžΎαž‰αž§αž”αž€αžšαžŽαŸαž“αŸαŸ‡αž•αŸ’αž‘αžΆαž›αŸ‹αž–αžΈαž˜αž»αž“αž˜αž€αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžšαžΏαž„αžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αž‚αž½αžšαž’αŸ’αžœαžΎαž‚αžΊαž‘αžΆαž‰αž™αž€ αž€αŸ†αžŽαŸ‚αžŸαžΆαž€αž›αŸ’αž”αž„.

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αžΉαž„αžšαŸ€αž“αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡αŸ–

  • αžαžΎαž˜αžΆαž“αžœαž·αž’αžΈαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚;
  • αžαžΎαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αžΉαž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ?
  • αžαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€?

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αž“αž€αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž αžΎαž™ αžšαžΏαž„αžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αž‚αž½αžšαž’αŸ’αžœαžΎαž‚αžΊαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αžΎαž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž˜αžΌαž› (αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Windows, Linux, MacOS) αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ PVS-Studio αž“αŸ…αž€αŸ’αž“αž»αž„ Visual Studio αž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αžšαžΌαž”αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ (αž’αžΆαž…αž…αž»αž…αž”αžΆαž“)αŸ–

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆαž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž…αŸαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαž’αŸ†αŸ” αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‡αž½αžŸαž‡αž»αž›αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž…αž αžΎαž™ αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž’αŸ’αž“αž€αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ†αž•αž»αžαŸ” αž“αž·αž„αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž–αž½αž€αžœαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ’αžšαž„αž›αž‘αŸ’αž’αž•αž›αž αžΎαž™αž‘αž»αž€αžαŸ‚αžŸαžΆαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αŸ†αž•αž»αžαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ PVS-Studio αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Visual Studio αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžŠαŸ„αž™αž€αžΆαžšαžαŸ’αžšαž„αžαžΆαž˜αž€αž˜αŸ’αžšαž·αž αž“αž·αž„αž”αŸ’αžšαž—αŸαž‘αž€αŸ†αž αž»αžŸαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž›αž‘αŸ’αž’αž•αž›β€‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœβ€‹αž”αŸ†αž•αž»αž αžŸαžΌαž˜β€‹αž‘αž»αž€β€‹αžαŸ‚β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžαŸ’αž–αžŸαŸ‹ ΠΈ αž‘αžΌαž‘αŸ… (αž’αžΆαž…αž…αž»αž…αž”αžΆαž“αž•αž„αžŠαŸ‚αžš)αŸ–

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž…αŸ†αž“αž½αž“ 178 αž‚αžΊαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž˜αžΎαž›αž‡αžΆαž„αžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹...

αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„ αž˜αž’αŸ’αž™αž˜ ΠΈ αž‘αžΆαž” αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž˜αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αŸ’αžšαž—αŸαž‘αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžαž·αž…αž‡αžΆαž„ (αž—αžΆαž–αž’αžΆαž…αž‡αžΏαž‡αžΆαž€αŸ‹αž”αžΆαž“)αŸ” αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž€αž˜αŸ’αžšαž·αžαž–αŸ’αžšαž˜αžΆαž“ αž“αž·αž„αž‡αž˜αŸ’αžšαžΎαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αžšαŸ„αž˜ Windows αž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ– *αž™αŸ†*.

αžŠαŸ„αž™αž”αžΆαž“αž–αž·αž“αž·αžαŸ’αž™αžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αž“αžΌαžœαž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ†αž•αž»αž (αž“αž·αž„αž”αžΆαž“αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™) αž‚αžΊαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒ αžšαžΆαžšαžΆαŸ†αž„αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹. αž“αŸαŸ‡αž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž€αž»αŸ†αž±αŸ’αž™αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαŸ’αž˜αžΈαž”αžΆαžαŸ‹αž”αž„αŸ‹αž€αŸ’αž“αž»αž„αž…αŸ†αž“αŸ„αž˜αž–αžΆαž€αŸ’αž™αž…αžΆαžŸαŸ‹αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž‚αžΊαž‡αžΆαž‡αŸ†αž“αž½αž™αž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž”αž‰αŸ’αž‡αžΈαž“αŸƒαž€αŸ†αž αž»αžŸαž“αŸ„αŸ‡αž‘αŸαŸ” πŸ™‚

1. αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαŸ’αž‚αžΆαž›αŸ‹αž αžΎαž™ αžŠαž›αŸ‹αž–αŸαž›αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ αž“αž·αž„αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ CI αŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž˜αž»αž“αž–αŸαž›αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆαž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αžΆαž…αž—αŸ’αž›αŸαž…αž”αžΎαž€αž€αžΆαžšαžœαž·αž—αžΆαž‚ αž¬αž˜αž·αž“αž…αž„αŸ‹αž’αŸ’αžœαžΎαžœαžΆαž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αžΆαž“ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒαž’αŸ’αžœαžΈαŸ—αž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„ αžŠαžΎαž˜αŸ’αž”αžΈαž€αž»αŸ†αž±αŸ’αž™αž€αžΌαžŠαžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž’αžΆαž…αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαžαžΆαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‘αžΌαž‘αŸ…αž”αžΆαž“αŸ”

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αžΉαž„αžšαŸ€αž“αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡αŸ–

  • αžαžΎαž§αž”αž€αžšαžŽαŸαž•αŸ’αžαž›αŸ‹αž‡αž˜αŸ’αžšαžΎαžŸαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡;
  • αžαžΎαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αž‘αžΎαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ?

αžŠαŸ„αž™αžŸαžΆαžšαž―αž€αžŸαžΆαžšαž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αž˜αž·αž“αž˜αžΆαž“αž‘αŸ αž–αŸαž›αžαŸ’αž›αŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŸαžšαžŸαŸαžšαž…αžΌαž› αž‚αžΆαŸ†αž‘αŸ’αžš. αž“αŸαŸ‡αž‡αžΆαžšαžΏαž„αž’αž˜αŸ’αž˜αžαžΆ αž αžΎαž™αž™αžΎαž„αžšαžΈαž€αžšαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‡αž½αž™αž’αŸ’αž“αž€αŸ” πŸ™‚

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž…αžΌαžšαž™αžΎαž„αž”αž“αŸ’αžαž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹ (CI)αŸ” αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αžŽαžΆαž˜αž½αž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž‘αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αžœαžΆαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαžαžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„αžŠαŸ‚αž›αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŸαžΆαž„αžŸαž„αŸ‹αž“αž·αž„αž―αž€αžαžΆαŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž»αž„αžŸαžΌαž›αž•αŸ’αžŸαŸαž„αŸ—αŸ” αž§αž‘αžΆαž αžšαžŽαŸ PVS-Studio αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • PVS-Studio_Cmd.exe (αž€αžΆαžšαžœαž·αž—αžΆαž‚αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž‚αž˜αŸ’αžšαŸ„αž„ C#, C++ αž“αŸ…αž›αžΎ Windows)
  • CLMonitor.exe (αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαž…αž„αž€αŸ’αžšαž„)
  • pvs-studio-αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚ (αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‚αž˜αŸ’αžšαŸ„αž„ C ++ αž“αŸ…αž›αžΎ Linux / macOS)
  • pvs-studio-dotnet (αž€αžΆαžšαžœαž·αž—αžΆαž‚αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž‚αž˜αŸ’αžšαŸ„αž„ C# αž“αŸ…αž›αžΎ Linux / macOS)
  • pvs-studio.jar (αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‚αž˜αŸ’αžšαŸ„αž„ Java)
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž˜αŸ’αž›αŸ‚αž„ Plog (αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž˜αŸ’αž›αŸ‚αž„αž―αž€αžŸαžΆαžš)

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‘αŸ…αž€αŸ’αž“αž»αž„ CI αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž”αžΈαž™αŸ‰αžΆαž„αŸ–

  • αžŠαŸ†αž‘αžΎαž„αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚;
  • αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžœαž·αž—αžΆαž‚;
  • αž•αŸ’αžαž›αŸ‹αž›αž‘αŸ’αž’αž•αž›αŸ”

αž§αž‘αžΆαž αžšαžŽαŸ αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ PVS-Studio αž“αŸ…αž›αžΎαž›αžΈαž“αž»αž… (Debian-base) αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

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++ (Linux) αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαŸ–

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log
plog-converter -t errorfile PVS-Studio.log --cerr -w

αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αžΈαž˜αž½αž™αž“αžΉαž„αž’αŸ’αžœαžΎαž€αžΆαžšαžœαž·αž—αžΆαž‚ αž αžΎαž™αž‘αžΈαž–αžΈαžš αžŸαŸ’αžšαŸ„αž˜αžŸαŸ†αž”αž»αžαŸ’αžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž‘αŸ…αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αž’αžαŸ’αžαž”αž‘ αž”αž„αŸ’αž αžΆαž‰αžœαžΆαž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹ αž αžΎαž™αž”αž„αŸ’αž αžΆαž‰αž›αŸαžαž€αžΌαžŠαžαŸ’αžšαž‘αž”αŸ‹αž€αŸ’αžšαŸ…αž–αžΈ 0 αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αŸ” αž™αž“αŸ’αžαž€αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž€αžΆαžšαžŸαŸ’αžαžΆαž”αž“αžΆαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αžΆαž“αžŸαžΆαžšαž€αŸ†αž αž»αžŸαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αžŠαž€αž‘αž„αŸ‹αž‡αžΆαžαž·αž…αŸαž‰αž”αžΆαž“αŸ” -w αž αžΎαž™αž€αž»αŸ†αžšαžΆαžšαžΆαŸ†αž„αž€αžΆαžšαž‡αž½αž”αž”αŸ’αžšαž‡αž»αŸ†αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αŸ”

αž…αŸ†αžŽαžΆαŸ†: αž‘αž˜αŸ’αžšαž„αŸ‹β€‹αž’αžαŸ’αžαž”αž‘β€‹αž˜αž·αž“β€‹αžŸαŸ’αžšαž½αž›αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαŸ” αž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž‘αž˜αŸ’αžšαž„αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž‡αžΆαž„αž˜αž»αž“ - FullHtml αŸ” αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαž»αž€αžšαž€αžαžΆαž˜αžšαž™αŸˆαž€αžΌαžŠαŸ”

αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αžΎ CI αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘ "PVS-Studio αž“αž·αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹" (αžœαžΈαž“αžŠαžΌ) ឬ "αžšαž”αŸ€αž”αžαŸ†αž‘αžΎαž„ PVS-Studio αž“αŸ…αž€αŸ’αž“αž»αž„ Travis CI" (αž›αžΈαž“αž»αž…) αŸ”

αž˜αž·αž“αž’αžΈαž‘αŸ αž’αŸ’αž“αž€αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž“αŸ…αž›αžΎ build serverαŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž”αžΆαž“αž”αž„αŸ’αž αŸ„αŸ‡αž€αžΌαžŠαžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„ αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž“αžΉαž„αž”αžšαžΆαž‡αŸαž™ αž αžΎαž™αž’αŸ’αž“αž€αž“αžΉαž„αž’αžΆαž…αžšαž€αžƒαžΎαž‰αž”αž‰αŸ’αž αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αŸ„αŸ‡αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‚αž˜αŸ’αžšαŸ„αž„ αž˜αž·αž“αž˜αŸ‚αž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαžΆαžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚ αž˜αž»αž“αž–αŸαž›αžœαžΆαž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž‘αžΆαž‰ A.

αž‡αžΆαž‘αžΌαž‘αŸ… αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαžœαž·αž—αžΆαž‚αžŸαŸ†αžŽαžΎαžšαž‘αžΆαž‰αž‚αžΊαž˜αž·αž“αžαž»αžŸαž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αž˜αŸ’αž˜αžαžΆαž“αŸƒαž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αžΎ CI αž“αŸ„αŸ‡αž‘αŸαŸ” αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΈαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ„αž™αž€αžΆαžšαžŸαžΆαž€αžŸαž½αžšαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„αžŸαžΆαžαžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎ gitαŸ–

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

αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž€αžΆαžšαžœαž·αž—αžΆαž‚αžŸαŸ†αžŽαžΎαž‘αžΆαž‰ *αž“αŸ…αž‘αžΈαž“αŸαŸ‡*. αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆ CI αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αž·αž“αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αž“αžΉαž„αžƒαžΎαž‰αž•αŸ’αž“αŸ‚αž€αž‘αžΌαž‘αŸ…αžŠαŸ‚αž›αž§αž‘αŸ’αž‘αž·αžŸαžŠαž›αŸ‹αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈαž“αŸƒαž€αžΆαžšαžœαž·αž—αžΆαž‚αž”αŸ’αžšαž—αŸαž‘αž“αŸαŸ‡αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαŸ”

αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αž“αŸƒαžŸαŸ†αžŽαžΎαž‘αžΆαž‰ αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž€αžΆαžšαž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“ αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž”αž„αŸ’αž€αžΎαžαž–αŸ’αžšαŸ†αžŠαŸ‚αž“αžŠαŸ‚αž›αž€αžΌαžŠαžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžŸαžΆαž€αž›αŸ’αž”αž„αž˜αž·αž“αž’αžΆαž…αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž”αžΆαž“αž‘αŸαŸ”

αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž–αž·αžαž‡αžΆαž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αžƒαžΎαž‰αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™αŸ” αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž˜αž€αž–αžΈαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αŸαž˜αž€αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž―αž€αžαžΆ αž¬αž–αžΈαž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αžαžΆαž˜αžœαž“αŸ’αžαž•αž„αžŠαŸ‚αžšαŸ” αž˜αžΆαž“αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž•αŸ’αžŸαŸαž„αŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡αŸ” αž§αž‘αžΆαž αžšαžŽαŸ PVS-Studio αž˜αžΆαž“ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ SonarQube.

2. αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαžŠαž›αŸ‹αž–αŸαž›αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαŸ” αž˜αž€αžŠαž›αŸ‹αž…αŸ†αžŽαž»αž…αž“αŸαŸ‡ αž’αŸ’αž“αž€αž”αžΆαž“αžŸαŸ’αž‚αžΆαž›αŸ‹αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αž“αžΌαžœαžœαž·αž’αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž—αžΆαž‚αž…αŸ’αžšαžΎαž“ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž•αž»αžαŸ”

αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αžŠαŸ†αž‘αžΎαž„αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžœαžΆαž“αžΉαž„αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“ αž“αž·αž„αž”αž„αŸ’αžœαŸ‚αžšαž–αž½αž€αž‚αŸαž–αžΈαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž‘αž„αŸ‹αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ PVS-Studio αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž”αŸ’αžšαž—αŸαž‘ αž‘αž„αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·. αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžœαžΆαžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹ αž§αž‘αžΆαž αžšαžŽαŸ Chocolatey (Windows), Homebrew (macOS) αž¬αž‡αž˜αŸ’αžšαžΎαžŸαžšαžΆαž”αŸ‹αžŸαž·αž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αžΈαž“αž»αž…αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž§αž‘αžΆαž αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αžŸαŸ’αž‘αžΌαžŒαžΈαž™αŸ„αžšαžΌαž”αž—αžΆαž–, αž’αžΆαž™αžŒαžΈαž’αŸ, αž’αŸ’αž“αž€αž‡αž·αŸ‡ αž›

3. αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒ

αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡ αžœαžΆαžŠαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž“αž·αž™αžΆαž™αž–αžΆαž€αŸ’αž™αž–αžΈαžšαž”αžΈαž’αŸ†αž–αžΈαžœαž·αž’αžΈαž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž’αŸ†αž‘αž»αž„αž–αŸαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒαŸ” αž€αžΆαžšαžœαž·αž—αžΆαž‚αž–αŸαž‰αž›αŸαž‰αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΎαž™αžΎαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΌαžŠαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž˜αžΌαž›αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™? αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž˜αž·αž“αž˜αžΆαž“ refactoring αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αŸ†αžŠαŸ‚αž›αžœαžΆαž“αžΉαž„αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαž‘αžΆαŸ†αž„αž˜αžΌαž›αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ„αŸ‡αž‘αŸαŸ” αž…αŸ†αž“αž½αž“αž“αŸƒαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αž€αž˜αŸ’αžšαž˜αžΆαž“αž›αžΎαžŸαž–αžΈαžŠαž”αŸ‹ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαžŸαž˜αž αŸαžαž»αž•αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αž–αž½αž€αžœαžΆαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αŸ‚αž”αž“αŸαŸ‡αž˜αžΆαž“ αžšαž”αŸ€αž”αžœαž·αž—αžΆαž‚αž”αž“αŸ’αžαŸ‚αž˜. αž€αž»αŸ†αž—αŸαž™αžŸαŸ’αž›αž“αŸ‹αžŸαŸ’αž›αŸ„ αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž§αž”αž€αžšαžŽαŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αŸαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαž”αŸ€αž”αž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αžαŸ‚αž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αž·αž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžšαž”αžŸαŸ‹αžœαžΆ αž αžΎαž™αžœαžΆαž“αžΉαž„αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž„αŸ’αž€αžΎαž αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ IDE αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αžšαž€αžƒαžΎαž‰αž”αž‰αŸ’αž αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡ αžœαžΆαž“αžΉαž„αžšαžΆαž™αž€αžΆαžšαžŽαŸαžŠαŸ„αž™αž―αž€αžšαžΆαž‡αŸ’αž™αŸ” αž§αž‘αžΆαž αžšαžŽαŸ PVS-Studio αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αŸ–

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž€αžΆαžšαž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž±αŸ’αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž‚αžΊαž˜αž·αž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž‘αŸαŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αž‚αŸαžαžΆαžœαžΆαž‡αžΆαž’αŸ’αžœαžΈ αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž‡αžΆαŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αžαŸ’αžαž”αž‘αž’αŸ†αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αžšαž αŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ PVS-Studio αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαž”αž„αŸ’αžšαŸ€αž“αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸαžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αžΌαž›αž…αž·αžαŸ’αžαŸ–

αž’αžαŸ’αžαž”αž‘αž”αŸ‚αž”αž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž–αŸαžαŸŒαž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž…αžΆαŸ†αžαŸ’αž„αŸƒ αž αžΎαž™αž˜αž·αž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž–αŸαž›αžœαŸαž›αžΆαž…αŸ’αžšαžΎαž“αž‘αŸαŸ” πŸ™‚

αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸƒαž€αžΆαžšαžŸαŸ’αž‚αžΆαž›αŸ‹αž§αž”αž€αžšαžŽαŸαž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž‘αž”αŸ‹αžŸαŸ’αž€αžΆαžαŸ‹αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž“αŸƒαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αŸ” αž‡αžΆαž’αž€αž»αžŸαž› αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž˜αž·αž“αž›αŸ’αž’αž₯αžαžαŸ’αž…αŸ„αŸ‡αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž–αžΈαž–αŸαž›αž˜αž½αž™αž‘αŸ…αž–αŸαž›αž˜αž½αž™αž–αž½αž€αž‚αŸαž•αŸ’αžαž›αŸ‹αž—αžΆαž–αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αž˜αž·αž“αž–αž·αžαŸ” αž‡αžΆβ€‹αž’αž˜αŸ’αž˜αžαžΆβ€‹αžœαžΆβ€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž„αžΆαž™β€‹αžŸαŸ’αžšαž½αž›β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž‘αž”αŸ‹β€‹αžŸαŸ’αž€αžΆαžαŸ‹β€‹αž–αž½αž€β€‹αžœαžΆ αž‡αžΆβ€‹αž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„β€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž‡αŸ†αž“αž½αž™ PVS-Studio αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Visual Studio αž’αŸ’αž“αž€β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž…αž»αž…β€‹αž”αŸŠαžΌαžαž»αž„β€‹αž˜αž½αž™β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ–

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›
αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž›αžΎαžŸαž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αŸ’αžšαžΆαž”αž–αž½αž€αž‚αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž’αžΆαž…αžšαžΆαž™αž€αžΆαžšαžŽαŸαž”αž‰αŸ’αž αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž—αžΆαž–αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αž˜αž·αž“αž–αž·αžαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚ αž“αŸ„αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž“αžΆαž–αŸαž›αžαžΆαž„αž˜αž»αž αž’αŸ’αž“αž€αž’αžΆαž…αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžƒαžΎαž‰αžαžΆ αžšαžΆαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αž˜αžΆαž“αž—αžΆαž–αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αž˜αž·αž“αž–αž·αžαžαž·αž…αž‡αžΆαž„αž˜αž»αž“αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž™αžΎαž„αž”αžΆαž“αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž‘αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž§αž”αž€αžšαžŽαŸαž”αŸ‚αž”αž“αŸαŸ‡αž“αŸ…αž›αžΎ CI αž€αŸαžŠαŸ„αž™ αž€αž“αŸ’αž›αŸ‚αž„αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αž½αž€αžœαžΆαž‚αžΊαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž™αŸ‰αžΆαž„αžŽαžΆαž˜αž·αž‰ αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž…αŸ…αž€αŸ’αžšαž˜αžŠαŸ‚αž›αž“αž·αž™αžΆαž™αžαžΆαž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž†αŸ’αž„αžΆαž™αž–αžΈαž’αŸ’αž“αž€αžαžΆαž›αŸαžαž€αžΌαžŠαž˜αž·αž“αž›αŸ’αž’αž“αŸ„αŸ‡αž‘αŸαŸ” αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰ αžœαžΆαž‚αžΊαž‡αžΆαž‡αŸ†αž“αž½αž™αž€αžΆαžšαžŠαŸ‚αž›αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžαžΆ αž’αŸ’αž“αž€αž αžαŸ‹αž“αžΏαž™ αž αžΎαž™αžšαŸ†αž›αžΉαž€αž’αŸ’αž“αž€ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž—αŸ’αž›αŸαž…αž’αŸ’αžœαžΈαž˜αž½αž™αŸ”

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž”αŸ’αžšαž…αžΆαŸ† αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž‘αŸ†αž“αž„αž‡αžΆαž˜αž·αž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αžΆαž“αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸ„αŸ‡αž‘αŸαŸ” αž™αŸ‰αžΆαž„αžŽαžΆαž˜αž·αž‰ αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αžΊαž˜αž·αž“αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž‘αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž•αŸ’αž“αŸ‚αž€αžŠαŸαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αž“αž·αž„αž…αž˜αŸ’αžšαžΌαž„αž…αž˜αŸ’αžšαžΆαžŸαž“αŸƒαž€αžΌαžŠ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž™αž›αŸ‹αžŸαŸ’αžšαž”αžαžΆαž€αžΆαžšαžšαž€αžƒαžΎαž‰αž”αž‰αŸ’αž αžΆαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž˜αž·αž“αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαž•αž„αŸ” αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎαž‡αžΆαž”αŸ’αžšαž…αžΆαŸ† αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžšαžΆαž›αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž›αžΎαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αžšαžΆαž™αž€αžΆαžšαžŽαŸαž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αž‚αž½αžšαž±αŸ’αž™αžŸαž„αŸ’αžŸαŸαž™ αžαžŽαŸˆαž–αŸαž›αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž€αžΌαžŠαŸ”

αž αžΎαž™β€‹αž”αŸ’αžšαžŸαž·αž“β€‹αž”αžΎβ€‹αž’αŸ’αž“αž€ αž¬β€‹αžŸαž αž€αžΆαžšαžΈβ€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€β€‹αž“αŸ…β€‹αžαŸ‚β€‹αž˜αž·αž“β€‹αž”αŸ’αžšαžΆαž€αžŠβ€‹αžαžΆβ€‹αžαžΎβ€‹αžœαžΆβ€‹αž˜αžΆαž“β€‹αžαž˜αŸ’αž›αŸƒβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžœαž·αž—αžΆαž‚β€‹αž“αŸ„αŸ‡β€‹αžαŸ’αž‰αž»αŸ†β€‹αžŸαŸ’αž“αžΎβ€‹αž±αŸ’αž™β€‹αž’αŸ’αž“αž€β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžαžΎβ€‹αž˜β€‹αž’αžΆαž“β€‹αž’αžαŸ’αžαž”αž‘ "αž αŸαžαž»αž•αž›αžŠαžΎαž˜αŸ’αž”αžΈαžŽαŸ‚αž“αžΆαŸ†αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž€αžΌαžŠαž‹αž·αžαž·αžœαž“αŸ’αž PVS-Studio αž‘αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ"αŸ” αžœαžΆαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αž„αŸ’αžœαž›αŸ‹αž’αž˜αŸ’αž˜αžαžΆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαž“αžΉαž„αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž™αžΌαžšαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž›αžΎαŸ”

αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αž - αž–αžΈαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαž›αŸ‹αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž‘αžŸαŸ’αžŸαž“αž·αž€αž‡αž“αžŠαŸ‚αž›αž“αž·αž™αžΆαž™αž—αžΆαžŸαžΆαž’αž„αŸ‹αž‚αŸ’αž›αŸαžŸ αžŸαžΌαž˜αž”αŸ’αžšαžΎαžαŸ†αžŽαž”αž€αž”αŸ’αžšαŸ‚αŸ– Maxim Zvyagintsev αŸ” αž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαŸ– αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αŸ…αžŸαž˜αžΆαž αžšαžŽαž€αž˜αŸ’αž˜.

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹