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

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

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

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

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

ืžื” ืฉืžื ืชื—ื™ื ืกื˜ื˜ื™ื™ื ืœืขื•ืœื ืœื ื™ื›ื•ืœื™ื ืœืขืฉื•ืช

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

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

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

ื ื™ืชื•ื— ืกื˜ื˜ื™ ืื™ื ื• ืขื•ืกืง ื‘ืžืฆื™ืืช ื‘ืื’ื™ื

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

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

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

ื ื™ืชื•ื— ืกื˜ื˜ื™ ื”ื•ื ื™ื•ืชืจ ืžืืฉืจ ืžืฆื™ืืช ื‘ืื’ื™ื

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

  • ื‘ื“ื™ืงืช ืกื’ื ื•ืŸ ืงื™ื“ื•ื“ ื‘ืžื•ื‘ืŸ ื”ืจื—ื‘ ืฉืœ ื”ืžื™ืœื”. ื–ื” ื›ื•ืœืœ ื’ื ื‘ื“ื™ืงืช ืขื™ืฆื•ื‘, ื—ื™ืคื•ืฉ ืื—ืจ ืฉื™ืžื•ืฉ ื‘ืกื•ื’ืจื™ื™ื ืจื™ืงื™ื/ื ื•ืกืคื™ื, ืงื‘ื™ืขืช ืกืฃ ืขืœ ืžื“ื“ื™ื ื›ืžื• ืžืกืคืจ ืฉื•ืจื•ืช/ืžื•ืจื›ื‘ื•ืช ืฆื™ืงืœื•ืžื˜ื™ืช ืฉืœ ืฉื™ื˜ื” ื•ื›ื•' - ื›ืœ ื“ื‘ืจ ืฉืขืœื•ืœ ืœื”ืคืจื™ืข ืœืงืจื™ืื” ื•ืœืชื—ื–ื•ืงื” ืฉืœ ื”ืงื•ื“. ื‘-Java, ื›ืœื™ ื›ื–ื” ื”ื•ื Checkstyle, ื‘-Python - flake8. ืชื•ื›ื ื™ื•ืช ืฉืœ ืžื—ืœืงื” ื–ื• ื ืงืจืื•ืช ื‘ื“ืจืš ื›ืœืœ "ืœื™ื ื˜ืจื™ื".
  • ืœื ืจืง ืงื•ื“ ื”ืคืขืœื” ื ื™ืชืŸ ืœื ื™ืชื•ื—. ื ื™ืชืŸ (ื•ืฆืจื™ืš!) ืœื‘ื“ื•ืง ืื•ื˜ื•ืžื˜ื™ืช ืงื•ื‘ืฆื™ ืžืฉืื‘ื™ื ื›ื’ื•ืŸ JSON, YAML, XML, .properties. ืื—ืจื™ ื”ื›ืœ, ืขื“ื™ืฃ ืœื’ืœื•ืช ืฉืžื‘ื ื” ื”-JSON ืฉื‘ื•ืจ ื‘ื’ืœืœ ื›ืžื” ืฆื™ื˜ื•ื˜ื™ื ืœื ืžืชืื™ืžื™ื ื‘ืฉืœื‘ ืžื•ืงื“ื ืฉืœ ืื™ืžื•ืช Pull Request ืื•ื˜ื•ืžื˜ื™ ืžืืฉืจ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ื”ื‘ื“ื™ืงื” ืื• ื–ืžืŸ ื”ืจื™ืฆื”? ื›ืœื™ื ืžืชืื™ืžื™ื ื–ืžื™ื ื™ื: ืœืžืฉืœ. YAMLlint, JSONLint.
  • ืงื•ืžืคื™ืœืฆื™ื” (ืื• ื ื™ืชื•ื— ืœืฉืคื•ืช ืชื›ื ื•ืช ื“ื™ื ืžื™ื•ืช) ื”ื•ื ื’ื ืกื•ื’ ืฉืœ ื ื™ืชื•ื— ืกื˜ื˜ื™. ื‘ืื•ืคืŸ ื›ืœืœื™, ืžื”ื“ืจื™ื ืžืกื•ื’ืœื™ื ืœื”ืคื™ืง ืื–ื”ืจื•ืช ื”ืžืขื™ื“ื•ืช ืขืœ ื‘ืขื™ื•ืช ื‘ืื™ื›ื•ืช ืงื•ื“ ื”ืžืงื•ืจ ื•ืื™ืŸ ืœื”ืชืขืœื ืžื”ืŸ.
  • ืœืคืขืžื™ื ืงื•ืžืคื™ืœืฆื™ื” ื”ื™ื ื™ื•ืชืจ ืžืกืชื ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ืงื•ื“ ื”ืคืขืœื”. ืœื“ื•ื’ืžื”, ืื ื™ืฉ ืœืš ืชื™ืขื•ื“ ื‘ืคื•ืจืžื˜ AsciiDoctor, ื•ืื– ื‘ืจื’ืข ื”ืคื™ื›ืชื• ืœ-HTML/PDF ื”ืžื˜ืคืœ AsciiDoctor (ืชื•ืกืฃ Maven) ื™ื›ื•ืœ ืœื”ื•ืฆื™ื ืื–ื”ืจื•ืช, ืœืžืฉืœ, ืขืœ ืงื™ืฉื•ืจื™ื ืคื ื™ืžื™ื™ื ืฉื‘ื•ืจื™ื. ื•ื–ื• ืกื™ื‘ื” ื˜ื•ื‘ื” ืœื ืœืงื‘ืœ ืืช ื”-Pull Request ืขื ืฉื™ื ื•ื™ื™ื ื‘ืชื™ืขื•ื“.
  • ื‘ื“ื™ืงืช ืื™ื•ืช ื”ื™ื ื’ื ืกื•ื’ ืฉืœ ื ื™ืชื•ื— ืกื˜ื˜ื™. ืชื•ึนืขึถืœึถืช ืœืฉืื•ืฃ ืžืกื•ื’ืœ ืœื‘ื“ื•ืง ืื™ื•ืช ืœื ืจืง ื‘ืชื™ืขื•ื“, ืืœื ื’ื ื‘ืงื•ื“ื™ ืžืงื•ืจ ืฉืœ ืชื•ื›ื ื•ืช (ื”ืขืจื•ืช ื•ืžื™ืœื•ืœื™ื•ืช) ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช, ื›ื•ืœืœ C/C++, Java ื•-Python. ื’ื ืฉื’ื™ืืช ื›ืชื™ื‘ ื‘ืžืžืฉืง ื”ืžืฉืชืžืฉ ืื• ื‘ืชื™ืขื•ื“ ื”ื™ื ืคื’ื!
  • ืžื‘ื—ื ื™ ืชืฆื•ืจื” (ืขืœ ืžื” ื”ื - ืจืื”. ื–ื” ะธ ื–ื” ื“ื•ื—ื•ืช), ืœืžืจื•ืช ืฉื”ื ืžื‘ื•ืฆืขื™ื ื‘ื–ืžืŸ ืจื™ืฆื” ืฉืœ ื‘ื“ื™ืงืช ื™ื—ื™ื“ื” ื›ื’ื•ืŸ pytest, ื”ื ืœืžืขืฉื” ื’ื ืกื•ื’ ืฉืœ ื ื™ืชื•ื— ืกื˜ื˜ื™, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืื™ื ื ืžื‘ืฆืขื™ื ืงื•ื“ื™ ืžืงื•ืจ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืขื.

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

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

