เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†

เด…เดจเดจเตเดคเดฎเดพเดฏ เด•เต‹เดกเต เด…เดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดฒเต‹ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เดฟเดฒเต‹ เดฎเดŸเตเดคเตเดคเต, เดšเดฟเดฒเดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดœเต€เดตเดฟเดคเด‚ เดŽเด™เตเด™เดจเต† เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด…เตฝเดชเตเดชเด‚ เดคเดฟเดฐเดžเตเดžเดคเดฟเดจเต เดถเต‡เดทเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด†เด•เดธเตเดฎเดฟเด•เดฎเดพเดฏเดฟ เด…เดคเดฟเตฝ เด‡เดŸเดฑเดฟเดตเต€เดดเตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดพเดจเตเดคเตเดฐเดฟเด• เดตเดพเด•เตเดฏเด‚ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚: "เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚". เด…เดคเต เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเดฎเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เดธเด‚เดตเดฆเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเตเด‚ เดจเต‹เด•เตเด•เดพเด‚.

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†
เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด†เดงเตเดจเดฟเด• เดญเดพเดทเดฏเดฟเตฝ เดŽเดดเตเดคเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดชเต‹เดฒเตเด‚ เด…เดฑเดฟเดฏเดพเดคเต†, เดจเดฟเด™เตเด™เตพ เด…เดคเต เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเดฟเดฒเต‚เดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต. เดเดคเตŠเดฐเต เด†เดงเตเดจเดฟเด• เด•เด‚เดชเตˆเดฒเดฑเตเด‚ เด•เต‹เดกเดฟเดฒเต† เดธเดพเดงเตเดฏเดฎเดพเดฏ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดšเต†เดฑเตเดคเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเตฝเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเดฟเตฝ C++ เด•เต‹เดกเต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด•เดฃเตเดŸเต‡เด•เตเด•เดพเด‚:

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†
เดˆ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดฟเตฝ เดจเดฎเตเด•เตเด•เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด•เดพเดฃเดพเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดšเดŸเด™เตเด™เดฟเตฝ เด’เดฐเดฟเดŸเดคเตเดคเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด•เต‹เดกเต เด…เดจเดฒเตˆเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, 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' เด‡เดจเดคเตเดคเดฟเดจเตเดฑเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เด•เตƒเดคเตเดฏเดค เด…เดตเดฒเต‹เด•เดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด•.

เดˆ เดชเดฟเดถเด•เดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เตˆเด•เตพ เด•เตเดคเตเดคเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เด•เดฎเตเดชเตˆเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฒเต‹เดฑเดฑเดฟเตฝ เด’เดฐเต เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•: *เด•เดฐเดฏเตเด•*.

เดจเดฟเด™เตเด™เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เด•เต‹เดกเดฟเดจเตเดฑเต† เด…เดคเตเดคเดฐเด‚ เดตเดฟเดญเดพเด—เด™เตเด™เดณเดฟเตฝ เด‰เดŸเดจเดŸเดฟ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ, เด‡เด•เตเด•เดพเดฐเดฃเดคเตเดคเดพเตฝ, เดŽเดฒเตเดฒเดพเด‚ เดตเดณเดฐเต† เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต†เดจเตเดจเต เด†เดถเตเดšเดฐเตเดฏเดชเตเดชเต†เดŸเตเดŸเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดจเดฒเตเดฒ เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเตเด‚ เด’เดฐเต เดคเต†เดฑเตเดฑเดพเดฃเต. เดญเดพเดทเดฏเตเดŸเต† เดšเดฟเดฒ เดธเต‚เด•เตเดทเตเดฎเดค เดฎเดฑเดจเตเดจเดคเดฟเดจเดพเตฝ เดกเต†เดตเดฒเดชเตเดชเตผ เดธเดฌเตโ€Œเดชเตเดฑเตเดฑเดฟเดฎเตฝ เด•เต‹เดกเต เดŽเดดเตเดคเดฟเดฏเดพเดฒเต‹? เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เต‹เดกเดฟเตฝ เดชเต‹เดฒเตเด‚ เด…เดจเตเดตเดฆเดฟเดšเตเดšเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเด‚? เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เด…เดคเตเดคเดฐเด‚ เด•เต‡เดธเตเด•เตพ เดคเดฟเด•เดšเตเดšเตเด‚ เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เด…เด•เตเดทเดฐเดคเตเดคเต†เดฑเตเดฑเตเด•เตพ, เดธเดพเดงเดพเดฐเดฃ เดชเดฟเดถเด•เตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเด‚ เดŽเดจเตเดจเดฟเดต เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจ เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดตเตผเด•เตเด•เดฟเด‚เด—เต เด•เต‹เดกเต เดกเต€เดฌเด—เตเด—เตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฃเต เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดธเดฟเด‚เดนเดญเดพเด—เดตเตเด‚ เดšเต†เดฒเดตเดดเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดˆ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฃเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเดคเต. เด•เต‹เดกเดฟเดฒเต† เดตเดฟเดตเดฟเดง เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดŽเดดเตเดคเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เด…เดคเต เดŽเดจเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เด…เดคเต เดŽเด™เตเด™เดจเต† เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเตเด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดกเดตเดฒเดชเตเดชเตผเด•เตเด•เตเดณเตเดณ เด’เดฐเต เด…เดธเดฟเดธเตเดฑเตเดฑเดจเตเดฑเดพเดฃเดฟเดคเต. เด‡เดคเต เดŽเด™เตเด™เดจเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ: *เด•เดฐเดฏเตเด•*.

