ืืชืืงืฉืชื ืืืชืื ืืืืจ ืื ืืืื ืืืืืช ืืืืืื ืฉื ืืืืจืื ืขื ื ืืชืื ืกืืื ืฉืืืืข ืืืชืจ ืืืืชืจ ืืืืืขืชื. ืจืืฉืืช, ืื
ืืฉืงืืจืืื ืืืงืืจืืช ืืืื, ืืชื ืืงืื ืืช ืืชืืืฉื ืฉืื ืื ื ืืืืจืื ืขื ืกื ืงืกื: ืืืฅ ืขื ืืืคืชืืจ, ืืื ื ืืื - ืจืฉืืื ืฉื ืคืืืื ืื ืื ืขืื ืื. ื ืจืื ืฉืืื ืฉืืื ืืืืืืจืื ืืฉืชืคืจืื, ืืืืฆืื ืืืืืืืืช ืืืชืจ ืืืืชืจ ืืืืื, ืืืืืฆืจืื ืฉื ืกืจืงื ืขื ืืื ืืจืืืืืื ืืืื ืืืคืื ืืืืื ืืืชืจ ืืืืชืจ, ืืื ืื ืืืืฅ ืืฆืืื ื.
ืืื ืืื ืชืกืืื ื ืงืกื. ืื ื ืจืืฆื ืืืืจ ืขื ืื ืฉืืืจื ืืื ืื ืืืืจืื ืขืืื ืืคืืกืืื ืืื "ืื ื ืืืืจืื ืฉืืจืืืื ืฉืื ื ืืืื ืืืฆืื": ืื ืื ืชืืื ืื ืืืืืื ืืขืฉืืช, ืื ืชืคืงืืื ืืืงืืื ืืืืืชืืื ืืชืืืื ืืกืคืงืช ืืชืืื ื, ืืืืฆื ืืืืฉื ืืืชื ืืฆืืจื ื ืืื ื .
ืจืืฆ'ื (ืืงืืจ:
ืื ืฉืื ืชืืื ืกืืืืื ืืขืืื ืื ืืืืืื ืืขืฉืืช
ืืื ื ืืชืื ืงืื ืืงืืจ, ืื ืงืืืช ืืื ืืขืฉืืช? ืื ื ืืกืคืงืื ืงืื ืืงืืจ ืืืฉืื ืืงืื, ืืืคืื, ืชืื ืืื ืงืฆืจ (ืงืฆืจ ืืืจืื ืืืืฆืืข ืืืืงืืช) ืื ื ืืฉืืืื ืืืืข ืขื ืืืขืจืืช ืฉืื ื. ืืืืืื ืืืกืืกืืช ืืืืืชื ืขืืืจื ืืืืื ื ืืชืืืืช ืืื ืฉืื ื ืืืืืื ืืืฉืื ืจืง ืืืืงื ืืฆืืืฆืืช ืืืื ืฉื ืืืืข ืืืจื ืื.
ืืืืืื ืืืคืืจืกืืช ืืืืชืจ ืืืขืื ืฉืื ื ืืชื ืืคืชืืจ ืืืืฆืขืืช ื ืืชืื ืกืืื ืืื
ืืคืืื, ืืคืื ืงืฆืืื ืืืืช ืฉื ืื ืชืืื ืกืืืืื ืืฉ ืืืืืืช ืืืชื ืขืืืจืืช. ืื ืชื ืกืืื ืืขืืื ืื ืืืื ืืืืืช ืืื ืืืงืจืื ืืืจืื ืืื, ืืืฉื, ืืชืจืืฉืืช ืฉื "ืืจืื ืืฆืืืข ืืคืก" ืืฉืคืืช ืืืืคืฉืจืืช ืืช ืืขืจื ืฉื 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, ืื ืืืขืฉื ืื ืกืื ืฉื ื ืืชืื ืกืืื, ืืืืืื ืฉืื ืืื ื ืืืฆืขืื ืงืืื ืืงืืจ ืืืืื ืืืฆืืขื.
ืืคื ืฉืืชื ืืืื ืืจืืืช, ืืืคืืฉ ืืืืื ืืจืฉืืื ืื ืืืื ืืช ืืชืคืงืื ืืคืืืช ืืฉืื, ืืื ืืฉืืจ ืืืื ืืืืฆืขืืช ืืื ืงืื ืคืชืื ืืื ืืืื.
ืืืืื ืืืกืืืื ืืืื ืฉื ื ืืชืื ืกืืื ืืืื ืืืฉืชืืฉ ืืคืจืืืงื ืฉืื? ืืืืื, ืืื ืฉืืืชืจ ืืืชืจ ืืื! ืืขืืงืจ ืืืืฉื ืืช ืื ื ืืื, ืืฉืจ ืืืืื ื ืืืืฉื.
ืฆืื ืืจ ืืกืคืงื โโืืืกื ื ืจื ืฉืืื ืื ืืชืื ืกืืื ืืฉืื ืืจืืฉืื ืฉืื
ืืืืืคืืจื ืืงืืืกืืช ืืืื ืืืจืฆืื ืืชืืฉืืช ืืื ืฆืื ืืจ ืฉืืจืื ืืฉืื ืืืื ืืืจืืื, ืืฉืื ืืื ืงืื ืืงืืจ ืืขื ืืกืืจื ืืืืฆืืจ. ืจืฆืฃ ืืฉืืืื ืืกืื ืืจืื ืืฆืื ืืจ ืื ื ืจืื ืื:
- ื ืืชืื ืกืืื
- ืืืืืจ
- ืืืืงืืช ืืืืื
- ืืืื ื ืืื ืืืจืฆืื
- ืืืื ื ืืืฉืง ืืฉืชืืฉ
- ืืืืงื ืืื ืืช
ืฉืื ืืืื ืฉื ืืื ืืฉืื ื-N ืฉื ืืฆืื ืืจ ืืื ื ืืืขืืจืื ืืฉืื N+1.
ืืื ืืืืืง ืืื ืืื ืืืจืช? ืืืืง ืืืืืงืืช ืฉื ืืฆืื ืืจ, ืืืืงืื ืืืื ืืช ืคืืจืืืืช ืืืืืงื ืืืืืขื.
ืคืืจืืืืช ืืืืงื. ืึธืงืึนืจ:
ืืชืืชืืช ืืคืืจืืืื ืืื ืืฉ ืืืื ืื ืฉืงื ืืืชืจ ืืืชืื, ืืืจ ืืืชืจ ืืืืฆืืข ืืืื ืืื ื ืืืื ืืืืืฉื. ืืื, ืฆืจืืืื ืืืืืช ืืืชืจ ืืื, ืื ืฆืจืืืื ืืืกืืช ืืืชืจ ืงืื ืืืืชืืฆืข ืงืืื. ืืจืืฉ ืืคืืจืืืื, ืืืคื ืืื ืื ืืื, ืืืื ืืฉ ืืฆืืฆื ืืช ืืกืคืจ ืืืื ื ืืืื ืืืจืฆืื ืืืืฉืง ืืืฉืชืืฉ ืืืื ืืืื ืืืจืืฉ. ืืืื ืืฉืจืฉืจืช ืื ืืื ืืืฉืื ืืืงืจ, ืืืืื ืืืื ืืืื ืืืืชืจ, ืืืื ืืื ื ืืฆื ืืืฉ ืืกืืฃ ืืืืฆืข ืืช ืืขืืืื ืจืง ืื ืืฉืืืื ืืงืืืืื ืื ื ืืฆืื ืืืงืืืื. ืขื ืืืช, ืืืชื ืขืงืจืื ืืช ืืฉืืฉืื ืืื ืืืช ืฆืื ืืจ ืืืืงืื ืฉืืื ื ืงืฉืืจืื ืืฉืืจืืช ืืืืืงื!
ืืจืฆืื ื ืืืฆืืข ืื ืืืืื ืืฆืืจื ืฉื ืืขืจืืช ืกืื ืื ืืื ืจื-ืฉืืืืช. ืืื ืืืืืืืื (ืฉืื ืืืื ืขื ืคืืืื) ืืกืืคืงืื ืืื ืืกื, ืืืฆืืื ืขืืื ื ืืงืื ืืื ื ืงืืื, ืฉืืื ืกืืืงื ืื ืืืืืืื ืืื ืจืฆืืืื.
ืืกื ื ืจื ืฉืืื. ืึธืงืึนืจ:
ืืคื ืฉืืชื ืืืืข, ืืกื ื ื ื ืืงืื ืืชืืื ื ืื ืื ืฉืื ืืคื ืฉืืืืจ ืืื ืืืื ืืกื ื ืฉืืจืืจ ืืง ืืืชืจ ืืืืชืจ ืฉื ืืืืืื. ืืื ืขื ืืืช, ืืืคืื ืืืืืจ ืืก ืืืชืจ ืืฉ ืชืคืืงื ืืืืื ืืืชืจ ืืขืืืช ื ืืืื ืืืชืจ. ืืื ืืืืื ืฉืื ื, ืื ืืืืจ ืฉืฉืขืจืื ืืืืืืช ืงืื ืืืืจืื ืืืชืจ, ืืืจืฉืื ืคืืืช ืืืืฅ ืืื ืืืชืืื, ืืื ืขืฆืื ืืืชืจ ืื ืืืืจื ืืื ืืคืขืืื - ืืืื ืืจืฆืฃ ืฉืื ืื ืื ืืืื. ืชืคืงืื ืื ืืชืื ืืกืืื, ืฉืืคื ืฉืื ื ืืืื ืื ืืขืช, ืืกืืื ืื ืืฉ ืจืง ืืช ืืคืืืื ืืืืืจืื ืืืืชืจ, ืืื ืชืคืงืืื ืฉื ืจืฉืช ื"ืืืฅ" ืืืฉ ืืชืืืืช ืืคื ืืกืื ืื.
ื ืืชืื ืกืืื ืืฉืืขืฆืื ืืื ื ืืฉืคืจ ืืช ืืืืืช ืืืืฆืจ ืืกืืคื, ืืืืืง ืืคื ืฉ"ืืกื ื ืืืฅ" ืืื ื ืืืคื ืืช ืืืื ืืฉืชืืื. ืืขืืืื, ืืฉืืืื ืขื ืืจืืืืื ืืืจืื ืืฆื ืจืช, ืืฉืืืืชื ืืจืืจื. ืืืจืืช ืฉืืืกื ื ืจื-ืฉืืื ืฉืืื ืืคืื ืืกืืืืื ืืืืื ืืช ืื ืื ืฉืฉืืื ืืงืื ืขืืฉืื, ืืจืืจ ืืืื ืืฉืืืืช ืืืืขื ืื ืืกืืื ืืืกืชืคืง ืืฉืืื ืืืืืจ ืขืืื ืื ืืืื, ืืื ืฉืืื ืงืื.
ืืืจืช "ืืืืืืช ืืืืฅ" ืืื ืืืงื ืขื ืืฉืืื ืืืืื ืืืืืืืง ืืคืืืื ืงืฉืื ืืืื. ืืืืืื, ืืื ืืคืืืช, ืืื ืืืกืื ืืช ืืขืชื ืฉื ืืืื ืฉืขืืฉื ืืช ืกืงืืจืช ืืงืื ืขื ืืื ืงืื ืืคืืจืื ืฉืืื ืืืคืจืืช ืฉื ืชืงื ื ืงืืืื ืฉื ืงืืขื (ืืื ืกืืืจืืื ื ืืกืคืื ืื ืขื ืคืื ืืงืื ื ืื ืขืืืง ืืื). ืืืืื ืืื NPEs ืฆืจืื ืืืืชืคืก ืขื ืืื ืืืืงืืช ืืืืื, ืืื ืื ืขืื ืืคื ื ืืืืืงื ืืื ืชื ืืฆืืื ืื ื ืฉืืื ืืืื ืืงืจืืช, ืื ืืืืฅ ืืฉืืขืืชืืช ืืช ืชืืงืื ื.
ืื ื ืืืืื ืฉืขืืฉืื ืืจืืจ ืืืืข ื ืืชืื ืกืืื ืืื ื ืืฉืคืจ ืืช ืืืืืช ืืืืฆืจ ืื ื ืขืฉื ืื ืฉืืืืฉ ืืื ืคืขื, ืืืฉ ืืืฉืชืืฉ ืื ืื ืืืื ืืื ืืกื ื ืฉืื ืืืื ืขื ืคืืืื ืืืืจืื. ืืฉืืื ืืื ืฉืืืืฉ ืื ืชื ืกืืื ืืฉืคืจ ืืช ืืืืืช ืืืืฆืจ ืฉืื ืฉืืื ืขืจื ืืฉืืื, "ืืื ืืื ืฉื ืืงืื ืืืจืืืืช ืืืืืืืช ืืฉืคืจื ืืืืืืช ืืฉืชืืื ืื ืืขืืจื ืืจื ืืกื ื ืช?"
ืืืฉืื ืืคืจืืืงื ืืืืจ ืงืืื
ืฉืืื ืืขืฉืืช ืืฉืืื: ืืืฆื ืืืืฉื ื ืืชืื ืกืืื ืืชืืืื ืืืื ืืืจืฆืื ืืืชืืฉื ื"ืฉืขืจ ืืืืืชื"? ืืืงืจื ืฉื ืืืืงืืช ืืืืืืืืืช, ืืื ืืจืืจ: ืืฉ ืกื ืฉื ืืืืงืืช, ืืืฉืืื ืฉื ืื ืืื ืืื ืืื ืกืืื ืืกืคืงืช ืืืืืื ืฉืืืจืืื ืื ืขืืจื ืืช ืฉืขืจ ืืืืืืช. ื ืืกืืื ืืืชืงืื ืฉืขืจ ืืืืชื ืฆืืจื ืืืชืืกืก ืขื ืชืืฆืืืช ื ืืชืื ืกืืื ื ืืฉื: ืืฉ ืืืชืจ ืืื ืืืืจืืช ื ืืชืื ืืงืื ืืืฉื, ืืชื ืื ืจืืฆื ืืืชืขืื ืืื ืืืืืืื, ืืื ืื ืื ืืืชื ืืคืฉืจื ืืืคืกืืง ืืฉืืื ืืืฆืจ ืจืง ืืืื ืฉืืื ืืืื ืืืืจืืช ืื ืชื.
ืืฉืืืืฉ ืืคืขื ืืจืืฉืื ื, ืืื ืชื ืืืืฆืจ ืืกืคืจ ืขืฆืื ืฉื ืืืืจืืช ืืื ืคืจืืืงื, ืจืืื ืืืืจืืข ืืื ื ืงืฉืืจืืช ืืชืคืงืื ืชืงืื ืฉื ืืืืฆืจ. ืื ืืคืฉืจ ืืชืงื ืืช ืื ืืืขืจืืช ืืืื ืืืช ืืืช, ืืจืืืช ืืื ื ื ืืืฆืืช. ืืืจื ืืื, ืื ืื ื ืืืืขืื ืฉืืืืฆืจ ืฉืื ื ืืืืืืชื ืขืืื, ืขืื ืืคื ื ืืื ืกืช ื ืืชืื ืกืืื!
ืืชืืฆืื ืืื, ืจืืื ืืืืืืื ืืฉืืืืฉ ืืืืื ืื ืืชืื ืกืืื, ืื ืืฉืชืืฉืื ืื ืจืง ืืืฆื ืืืืข, ืืืฉืจ ืืื ืื ืชื ืคืฉืื ืืืคืง ืืืืื ืืืจืืื. ืื ืฉืืื ืขืจื ืืืืขืืจ ืื ื ืืชืื, ืื ืื ืืืจ ืืฉ ืื ื ืืืืจืืช ืจืืืช, ืื ืืชืจืืฉืืช ืฉื ืืืจ (ืื ืืฉื ื ืืื ืืืืจ) ืืขืช ืฉืื ืื ืืงืื ืื ืืืจืืฉืช.
ืืฉืืืืช ืืืืืช ืืืืืจืช ืฉืขืจืื ืืืืืชืืื ืืืืขืืช:
- ืืืืจืช ืืืืื ืขื ืืืกืคืจ ืืืืื ืฉื ืืืืืจืืช ืื ืืกืคืจ ืืืืืจืืช ืืืงื ืืกืคืจ ืฉืืจืืช ืืงืื. ืื ืขืืื ืืฆืืจื ืืจืืขื, ืืืืืื ืฉืฉืขืจ ืืื ืืืคืฉืจ ืืขืืืจ ืืืืคืฉืืืช ืฉืื ืืืื ืขื ืคืืืื ืืืฉืื, ืื ืขืื ืื ืืืจื ืืืืืืื ืฉืืื.
- ืชืืงืื, ืืจืืข ืืกืืื, ืื ืืืืืจืืช ืืืฉื ืืช ืืงืื ืืคื ืฉืืชืขืืืืช, ืืกืืจืื ืืื ืืช ืืืฉืจ ืืชืจืืฉืืช ืืืืจืืช ืืืฉืืช. ืคืื ืงืฆืืื ืืืืช ืื ืืกืืคืงืช ืขื ืืื PVS-studio ืืืื ืืฉืืืื ืืงืืื ืื, ืืืฉื, Codacy. ืื ืืืืชื ืื ืืืืื ืืช ืืขืืื ื-PVS-studio, ืืืื ืื ืืกืืื ืฉืื ืขื Codacy, ืืืขืื ืืขืืงืจืืช ืฉืืื ืืื ืฉืืงืืืขื ืืื ืฉืืืื "ืืฉื" ืืืื ืฉืืืื "ืืืฉื" ืืื ืืืืืจืืชื ืืืจืื ืืืื ืฉืื ืชืืื ืขืืื ืืฆืืจื ื ืืื ื, ืืืืืื ืื ืงืืฆืื ืืฉืชื ื ืืืื ืื ืฉืื ืฉืื ื. ืื ืืกืืื ื, Codacy ืืืื ืืืชืขืื ืืืืืจืืช ืืืฉืืช ืืืงืฉืช ืืฉืืื, ืืืืงืืื ืื ืืืขืืืจ ืืงืฉืช ืืฉืืื ืขืงื ืืืืจืืช ืฉืื ืืื ืงืฉืืจืืช ืืฉืื ืืืื ืืงืื ืฉื PR ื ืชืื.
- ืืืขืชื, ืืคืชืจืื ืืืขืื ืืืืชืจ ืืื ืื ืฉืืชืืืจ ืืกืคืจ
ืืฉืืื ืจืฆืืฃ "ืฉืืืช ืืืืงื". ืืจืขืืื ืืืกืืกื ืืื ืฉืืกืคืจ ืืืืจืืช ืื ืืชืื ืืกืืื ืืื ืืืคืืื ืฉื ืื ืืืืืจื, ืืจืง ืฉืื ืืืื ืืืชืจืื ืฉืืื ื ืืืืืืื ืืช ืืกืคืจ ืืืืืจืืช ืืืืื.
ืึทืืึตืจ
ืื ืขืืื ืื:
- ืืฉืื ืืจืืฉืื ื, ืืชืืฆืข ืจืืฉืื ืืืื ื ืชืื ืื ืขื ืฉืืจืืจ ืืกืคืจ ืืืืืจืืช ืืงืื ืฉื ืืฆื ืขื ืืื ืื ืชืืื. ืืื, ืืฉืืชื ืืื ื ืืืขืื ืืืจื, ืื ืื ืืืืืจ ืฉืื ืืืชื ืื ืจืง "ืืจืกื 7.0.2", ืืื "ืืจืกื 7.0.2 ืืืืืื 100500 ืืืืจืืช ืืกืื ืื ืฆ'ืง". ืื ืืชื ืืฉืชืืฉ ืืื ืื ืืืืจ ืืชืงืื (ืืืื Artifactory), ืืืกืื ืืื ื ืชืื ืื ืืืื ืืืื ืืืจืกื ืฉืื ืืื ืงืื.
- ืืขืช ืื ืืงืฉืช ืืฉืืื, ืืืฉืจ ืืื ืื ืืื, ืืฉืืื ืืช ืืกืคืจ ืืืืืจืืช ืืืชืงืืืืช ืขื ืืกืคืจ ืืืืืจืืช ืืืืื ืืช ืืืืืืจื ืื ืืืืืช. ืื ืืืกื ืฆืืืืจ ืืืืืืื ืืขืืืื ืืืกืคืจ ืื, ืื ืืงืื ืื ืขืืืจ ืืช ืฉืขืจ ืืืืืืช ืื ืืชืื ืกืืื. ืื ืืกืคืจ ืืืืืจืืช ืืืจื ืื ืื ืืฉืชื ื, ืื ืื ืขืืืจ.
- ืืืืืืจื ืืืื, ืืกืคืจ ืืืืืจืืช ืืืืืฉื ืืืืฉ ืืืจืฉื ืฉืื ืืืื ื ืชืื ืื ืฉื ืืืจืกื.
ืื ืืื ืืื ืืื ืืืชืืื (ืืื ืืืฉืจ ืจืืฆ'ื ืขืืื), ืืกืคืจ ืืืืืจืืช ืืฉืืืฃ ืืืคืก. ืืืืื ืฉืืคืฉืจ ืืจืืืช ืืช ืืืขืจืืช ืขื ืืื ืืื ืกืช ืืืืจื ืืืฉื, ืืื ืชืืงืื ืฉื ืืืฉืื ืืืจ. ืื ื ืืจืืื, ืื ืขื ืคื ื ืืจืืง ืจื ืื ื ืืชื ืชืืฆืืืช: ืืืืจืืช ืืชืืงื ืืช, ืืืื, ืื ืื ืคืจื, ืืื ืืงืืืฆื ืืกืื ืืกืืื ืืืช ืืืช, ืืื ืืืืืจืืช ืื ืืชื ืืช ืืืกืจื ืืงืืืช ืืชืืืืืช ืื ืืืจ.
ืืจืฃ ืื ืืฆืื ืืช ืืืกืคืจ ืืืืื ืฉื ืืืืจืืช Checkstyle ืขืืืจ ืฉืืฉื ืืืืฉื ืืคืขืื ืฉื "ืืืืจ" ืืื
ืื ื ืืฉืชืืฉ ืืืจืกื ืฉืื ื ืฉื ืฉืืื ืื, ืกืืคืจ ืื ืคืจื ืืืืจืืช ืืคื ืืืืื ืืคืจืืืงื ืืืื ืื ืืชืื, ืืืชืืฆืื ืืื ืงืืืฅ 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 countWarnings()
ืกืืคืจ ืชืืืืช xml ืืงืืฆืื ืฉื ืืฆืจื ืขื ืืื Checkstyle ื-Spotbugs ืืืจื ืืจืืืื, ื compareWarningMaps()
ืืืืฉื ืืช ืืืชื ืจืืฆ'ื, ืืืืจืง ืฉืืืื ืืืฉืจ ืืกืคืจ ืืืืืจืืช ืืื ืืืช ืืืงืืืืจืืืช ืืื.
ืืืฉืื ืืขื ืืื ืฉื ื"ืจืืฆ'ื" ืืคืฉืจื ืื ืืชืื ืืืืืช ืฉื ืืขืจืืช, ืืืืืื ืืงืกื ืืชืืขืื ืืืืฆืขืืช aspl. ืืืืืข, ืืขืช ืืืืงืช ืืืืช, ืื ืื ืืืืืื ืฉืืื ื ืืืืขืืช ืืืืืื ืืกืื ืืจืื ืืื ื ื ืืื ืืช; ื ืืชื ืืืืกืืฃ ืืืชื ืืืืืื ืืืฉืชืืฉ. ืื ืืชื ืืืคืืื ืืืืื ืืืชืื ืืืฉืืช ืืืืง ืืงืื ืืืงืืจ ืฉื ืืคืจืืืงื, ืื ื ืืชื ืื ืกื ืืช ืฉืขืจ ืืืืืช ืืืืืช ืื: ืืคืขืืช aspell ืขื ืืืืื ืกืื ืืจืื ืืืืชืื ืืืฉืืช
ืขื ืืืฉืืืืช ืฉื ืชืืงืื ืืจืกืช ืื ืชื
ืืกืืืื, ืื ืงืืื ืฉืืฉ ืืฆืืื ืืื ืฉืื ืืฉื ื ืืื ืืชื ืืืืฉื ืื ืืืื ืืฆืื ืืจ ืืืกืคืงื โโืฉืื, ืืฉ ืืชืงื ืืช ืืืจืกื ืฉื ืื ืชื. ืื ืืชื ืืืคืฉืจ ืื ืชื ืืืชืขืืื ืืืืคื ืกืคืื ืื ื, ืื ืืขืช ืืจืืืช ืืงืฉืช ืืืฉืืื ืืืื, ืขืืืืื "ืืฆืืฅ" ืคืืืื ืืืฉืื ืฉืืื ื ืงืฉืืจืื ืืฉืื ืืื ืงืื, ืืื ืงืฉืืจืื ืืขืืืื ืฉืื ืชื ืืืืฉ ืคืฉืื ืืกืืื ืืืฆืื ืขืื ืคืืืื - ืืื ืืฉืืืจ ืืช ืชืืืื ืงืืืช ืืงืฉืืช ืืืฉืืื ืฉืื. ืฉืืจืื ืื ืชื ืฆืจืื ืืืืืช ืคืขืืื ืืืืขืช. ืขื ืืืช, ืงืืืืข ื ืืงืฉื ืฉื ืืืจืกื ืฉื ืื ืจืืื ืืจืืื ืืื ืืืจื ืืื ืืจืืฉื ืืืจืืืช ืื ืืฉื ืืืืื ื ืคืจื.
ืืืฆืืื
- ื ืืชืื ืกืืื ืื ืืืฆื ืืืืื ืขืืืจื ืืื ืืฉืคืจ ืืช ืืืืืช ืืืืฆืจ ืฉืื ืืชืืฆืื ืืืืฉืื ืืืื. ืืฉืคืขื ืืืืืืช ืขื ืืืืืืช ืืืืื ืืืืืช ืืืฉืืช ืจืง ืืืืฆืขืืช ืฉืืืืฉ ืืชืืื ืื ืืืืื ืชืืืื ืืืฉืืื.
- ืืฆืืืช ืืืืื ืืื ื ืืืฉืืื ืืขืืงืจืืช ืฉื ื ืืชืื ืืื; ืืจืื ืืืืจืืข ืฉื ืืคืื ืงืฆืืืช ืืฉืืืืฉืืืช ืืืื ืืช ืืืื ืงืื ืคืชืื.
- ืืืืขืช ืฉืขืจืื ืืืืืชืืื ืืืืืกืกืื ืขื ืชืืฆืืืช ื ืืชืื ืกืืื ืืืจ ืืฉืื ืืจืืฉืื ืฉื ืฆื ืจืช ืืืกืคืงื, ืชืื ืฉืืืืฉ ื"ืจืืฆ'ื" ืืงืื ืืืืจ ืงืืื.
ืชืืืืจ
ืืฉืืื ืจืฆืืฃ ื' ืงืืืจืืืืฆื: ื ืืชืื ืชืืื ืืืช: ืืื ืืืืื ืฉืืชื ืืชืื ืช ืืื ืืืื ืขื ืฉืืืืช ืฉืื ืืช ืฉื ื ืืชืื ืงืื (ืื ืจืง ืกืืื!)
ืืงืืจ: www.habr.com