ืฆื™ื ื•ืจ ืืกืคืงื” โ€‹โ€‹ื›ืžืกื ืŸ ืจื‘ ืฉืœื‘ื™ ื•ื ื™ืชื•ื— ืกื˜ื˜ื™ ื›ืฉืœื‘ ื”ืจืืฉื•ืŸ ืฉืœื•

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

  1. ื ื™ืชื•ื— ืกื˜ื˜ื™
  2. ื”ื™ื“ื•ืจ
  3. ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื”
  4. ืžื‘ื—ื ื™ ืื™ื ื˜ื’ืจืฆื™ื”
  5. ืžื‘ื—ื ื™ ืžืžืฉืง ืžืฉืชืžืฉ
  6. ื‘ื“ื™ืงื” ื™ื“ื ื™ืช

ืฉื™ื ื•ื™ื™ื ืฉื ื“ื—ื• ื‘ืฉืœื‘ ื”-N ืฉืœ ื”ืฆื™ื ื•ืจ ืื™ื ื ืžื•ืขื‘ืจื™ื ืœืฉืœื‘ N+1.

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

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

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

ื‘ืจืฆื•ื ื™ ืœื”ืฆื™ืข ืื ืœื•ื’ื™ื” ื‘ืฆื•ืจื” ืฉืœ ืžืขืจื›ืช ืกื™ื ื•ืŸ ืžื™ื ืจื‘-ืฉืœื‘ื™ืช. ืžื™ื ืžืœื•ื›ืœื›ื™ื (ืฉื™ื ื•ื™ื™ื ืขื ืคื’ืžื™ื) ืžืกื•ืคืงื™ื ืœื›ื ื™ืกื”, ื‘ื™ืฆื™ืื” ืขืœื™ื ื• ืœืงื‘ืœ ืžื™ื ื ืงื™ื™ื, ืฉื‘ื”ื ืกื•ืœืงื• ื›ืœ ื”ืžื–ื”ืžื™ื ื”ืœื ืจืฆื•ื™ื™ื.

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

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

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

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

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