เดฒเต‡เด–เดจเด™เตเด™เดณเดฟเตฝ เด…เดจเดฒเตˆเดธเตผ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเดจเตเดจ เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเดฏ เดชเดฟเดถเด•เตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚:

เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เดˆ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเตเดฑเต† เดจเต‡เดŸเตเดŸเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฌเต‹เดงเตเดฏเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เดŽเดจเตเดจเดพเตฝ เดŽเดตเดฟเดŸเต† เดคเตเดŸเด™เตเด™เดฃเด‚? เดจเดฟเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฒเดตเดฟเดฒเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดชเตเดคเดฟเดฏ เด‰เดชเด•เดฐเดฃเด‚ เดŽเด™เตเด™เดจเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚? เดชเดฟเดจเตเดจเต† เดŸเต€เดฎเดฟเดจเต† เดŽเด™เตเด™เดจเต† เด…เดตเดจเต เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚? เดˆ เดšเต‹เดฆเตเดฏเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เด‰เดคเตเดคเดฐเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพ เดšเตเดตเดŸเต† เด•เดฃเตเดŸเต†เดคเตเดคเตเด‚.

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เด•เต‹เดกเต เด…เดตเดฒเต‹เด•เดจเด™เตเด™เตพ เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เด’เดฐเต เด•เดพเดฐเตเดฏเดคเตเดคเต† เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•เดฏเต‹ เดฑเดฆเตเดฆเดพเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เด‡เดคเต เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเต† เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เด•เตเดทเดฐเดคเตเดคเต†เดฑเตเดฑเตเด•เตพ, เด•เตƒเดคเตเดฏเดคเดฏเดฟเดฒเตเดฒเดพเดฏเตเดฎ, เด…เดชเด•เดŸเด•เดฐเดฎเดพเดฏ เดกเดฟเดธเตˆเดจเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดจเตเด‚ เดคเดฟเดฐเตเดคเตเดคเดพเดจเตเด‚ เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดคเต†เดฑเตเดฑเดพเดฏ เดชเดฐเดพเดจเตเดคเต€เดธเดฟเดธเต เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚, เด…เตฝเด—เต‹เดฐเดฟเดคเด‚, เด•เต‹เดกเต เดตเตเดฏเด•เตเดคเดค เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‹เดกเต เด…เดตเดฒเต‹เด•เดจเด™เตเด™เดณเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เต‚เดŸเตเดคเตฝ เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฃเต. เดตเดฟเดฐเดธเดฎเดพเดฏ เดคเดพเดฐเดคเดฎเตเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดตเดพเดฏเดฟเด•เตเด•เตเด•.

0. เดŸเต‚เตพ เด…เดฑเดฟเดฏเตเด•

เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต เดŸเตเดฐเดฏเตฝ เดชเดคเดฟเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฟเด™เตเด™เตพ เดฎเตเดฎเตเดชเต เด‰เดชเด•เดฐเดฃเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด•เดฃเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดตเดฟเด•เดธเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดŸเตเดฐเดฏเตฝ เดชเดคเดฟเดชเตเดชเต.

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต เดชเด เดฟเด•เตเด•เตเดจเตเดจเดคเต:

  • เด…เดจเดฒเตˆเดธเดฑเตเดฎเดพเดฏเดฟ เดธเด‚เดตเดฆเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดตเดดเดฟเด•เตพ เดŽเดจเตเดคเตŠเด•เตเด•เต†เดฏเดพเดฃเต;
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเดฟเด•เดธเดจ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเตเดฎเดพเดฏเดฟ เด…เดจเดฒเตˆเดธเตผ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹?
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดฒเดตเดฟเตฝ เดŽเดจเตเดคเตŠเด•เตเด•เต† เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตเดฃเตเดŸเต?

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต†เดฒเตเดฒเดพเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เดฎเตเดดเตเดตเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดจเดŸเดคเตเดคเตเด• เดŽเดจเตเดจเดคเดพเดฃเต (เดตเดฟเตปเดกเต‡เดพเดธเต, เดฒเดฟเดจเด•เตเดธเต, เดฎเดพเด•เตเด’เดŽเดธเดฟเดฒเต†เดธเดซเดพเดฐเดฟ). เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเดฟเดฒเต† เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เด•เดพเดฃเตเด‚ (เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเต):

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†
เด’เดฐเต เดตเดฒเดฟเดฏ เด•เต‹เดกเต เดฌเต‡เดธเต เด‰เดณเตเดณ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเตเด•เตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดงเดพเดฐเดพเดณเด‚ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค. เด…เดตเดฏเต†เดฒเตเดฒเดพเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต เดˆ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดจเดฟเตผเดฃเดพเดฏเด•เดฎเดฒเตเดฒ. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดฑเตเดฑเดตเตเด‚ เดฐเดธเด•เดฐเดฎเดพเดฏ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เดจเต‹เด•เตเด•เดพเด‚ เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เด…เดต เดถเดฐเดฟเดฏเดพเด•เตเด•เตเด•. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดเดฑเตเดฑเดตเตเด‚ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดฎเดพเดคเตเดฐเด‚ เดจเตฝเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตเด•เตเด•เตเดณเตเดณ PVS-Studio เดชเตเดฒเด—เดฟเดจเดฟเตฝ, เดชเดฟเดถเด•เต เดจเดฟเดฒเด•เดณเตเด‚ เดตเดฟเดญเดพเด—เด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดคเดพเดฃเต เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เดเดฑเตเดฑเดตเตเด‚ เด•เตƒเดคเตเดฏเดฎเดพเดฏ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดฟเดจเดพเดฏเดฟ, เดฎเดพเดคเตเดฐเด‚ เดตเดฟเดŸเตเด• เด‰เดฏเดฐเตเดจเตเดจ ะธ เดชเต†เดพเดคเตเดตเดพเดฏ (เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเตเด‚):

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†
เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, 178 เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด†เดฏเดฟเดฐเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต...

เดŸเดพเดฌเตเด•เดณเดฟเตฝ เดฎเต€เดกเดฟเดฏเด‚ ะธ เด•เตเดฑเดžเตเดž เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดจเดฒเตเดฒ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดˆ เดตเดฟเดญเดพเด—เด™เตเด™เดณเดฟเตฝ เด•เตƒเดคเตเดฏเดค เด•เตเดฑเดตเตเดณเตเดณ (เดตเดฟเดถเตเดตเดพเดธเตเดฏเดค) เดกเดฏเด—เตเดจเต‹เดธเตเดฑเตเดฑเดฟเด•เตเดธเต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดตเดฟเตปเดกเต‹เดธเดฟเดจเต เด•เต€เดดเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดฒเต†เดตเดฒเตเด•เดณเตเด‚ เด“เดชเตเดทเดจเตเด•เดณเตเด‚ เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚: *เด•เดฐเดฏเตเด•*.

เดเดฑเตเดฑเดตเตเด‚ เดฐเดธเด•เดฐเดฎเดพเดฏ เดชเดฟเดถเด•เตเด•เตพ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เด…เดตเดฒเต‹เด•เดจเด‚ เดšเต†เดฏเตโ€Œเดคเดคเต (เด…เดต เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดถเดฐเดฟเดฏเดพเด•เตเด•เดฟ) เดฎเต‚เดฒเตเดฏเดตเดคเตเดคเดพเดฃเต เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด…เดŸเดฟเดšเตเดšเดฎเตผเดคเตเดคเตเด•. เดชเดดเดฏ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดชเตเดคเดฟเดฏ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เดจเดทเตเดŸเดชเตเดชเต†เดŸเดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด•เต‚เดŸเดพเดคเต†, เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเตผ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเด•เตเด•เตเดณเตเดณ เดธเดนเดพเดฏเดฟเดฏเดพเดฃเต, เดฌเด—เตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฒเตเดฒ. ๐Ÿ™‚

1. เด…เดตเตเดคเตŠเดฎเดคเดฟเดธเดพเดธเดฟเดฏ

เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเตเดŸเดคเดฟเดจเต เดถเต‡เดทเด‚, เดชเตเดฒเด—เดฟเดจเตเด•เตพ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ CI-เดฏเดฟเดฒเต‡เด•เตเด•เต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดฎเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต. เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเดฎเดพเตผ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต เด‡เดคเต เดšเต†เดฏเตเดฏเดฃเด‚. เดตเดฟเดถเด•เดฒเดจเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผ เดฎเดฑเดจเตเดจเต‡เด•เตเด•เดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต เดšเต†เดฏเตเดฏเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดŽเดฒเตเดฒเดพ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เด…เดจเตเดคเดฟเดฎ เดชเดฐเดฟเดถเต‹เดงเดจ เดจเดŸเดคเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เด™เตเด™เดจเต† เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดคเตเดค เด•เต‹เดกเดฟเดจเต เดชเตŠเดคเต เดตเดฟเด•เดธเดจ เดถเดพเด–เดฏเดฟเตฝ เดชเตเดฐเดตเต‡เดถเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต เดชเด เดฟเด•เตเด•เตเดจเตเดจเดคเต:

  • เด‰เดชเด•เดฐเดฃเด‚ เดŽเดจเตเดคเต เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เด“เดชเตเดทเดจเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเต;
  • เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดธเด‚เดฌเตเดฒเดฟ เดธเดฟเดธเตเดฑเตเดฑเดตเตเดฎเดพเดฏเดฟ เด…เดจเดฒเตˆเดธเตผ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹?

เดคเดฟเด•เดžเตเดž เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เดšเดฟเดฒเดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เดŽเดดเตเดคเต‡เดฃเตเดŸเดฟ เดตเดฐเตเด‚ เดชเดฟเดจเตเดคเตเดฃ. เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฃเต, เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดธเดจเตเดคเต‹เดทเดฎเตเดฃเตเดŸเต. ๐Ÿ™‚