ื™ื™ืฉื•ื ื‘ืคืจื•ื™ืงื˜ ืžื“ื•ืจ ืงื•ื“ื

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

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

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

ื”ืฉื™ื˜ื•ืช ื”ื‘ืื•ืช ืœื”ื—ื“ืจืช ืฉืขืจื™ื ืื™ื›ื•ืชื™ื™ื ื™ื“ื•ืขื•ืช:

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

ืžึทื—ื’ึตืจ

ื–ื” ืขื•ื‘ื“ ื›ืš:

  1. ื‘ืฉืœื‘ ื”ืจืืฉื•ื ื™, ืžืชื‘ืฆืข ืจื™ืฉื•ื ื‘ืžื˜ื ื ืชื•ื ื™ื ืขืœ ืฉื—ืจื•ืจ ืžืกืคืจ ื”ืื–ื”ืจื•ืช ื‘ืงื•ื“ ืฉื ืžืฆื ืขืœ ื™ื“ื™ ื”ื ืชื—ื™ื. ืœื›ืŸ, ื›ืฉืืชื” ื‘ื•ื ื” ื‘ืžืขืœื” ื”ื–ืจื, ืžื ื”ืœ ื”ืžืื’ืจ ืฉืœืš ื›ื•ืชื‘ ืœื ืจืง "ื’ืจืกื” 7.0.2", ืืœื "ื’ืจืกื” 7.0.2 ื”ืžื›ื™ืœื” 100500 ืื–ื”ืจื•ืช ื‘ืกื’ื ื•ืŸ ืฆ'ืง". ืื ืืชื” ืžืฉืชืžืฉ ื‘ืžื ื”ืœ ืžืื’ืจ ืžืชืงื“ื (ื›ื’ื•ืŸ Artifactory), ืื—ืกื•ืŸ ืžื˜ื ื ืชื•ื ื™ื ื›ืืœื” ืœื’ื‘ื™ ื”ื’ืจืกื” ืฉืœืš ื”ื™ื ืงืœื”.
  2. ื›ืขืช ื›ืœ ื‘ืงืฉืช ืžืฉื™ื›ื”, ื›ืืฉืจ ื”ื™ื ื‘ื ื•ื™ื”, ืžืฉื•ื•ื” ืืช ืžืกืคืจ ื”ืื–ื”ืจื•ืช ื”ืžืชืงื‘ืœื•ืช ืขื ืžืกืคืจ ื”ืื–ื”ืจื•ืช ื”ื–ืžื™ื ื•ืช ื‘ืžื”ื“ื•ืจื” ื”ื ื•ื›ื—ื™ืช. ืื ื™ื—ืกื™ ืฆื™ื‘ื•ืจ ืžื•ื‘ื™ืœื™ื ืœืขืœื™ื™ื” ื‘ืžืกืคืจ ื–ื”, ืื– ื”ืงื•ื“ ืœื ืขื•ื‘ืจ ืืช ืฉืขืจ ื”ืื™ื›ื•ืช ืœื ื™ืชื•ื— ืกื˜ื˜ื™. ืื ืžืกืคืจ ื”ืื–ื”ืจื•ืช ื™ื•ืจื“ ืื• ืœื ืžืฉืชื ื”, ืื– ื–ื” ืขื•ื‘ืจ.
  3. ื‘ืžื”ื“ื•ืจื” ื”ื‘ืื”, ืžืกืคืจ ื”ืื–ื”ืจื•ืช ื”ืžื—ื•ืฉื‘ ืžื—ื“ืฉ ื™ื™ืจืฉื ืฉื•ื‘ ื‘ืžื˜ื ื ืชื•ื ื™ื ืฉืœ ื”ื’ืจืกื”.

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

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

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

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

celesta-sql:
  checkstyle: 434
  spotbugs: 45
celesta-core:
  checkstyle: 206
  spotbugs: 13
celesta-maven-plugin:
  checkstyle: 19
  spotbugs: 0
celesta-unit:
  checkstyle: 0
  spotbugs: 0

ื‘ื›ืœ ืžืขืจื›ืช CI ืžืชืงื“ืžืช, ื ื™ืชืŸ ืœื™ื™ืฉื ืจืืฆ'ื˜ ืขื‘ื•ืจ ื›ืœ ื›ืœื™ ื ื™ืชื•ื— ืกื˜ื˜ื™ ืžื‘ืœื™ ืœื”ืกืชืžืš ืขืœ ืชื•ืกืคื™ื ื•ื›ืœื™ื ืฉืœ ืฆื“ ืฉืœื™ืฉื™. ื›ืœ ืžื ืชื— ืžื™ื™ืฆืจ ื“ื•ื— ืžืฉืœื• ื‘ืคื•ืจืžื˜ ื˜ืงืกื˜ ืคืฉื•ื˜ ืื• XML ืฉืงืœ ืœื ืชื—. ื›ืœ ืžื” ืฉื ื•ืชืจ ื”ื•ื ืœื›ืชื•ื‘ ืืช ื”ื”ื™ื’ื™ื•ืŸ ื”ื“ืจื•ืฉ ื‘ืกืงืจื™ืคื˜ CI. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืื™ืš ื–ื” ืžื™ื•ืฉื ื‘ืคืจื•ื™ืงื˜ื™ ื”ืงื•ื“ ื”ืคืชื•ื— ืฉืœื ื• ื”ืžื‘ื•ืกืกื™ื ืขืœ Jenkins ื•-Artifactory ื›ืืŸ ืื• ื›ืืŸ. ืฉืชื™ ื”ื“ื•ื’ืžืื•ืช ืชืœื•ื™ื•ืช ื‘ืกืคืจื™ื™ื” ratchetlib: ืฉื™ื˜ื” countWarnings() ืกื•ืคืจ ืชื’ื™ื•ืช xml ื‘ืงื‘ืฆื™ื ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ Checkstyle ื•-Spotbugs ื‘ื“ืจืš ื”ืจื’ื™ืœื”, ื• compareWarningMaps() ืžื™ื™ืฉื ืืช ืื•ืชื• ืจืืฆ'ื˜, ื•ื–ื•ืจืง ืฉื’ื™ืื” ื›ืืฉืจ ืžืกืคืจ ื”ืื–ื”ืจื•ืช ื‘ื›ืœ ืื—ืช ืžื”ืงื˜ื’ื•ืจื™ื•ืช ื’ื“ืœ.

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

ืขืœ ื”ื—ืฉื™ื‘ื•ืช ืฉืœ ืชื™ืงื•ืŸ ื’ืจืกืช ื”ื ืชื—

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

ืžืžืฆืื™ื

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

ืชื–ื›ื•ืจ

  1. ืžืฉืœื•ื— ืจืฆื™ืฃ
  2. ื' ืงื•ื“ืจื™ืื‘ืฆื‘: ื ื™ืชื•ื— ืชื•ื›ื ื™ื•ืช: ืื™ืš ืœื”ื‘ื™ืŸ ืฉืืชื” ืžืชื›ื ืช ื˜ื•ื‘ ื“ื•ื•ื— ืขืœ ืฉื™ื˜ื•ืช ืฉื•ื ื•ืช ืฉืœ ื ื™ืชื•ื— ืงื•ื“ (ืœื ืจืง ืกื˜ื˜ื™!)

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

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