เด‡เดจเดฟ เดจเดฎเตเด•เตเด•เต เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เด‡เดจเตเดฑเด—เตเดฐเต‡เดทเตป (เดธเดฟเด) เดธเต‡เดตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚. เด—เตเดฐเตเดคเดฐเดฎเดพเดฏ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒเดพเดคเต† เดเดคเต เด…เดจเดฒเตˆเดธเดฑเตเด‚ เด…เดตเดฏเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดชเตˆเดชเตเดชเตเดฒเตˆเดจเดฟเตฝ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด˜เดŸเตเดŸเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดฌเดฟเตฝเดกเต, เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดถเต‡เดทเด‚ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดตเดฟเดตเดฟเดง เด•เตบเดธเต‹เตพ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, PVS-Studio เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เดจเตฝเด•เตเดจเตเดจเต:

  • PVS-Studio_Cmd.exe (Windows-เดฒเต† เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚, C#, C++ เดชเดฆเตเดงเดคเดฟเด•เตพ)
  • CLMonitor.exe (เดธเดฎเดพเดนเดพเดฐ เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚)
  • pvs-studio-analyzer (Linux / macOS-เดฒเต† C++ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚)
  • pvs-studio-dotnet (เดชเดฐเดฟเดนเดพเดฐ เดตเดฟเดถเด•เดฒเดจเด‚, Linux / macOS-เดฒเต† C# เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพ)
  • pvs-studio.jar (เดœเดพเดต เดชเดฆเตเดงเดคเดฟเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚)
  • เดชเตเดฒเด—เต เด•เตบเดตเต†เตผเดŸเตเดŸเตผ (เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดซเดฏเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเตผ)

CI-เดฏเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดฎเต‚เดจเตเดจเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

  • เด…เดจเดฒเตˆเดธเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•;
  • เดฑเตบ เดตเดฟเดถเด•เดฒเดจเด‚;
  • เดซเดฒเด™เตเด™เตพ เดจเตฝเด•เตเด•.

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฒเดฟเดจเด•เตเดธเดฟเตฝ (เดกเต†เดฌเดฟเดฏเตป-เดฌเต‡เดธเต) เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

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

เดตเดฟเตปเดกเต‹เดธเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ, เดชเดพเด•เตเด•เต‡เดœเต เดฎเดพเดจเต‡เดœเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดจเดฒเตˆเดธเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด’เดฐเต เดฎเดพเตผเด—เดตเตเดฎเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดจเดฒเตˆเดธเตผ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚:

PVS-Studio_setup.exe /verysilent /suppressmsgboxes 
/norestart /nocloseapplications

เดตเดฟเตปเดกเต‹เดธเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚ *เด‡เดตเดฟเดŸเต†*.

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเต เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดตเดฟเดถเด•เดฒเดจเด‚ เดจเดŸเดคเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด•เด‚เดชเตˆเดฒเต‡เดทเดจเตเด‚ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเด‚ เดตเดฟเดœเดฏเดฟเดšเตเดšเดคเดฟเดจเตเดถเต‡เดทเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเต‚. เด•เดพเดฐเดฃเด‚, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดธเดฎเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด‡เดฐเดŸเตเดŸเดฟ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚.

เดฒเต‹เดžเตเดšเต เดฐเต€เดคเดฟ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเดจเต†เดฏเตเด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเต†เดฏเตเด‚ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดžเดพเตป เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ C++ (เดฒเดฟเดจเด•เตเดธเต) เดŽเดจเตเดจ เด“เดชเตเดทเตป เด•เดพเดฃเดฟเด•เตเด•เตเด‚:

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

เด†เดฆเตเดฏ เด•เดฎเดพเตปเดกเต เดตเดฟเดถเด•เดฒเดจเด‚ เดจเดŸเดคเตเดคเตเด‚, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต envelopesเดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเดฟเดจเต† เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดธเตโ€Œเด•เตเดฐเต€เดจเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ 0 เด…เดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดฑเดฟเดŸเตเดŸเต‡เตบ เด•เต‹เดกเต เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดฌเดฟเตฝเดกเต เดคเดŸเดฏเดพเตป เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดธเด‚เดตเดฟเดงเดพเดจเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดชเดคเดพเด• เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเดพเด‚ -w เด•เต‚เดŸเดพเดคเต† เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏ เด…เดธเด‚เดฌเตเดฒเดฟ เดคเดŸเดฏเดฐเตเดคเต.

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด…เดธเต—เด•เดฐเตเดฏเดฎเดพเดฃเต. เด‡เดคเต เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเดฏ เด’เดฐเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• - FullHtml. เด•เต‹เดกเดฟเดฒเต‚เดŸเต† เดจเดพเดตเดฟเด—เต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

CI-เดฏเดฟเตฝ เดตเดฟเดถเด•เดฒเดจเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚ "เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตเด‚ เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เดธเด‚เดฏเต‹เดœเดจเดตเตเด‚"(เดตเดฟเตปเดกเต‹เดธเต) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ"เดŸเตเดฐเดพเดตเดฟเดธเต เดธเดฟเดเดฏเดฟเตฝ เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚"(เดฒเดฟเดจเด•เตเดธเต).

เดถเดฐเดฟ, เดจเดฟเด™เตเด™เตพ เดฌเดฟเตฝเดกเต เดธเต†เตผเดตเดฑเดฟเตฝ เด…เดจเดฒเตˆเดธเตผ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเต. เด‡เดชเตเดชเต‹เตพ, เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเดคเตเดค เด•เต‹เดกเต เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดคเดพเตฝ, เดชเดฐเดฟเดถเต‹เดงเดจเดพ เด˜เดŸเตเดŸเด‚ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดถเตเดจเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดฌเตเดฐเดพเดžเตเดšเตเด•เตพ เดฒเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเดฎเดฒเตเดฒ, เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เต‚เดŸเตเดคเตฝ เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฃเต. เด…เดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เดชเตเตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดŽ.

เดชเตŠเดคเตเดตเต‡, เด’เดฐเต เดชเตเตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดฟเดถเด•เดฒเดจเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต CI-เดฏเดฟเดฒเต† เด’เดฐเต เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเตเดฑเต† เดธเดพเดงเดพเดฐเดฃ เดฒเต‹เดžเตเดšเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดณเดฐเต† เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดฒเตเดฒ. เดฎเดพเดฑเตเดฑเดฟเดฏ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค เด’เดดเดฟเด•เต†. Git เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดถเดพเด–เด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ เด…เดจเตเดตเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด‡เดต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดฒเดญเดฟเด•เตเด•เตเด‚:

git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list

เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เดˆ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ เด…เดจเดฒเตˆเดธเดฑเดฟเดจเต เด•เตˆเดฎเดพเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเดฟเตฝ เด‡เดคเต เดซเตเดฒเดพเด—เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต -S:

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log 
                            -S .pvs-pr.list

เดชเตเตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚ *เด‡เดตเดฟเดŸเต†*. เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† CI เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝเดชเตเดชเต‹เดฒเตเด‚, เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเตเดฑเต† เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเต€เด•เตเด•เดฟเดตเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตŠเดคเตเดตเดพเดฏ เดตเดฟเดญเดพเด—เด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚.

เดชเตเตพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏ เด•เดฎเตเดฎเดฟเดฑเตเดฑเตเด•เตพ เดคเดŸเดฏเดพเดจเดพเด•เตเด‚, เด…เดคเตเดตเดดเดฟ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดคเตเดค เด•เต‹เดกเดฟเดจเต เดฎเดฑเดฟเด•เดŸเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เด’เดฐเต เด…เดคเดฟเตผเดคเตเดคเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚.

เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดจเดฒเตเดฒเดคเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดŽเดฒเตเดฒเดพ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเตเด‚ เด’เดฐเดฟเดŸเดคเตเดคเต เด•เดพเดฃเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดกเตˆเดจเดพเดฎเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต‹. เด‡เดคเดฟเดจเดพเดฏเดฟ เดตเดฟเดตเดฟเดง เดธเต‡เดตเดจเด™เตเด™เดณเตเด‚ เดชเตเดฒเด—เดฟเดจเตเดจเตเด•เดณเตเด‚ เด‰เดฃเตเดŸเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตเด•เตเด•เต เด‰เดฃเตเดŸเต SonarQube-เดฒเต‡เด•เตเด•เต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฒเด—เดฟเตป.

2. เดกเต†เดตเดฒเดชเตเดชเตผ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เดธเด‚เดฏเต‹เดœเดจเด‚

เดฆเตˆเดจเด‚เดฆเดฟเดจ เดตเดฟเด•เดธเดจ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดพเดฏเดฟ เด…เดจเดฒเตˆเดธเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดจเตเดฎเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดฎเดฟเด•เตเด• เดตเดดเดฟเด•เดณเตเด‚ เด‡เดคเดฟเดจเด•เด‚ เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฏเดฟเด•เตเด•เดดเดฟเดžเตเดžเต, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเดฟเดจเต† เดเดฑเตเดฑเดตเตเด‚ เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณ เดญเดพเด—เด‚ เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚.

เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เด“เดชเตเดทเดจเดพเดฏเดฟ, เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เด…เดจเดฒเตˆเดธเตผ เดธเตเดตเดฏเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดคเต เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด•เดฏเตเด‚ เดตเดฟเด•เดธเดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดตเดฐเต† เดตเตเดฏเดคเดฟเดšเดฒเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเดฑเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดซเตเดฒเดพเด—เตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดชเดฒเดคเดฐเดฎเตเดฃเตเดŸเต เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเดกเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเตเดณเตเดณ เดซเตเดฒเดพเด—เตเด•เตพ. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดŽเดชเตเดชเต‹เดดเตเด‚ เดชเดพเด•เตเด•เต‡เดœเต เดฎเดพเดจเต‡เดœเตผเดฎเดพเตผ เด‰เดฃเตเดŸเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Chocolatey (Windows), Homebrew (macOS) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Linux-เดจเดพเดฏเดฟ เดกเดธเตป เด•เดฃเด•เตเด•เดฟเดจเต เด“เดชเตเดทเดจเตเด•เตพ.

เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเตเดฒเด—เดฟเดจเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‡เดพ, เดเดกเดฟเดฏ, เดฑเตˆเดกเตผ เดคเตเดŸเด™เตเด™เดฟเดฏเดต.

3. เดฆเตˆเดจเด‚เดฆเดฟเดจ เด‰เดชเดฏเต‹เด—เด‚

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดฆเตˆเดจเด‚เดฆเดฟเดจ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเตฝ เด…เดจเดฒเตˆเดธเตผ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเดจเตเดณเตเดณ เดตเดดเดฟเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เตเดฑเดšเตเดšเต เดตเดพเด•เตเด•เตเด•เตพ เดชเดฑเดฏเต‡เดฃเตเดŸ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต. เดฎเตเดดเตเดตเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเต เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚, เดŽเดจเตเดจเดพเตฝ เดฎเตเดดเตเดตเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเตเด‚ เด’เดฐเต‡เดธเดฎเดฏเด‚ เดŽเดคเตเดฐ เดคเดตเดฃ เดžเด™เตเด™เตพ เด•เต‹เดกเต เดฎเดพเดฑเตเดฑเตเด‚? เด…เดคเตเดฐ เดตเดฒเดฟเดฏ เดฑเต€เดซเดพเด•เตโ€ŒเดŸเดฑเดฟเด‚เด—เต เด‰เดฃเตเดŸเดพเด•เดพเตป เดธเดพเดงเตเดฏเดคเดฏเดฟเดฒเตเดฒ, เด…เดคเต เด‰เดŸเดจเดŸเดฟ เดฎเตเดดเตเดตเตป เด•เต‹เดกเต เดฌเต‡เดธเดฟเดจเต†เดฏเตเด‚ เดฌเดพเดงเดฟเด•เตเด•เตเด‚. เด’เดฐเต เดธเดฎเดฏเด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดชเต‚เตผเดตเตเดตเดฎเดพเดฏเดฟ เด’เดฐเต เดกเดธเดจเดฟเดฒเดงเดฟเด•เด‚ เด•เดตเดฟเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด…เดต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเต. เด…เด™เตเด™เดจเต†เดฏเตŠเดฐเต เดธเดพเดนเดšเดฐเตเดฏเดฎเตเดฃเตเดŸเต เดตเตผเดฆเตเดงเดฟเดšเตเดšเตเดตเดฐเตเดจเตเดจ เดตเดฟเดถเด•เดฒเดจ เดฎเต‹เดกเต. เดชเดฐเดฟเดญเตเดฐเดพเดจเตเดคเดฐเดพเด•เดฐเตเดคเต, เด‡เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เด‰เดชเด•เดฐเดฃเดฎเดฒเตเดฒ. เดฎเดพเดฑเดฟเดฏ เดซเดฏเดฒเตเด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เดณเตเด‚ เดฎเดพเดคเตเดฐเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดฎเต‹เดกเดพเดฃเดฟเดคเต, เดจเดฟเด™เตเด™เตพ เดชเตเดฒเด—เดฟเตป เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดณเตเดณ เด’เดฐเต IDE-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดฌเดฟเตฝเดกเดฟเด‚เด—เดฟเดจเต เดถเต‡เดทเด‚ เด‡เดคเต เดธเตเดตเดฏเดฎเต‡เดต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดŸเตเดคเตเดคเดฟเดŸเต† เดฎเดพเดฑเตเดฑเดฟเดฏ เด•เต‹เดกเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด…เดจเดฒเตˆเดธเตผ เด•เดฃเตเดŸเต†เดคเตเดคเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ เด‡เดคเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, PVS-Studio เด’เดฐเต เด…เดฒเต‡เตผเดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚:

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†
เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดŸเต‚เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดกเดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต‹เดŸเต เดชเดฑเดžเตเดžเดพเตฝ เดฎเดพเดคเตเดฐเด‚ เดชเต‹เดฐเดพ. เด…เดคเต เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเตเด‚ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต†เดจเตเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดตเดฐเต‹เดŸเต เดชเดฑเดฏเดฃเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, PVS-Studio-เดฏเตเดŸเต† เดชเต†เดŸเตเดŸเต†เดจเตเดจเตเดณเตเดณ เดคเตเดŸเด•เตเด•เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฒเต‡เด–เดจเด™เตเด™เตพ เด‡เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจ เดเดคเต เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏ เดŸเตเดฏเต‚เดŸเตเดŸเต‹เดฑเดฟเดฏเดฒเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚:

เด…เดคเตเดคเดฐเด‚ เดฒเต‡เด–เดจเด™เตเด™เตพ เดฆเตˆเดจเด‚เดฆเดฟเดจ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เดจเตฝเด•เตเดจเตเดจเต, เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเด‚ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. ๐Ÿ™‚

เดŸเต‚เดณเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดฏเตเดจเตเดจ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดชเต‹เดฒเตเด‚, เด†เดฆเตเดฏเดคเตเดคเต† เดฒเต‹เดžเตเดšเตเด•เดณเดฟเดฒเตŠเดจเตเดจเดฟเตฝ เดžเด™เตเด™เตพ เดงเดพเดฐเดพเดณเด‚ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด…เดŸเดฟเดšเตเดšเดฎเตผเดคเตเดคเดฟ. เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเตเด•เตพ เดคเดฟเด•เดžเตเดžเดคเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เด•เดพเดฒเดพเด•เดพเดฒเด™เตเด™เดณเดฟเตฝ เด…เดตเตผ เดคเต†เดฑเตเดฑเดพเดฏ เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเต เดจเตฝเด•เตเดจเตเดจเต. เด…เดตเดฏเต† เด…เดŸเดฟเดšเตเดšเดฎเตผเดคเตเดคเตเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต; เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเดทเตเดตเตฝ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตเด•เตเด•เตเดณเตเดณ PVS-Studio เดชเตเดฒเด—เดฟเดจเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดฌเดŸเตเดŸเตบ เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†
เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด…เดตเดฐเต† เด…เดŸเดฟเดšเตเดšเดฎเตผเดคเตเดคเตเด• เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เดชเตเดฐเดถเตโ€Œเดจเด‚ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚. เดคเต†เดฑเตเดฑเดพเดฏ เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเต เดถเดฐเดฟเดฏเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ, เดญเดพเดตเดฟเดฏเดฟเดฒเต† เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เดณเดฟเตฝ เด“เดฐเต‹ เดคเดตเดฃเดฏเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เต‹เดกเตโ€Œเดฌเต‡เดธเดฟเดจเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดคเต†เดฑเตเดฑเดพเดฏ เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเตเด•เตพ เด•เตเดฑเดตเตเด‚ เด•เตเดฑเดตเตเด‚ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚.

เดชเต‹เดธเตเดฒเต† เด‡เตปเดฑเด—เตเดฐเดพเดธเดฟเด•เตพ

เด…เดคเดฟเดจเดพเตฝ, เดตเดฟเด•เดธเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเดฒเต‡เด•เตเด•เต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เดžเด™เตเด™เตพ เด•เดŸเดจเตเดจเตเดชเต‹เดฏเดฟ. CI-เดฏเดฟเตฝ เด…เดคเตเดคเดฐเด‚ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดพเดงเดพเดจเตเดฏเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดŸเตเดŸเตเด‚, เด…เดต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸ เดธเตเดฅเดฒเด‚ เดกเดตเดฒเดชเตเดชเดฑเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดพเดฃเต. เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เด’เดฐเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเตผ เด•เต‹เดกเต เดจเดฒเตเดฒเดคเดฒเตเดฒเต†เดจเตเดจเต เดจเดฟเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เด•เดฒเต† เดŽเดตเดฟเดŸเต†เดฏเต‹ เดชเดฑเดฏเตเดจเตเดจ เด’เดฐเต เดœเดกเตเดœเดฟเดฏเดฒเตเดฒ. เดจเต‡เดฐเต†เดฎเดฑเดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เตพ เด•เตเดทเต€เดฃเดฟเดคเดจเดพเดฃเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจ เด’เดฐเต เดธเดนเดพเดฏเดฟเดฏเดพเดฃเต, เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดฑเดจเตเดจเตเดชเต‹เดฏเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเต† เด“เตผเดฎเตเดฎเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต.

เดถเดฐเดฟเดฏเดพเดฃเต, เดชเดคเดฟเดตเต เด‰เดชเดฏเต‹เด—เดฎเดฟเดฒเตเดฒเดพเดคเต†, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดตเดฟเด•เดธเดจเด‚ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดคเดฏเดฟเดฒเตเดฒ. เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เด’เดฐเต เดกเต†เดตเดฒเดชเตเดชเตผเด•เตเด•เต เด…เดคเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดจเต‡เดŸเตเดŸเด‚ เด•เต‹เดกเดฟเดจเตเดฑเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดตเตเด‚ เดตเดฟเดตเดพเดฆเดชเดฐเดตเตเดฎเดพเดฏ เดตเดฟเดญเดพเด—เด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดฒเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เด…เดต เดจเต‡เดฐเดคเตเดคเต† เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดฒเดพเดฃเต. เดŽเดกเดฟเดฑเตเดฑเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเด•เตเด•เดพเดฏเดฟ เด…เดฏเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚ เด’เดฐเต เดชเตเดฐเดถเตเดจเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเต เด…เดธเตเด–เด•เดฐเดฎเดพเดฏเดคเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดตเดณเดฐเต† เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต†เดจเตเดจเต เดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเด•. เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดตเดฟเดถเด•เดฒเดจเด‚, เดชเดคเดฟเดตเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดจเต‹เด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เดกเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเด‚เดถเดฏเดพเดธเตเดชเดฆเดฎเดพเดฏ เดธเตเดฅเดฒเด™เตเด™เตพ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด…เดจเดฒเตˆเดธเตผ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เดฎเต‚เดฒเตเดฏเดตเดคเตเดคเดพเดฃเต‹ เดŽเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต‹ โ€‹โ€‹เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเด•เตผเด•เตเด•เต‹ เด‡เดชเตเดชเต‹เดดเตเด‚ เด‰เดฑเดชเตเดชเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด‡เดชเตเดชเต‹เตพ เดฒเต‡เด–เดจเด‚ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดžเดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต "เดตเดฟเด•เดธเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด•เต‹เดกเต เด…เดจเดฒเตˆเดธเตผ เดชเดฟเดตเดฟเดŽเดธเต-เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เดพเดฐเดฃเด™เตเด™เตพ". เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เด…เดตเดฐเตเดŸเต† เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดฎเดฑเตเดฑเตเด‚ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเตเดŸเต† เดธเดพเดงเดพเดฐเดฃ เด†เดถเด™เตเด•เด•เดณเต† เด‡เดคเต เด…เดญเดฟเดธเด‚เดฌเต‹เดงเดจ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ - เด†เดฎเตเด–เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†

เด‡เด‚เด—เตเดฒเต€เดทเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‡เด•เตเดทเด•เดฐเตเดฎเดพเดฏเดฟ เดˆ เดฒเต‡เด–เดจเด‚ เดชเด™เตเด•เดฟเดŸเดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดตเดฟเดตเตผเดคเตเดคเดจ เดฒเดฟเด™เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•: Maxim Zvyagintsev. เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดพเดฒเดฟเดธเดฟเดธเต: เดคเตเดŸเด•เตเด•เด‚ เดฎเตเดคเตฝ เดเด•เต€เด•เดฐเดฃเด‚ เดตเดฐเต†.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•