ืืจืืื ื ืื ืืกื ืืืืืื ืืืขื ืืื ืืชืงืฉืื ืขื ืืืืื ืืช ืฉื ืืื ืชืืงืื (linting). ืืืชืืจ ื ืืืข ืืฉืืืจื ืขื ืืืืคืช ืืืืืช ืงืื ืขืงืืืช ืขื ืคื ื ืืกืืกื ืงืื ืจื-ืืฉืื ืืื, ืฆืืืชืื ืืืืืจืื ืืฆื ืจืช ืืกืคืงื โโืืืชืคืชืืช ืืื ืืจืฃ. ืืกืืืืืช ืืจืืื ืืืช ืืื ืขืฉืจืืช ืฉืืจืืชืื ืืืืืจืื ืืชืคืชืืื ืื ืืื ืืช, ืชืืงืื (linting) ืืืคื ืืืืชืจ ืืืฉืจ ืืืฆืขื ืืื ื ืขื ืกืื ืื. ืืื ืคืืขื ืืฉืืืช ืืืื ืืืช ืืืืืืืืช ืืื ืกื ืืชืงื ื ืืช ืืชื ืืืืช ืืงืื, ืืืกืืืืช ืืืจืืืืืืช ืืืฆื ืืืืื ืขื ืคื ื ืื ืืขืจืืช ืืืงืืืืืืช ืฉื ืืคืืชืื.
ืืืืฅ ืืืืจ ืืื ืฉืชืืงื ืืคืืชืื ืืชืจืืืื. ืคืืืคืืจืื ืืจืืื ืืช ืืืช ืขืฉืืื ืืฉืื ืฉืืจืืชื ื ืชืื ืื ืฉื Python, ืืืฉืงื API ืฉื Node.js, ืืขืจืืืช ืืืืื ืฉื Java, ืืืงืจื-ืฉืืจืืชืื ืฉื Go ืืืขืจืืืช ืืืืจ ืงืืื ืฉืขืืืจืืช ืืืืจื ืืืฆืื ืืืจืืชืืช. ืื ืืขืจืืช ืืงืืืืืืช ืฉื ืฉืคื ืืืืื ืืืชื ืคืืืืกืืคืืืช ืขืืืื ื ืชืื ืื, ืืขืจืื ืืืืื ืืืืืื ืชืืกืคืื ืืฉืื. ืืืฉืจ ืืืื ืืื ื ืคืจืกืื ืืื ืืืฉื ืืชืืื, ืืืืืคื ืืืคืืช ืื ืขืงืืืช, ืืชืืฆืืืช ืขืืืื ืื ืชืื ืื ืืืืืืช ืืืื ืืช ืืงืจื ืฆืืืชื ืื ืืกื. ืืชืืจืื ืืื ืืื ืืื ืืฉืงืคืื ืกืืืืืช ืจืืืืช ืืืชืจ ืฉื... ืคืืืคืืจืืืช ืคืจืืืืงืืืืืืช ืืืคืชืืื ืืืฉืจ ืืืืืืช ืืืื ืืืื ืืขืฆืืืช ืืคืืกื ืฉืืชืืฃ ืคืขืืื ืืืืืจืืช ืืกืคืงื.
ืฉืคืจ ืืช ืืืืืช ืืงืื
ืฉืื ืืืืคืช ืคืื ืื ืกืืืื ืขื SMART TS XL ืืื ืืืฉืื ืืื ื ืจืืื ืืืชืจ ืฉื ืืจืืืืงืืืจืช ืืืขืจืืช ืืืื ืืจืืงืฆืืืช ืืงืื.
ืืื ืขืืฉืืืืื ืืื ื ืื ืืงืืื ืืื ืืจืืงืฆืื ืืฉืืจื ืขื ืชืฉืชืืช ืืืกืคืงื. ืฆืื ืืจืืช CI ืืืืจื ืืื ืืชืืืืกืื ืืืืืงืืช ืืื ื ืืื ืื ืื ืื ื ืฉืขืจ ืืงืืืขืื ืืื ื ืืชื ืืืื ืื ืืคืจืืก ืงืื. ืืืฉืจ ืงืืืฆืืช ืืืืื ืืืืืืืช ืืฆืืจื ืืจืืขื, ืฆืื ืืจืืช ืืืคืืื ืืืืชื ืืฆืืืื, ืืืืืฆืจืื ืืชืจืืืช ืจืืขืฉืืช ืื ืชืืฆืืืช ืืืืืืืช ืฉืืืืืช ืฉืคืืืขืืช ืืืืื ืืืงืจืืช ืืืืืช ืืืืืืืืืช. ืขื ืืืื, ืฆืืืชืื ืขืฉืืืื ืืขืงืืฃ ืืืืืืื ืืช ืืืืืคื, ืืืืืืฉ ืืช ืืืฉืืขืช ืืืืจืืืืืช ืืืืฆืืจ ืกืื ืืจืืื ืืงืืืขืื ืฉื ืงืืืื ืืื ืฉืืจืืชืื.
ืขืืืจ ืื ืืืื ืคืืืคืืจืืืช ืืฆืืืชื ืืจืืืืงืืืจื, ืืืืจืช ืืื ื ืืงืื (linting) ืืืคืืช ืืคืื ืืืืืื ืืกืืจืืืืช ืืื ืืืืจื ืืืชืืงืืช ืื ืืจืง ืืืคืชืืื. ืคืืืคืืจืืืช ื ืืงืื ืืขืืืืช ืืืืืืช ืืืื ืืื ืืืืฉืืช ืืืืื, ืืืจืืช ืืขืจืืช ืืงืืืืืืช, ืืืฆืืขื ืืืฆืืข ืืืื ืืืจืฆืื ืขื ืืขืจืืืช CI/CD. ืืืฉืืืื ืืืื ืืืื ืช ืืื ืืคืืืคืืจืืืช ื ืืงืื ืืืืืืื ืืืฉืืฉืื ืืกืืืืืช ืืจืืื ืืืช, ืชืื ืืชืืงืืืช ืืืืคื ืฉืื ืื ืืขื ืืืืืื ืฉืืื, ืืขืจืืืช ืืืงืืืืืืืช ืฉื ืชืืกืคืื ืืืืคืืื ืื ืชืคืขืืืืื ืืฉืคืืขืื ืขื ืืืืคืช ืืืืืช ืชืืื ื ืืงื ื ืืืื ืืืื.
SMART TS XL ืืชืืื ืืช ืืชื ืืืืชืืืช ืืืืฉื ืืจืืื ื
ืืื ืืืืืฉ (Linting) ืืชืืงืืื ืืืืคื ืืกืืจืชื ืื ืืื ืืช ืชืืืืจืืช, ืืฉืืขืช ืกืื ืื ืืช ืืืืืื ืืขืืืืช ืชืื ืืช ื ืคืืฆืืช. ืขื ืืืช, ืืกืืืืืช ืืจืืื ืืืช, ืกืืืื ืื ืื ืืกืืื ืจืืื ื ืืืขืื ืืืืฅ ืืชืืื ืืืืืงืืช ืืืื. ืกืืืคื ืืืจืืืืืช, ืฉืจืฉืจืืืช ืชืืืช ื ืกืชืจืืช ืื ืชืืื ืืืฆืืข ืื ืืืืื ืื ืขืืงืคืื ืืขืชืื ืงืจืืืืช ืืช ืืืื ืืืืืืฉ ืืืืืื ืฉืื ื ืืืขืื ืืืชื ืืืืช ืืืขืจืืช ืืื ืืฉืืจืืช ืงืื ืืืืืืช. ืคืขืจ ืื ืืืคื ืืืืืช ืืืื ืืืืืื ืืชืืื ืืืช ืืืืจื ืืืฆืื, ืืจืืืืงืืืจืืช ืจื-ืชืืืืชืืืช ืืืขืจืืืช ืืื ืืืืืืืช ืืืืืืช ืฉืขืืืจืืช ืคืืจืืง ืืืืจื.
ืคืืืคืืจืืืช ืืืจืืืืืช ืืช ื ืจืืืช ื-linting ืืชืื ืงืฉืจื ืงืื ืืื ืืื ืืืืืืช ืชืคืงืื ืืฉืืื ืืกืืืืืช ืื ืืกื ืืจืืื ืืืช. ืืืงืื ืืืืืืฃ ืืื lint ืกืคืฆืืคืืื ืืฉืคื, ืคืืืคืืจืืืช ืชืืื ืืช ืืืฆืืข ืืืื SMART TS XL ืืกืคืง ืฉืืื ืื ืืืืืช ืจืืื ืืืชืจ ืืืกืืืขืช ืืฆืืืชื ืื ืืกื ืืืืื ืืืฆื ืงืื ืืชื ืื ืืคืืขื ืืืขืจืืืช, ืืืืืืื ืืฉืืจืืชืื. ืืกืืืืืช ืืื ืืืืช ืฉืืจืืชืื ืืงืืืืื ืืื ืืจืืงืฆืื ืืจื ืืืฉืงื API, ืืกืื ื ืชืื ืื ืืฆื ืจืช ืืืจืืขืื ืืฉืืชืคืื, ืืืื lint ืกืืืืื ืืืื ืืื ื ืืืืืื ืืืฉืืฃ ืืฉืคืขื ืืืืจืืช ืื ื ืชืืื ืืจืืืช ืืงืจื ื ืกืชืจืื.
ื ืจืืืช ืืชื ืืืืชืืช ืืขืืจ ื-linting ืืืืกืก ืืืืื
ืื ืืขื lint ืืกืืจืชืืื ืืขืจืืืื ืงืืฆื ืืงืืจ ืืื ืืขืจืื ืืืืื ืืืืืจืื ืืจืืฉ. ืื ืืืืื ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ, ืืคืืกืื ืื ืืืืืื, ืืืกืจ ืขืงืืืืช ืืฉืืืช ืื ืชืื ืืืช ืื ืื-ืืคืืก ืกืคืฆืืคืืืช ืืฉืคื. ืืขืื ืฉืืืืงืืช ืืื ืืืื ืืืช ืืฉืืืจื ืขื ืฉืืืืช ืงืืืื ืขืงืืืืช, ืื ืคืืขืืืช ืืขืืงืจ ืืจืืช ืืงืืืฅ ืื ืืืืืื. ืืขืจืืืช ืืจืืื ืืืช ืืืจืืืืช ืืืจืฉืืช ืืขืชืื ืงืจืืืืช ื ืืชืื ืฉื ืงืฉืจืื ืืืฉืชืจืขืื ืขื ืคื ื ืชืืงื ืืืฉืืืื ืฉืืืื.
SMART TS XL ืขืื ื ืขื ืืชืืจ ืื ืขื ืืื ืืืื ืช ืชืืืช ืืื ืืืช ืื ืชืืื ืืชื ืืืืช ืขื ืคื ื ืืกืืกื ืงืื. ืืืงืื ืืืชืืงื ืื ืืจืง ืืืืืคื ืกืื ืื ืืช, ืืคืืืคืืจืื ืืกืคืงืช ื ืจืืืช ืืืฆื ืคืื ืงืฆืืืช, ืืืืืืื ืืฉืืจืืชืื ืืงืืืืื ืืื ืืจืืงืฆืื ืืืืื ืชืจืืืฉื ืืืฆืืข. ืืืืืช ืื ืจืืืื ืืืช ืืืืืื ืืกืืืืืช ืืื ืืขืจืืืช ืจื-ืืฉืื ืืืช ืืชืคืชืืืช ืื ืืื ืืช ืืืืฉืจ ืืฉ ืืืขืจืื ืฉืื ืืืื ืืืจืืืืืื ืืคื ื ืืคืจืืกื.
ืฆืืจืช ื ืืชืื ืื ืชืืืืช ืืฆืืืชืื ืืื ืืืื ืืืืืืช ืืืืจื ืืืฆืื ืื ืฉืืคืืฅ ืืงื ื ืืืื ืืืื. ืืืืืื, ืืืฉืจ ืฉืื ืื ืืจืืืืงืืื ื ืืฉืคืืข ืขื ืจืืืืื ืืจืืืื, ื ืจืืืช ืชืืืช ืืืคืฉืจืช ืืฆืืืชืื ืืฆืคืืช ืืฉืคืขืืช ืืืืืช ืืคื ื ืฉืืืืื ืืงืื ืืขื ืคื ืืืืฆืืจ. ืชืืื ืืช ืืืื ืชืืืืืช ืงืฉืจ ืืืืง ืืคืจืงืืืงืืช ืืืชืืืจืืช ืืืืงืจื ืืจืืื ืฉื ื ืืชืื ืืจืฃ ืืชืืืช, ืืืฉืจ ืืื ืช ืงืฉืจื ืืขืจืืืช ืืืคืืช ืืชื ืื ืืืจืื ืืงืืืช ืืืืืืช ืื ืืกืืืช ืืืืืืช.
ืชืืืื ืืืืืคืช lint ืขื ืชืืื ืืช ืืืฆืืข
ืืืื ืืืช ืืืืื ืืขืืืช (linting) ื ืืฉืืช ืืขืืชืื ืงืจืืืืช ืืืฉืจ ืืคืจืืช ืืืืื ืืฆืืืจืืช ืืืจ ืืืชืจ ืืื ืฉืฆืืืชืื ืืืืืื ืืคืจืฉ ืืช ืืฉืคืขืชื ืืชืคืขืืืืช. ืืกืืืืืช ืื ืืกืืืช ืืืืืืช, ืืืคื ืืืืจืืช ืืืืืืช ืืืืคืืข ืืืืืจืื ืฉืื ืื ืืื ืืื ืืืงืฆืื ืืจืืจื ืืืื ืืขืืืช ืืืืฆืืืช ืกืืืื ืชืคืขืืื ืืืืชื. ืฆืืืชืื ืขืฉืืืื ืืืชืขืื ืืชืืฆืืืช ืืืืื ืืขืืืช ืื ืืืงืืืฉ ืืื ืจื ืืื ืืืืืื ืกืืืืช ืกืื ืื ืงืืืช ืฉืืฉ ืืื ืืฉืคืขื ืืืขืื ืขื ืืฆืืืืช ืืืขืจืืช.
SMART TS XL ืืฆืื ืคืจืกืคืงืืืื ืืฉืืืื ืขื ืืื ืืืืฉืช ืชืืืช ืืชื ืืืืชืืช ืื ืชืืื ืืืฆืืข ืืืขืฆืืืื ืืช ืืืฉืืืืช ืฉื ืืงืืขื ืงืื ืกืคืฆืืคืืื. ืืืฉืจ ืืืฆืื ืืืงืืืื ืืชืจืืฉืื ืืืืืจืื ืืืขืจืืช ืืืฉืืฉืื ืื ืงืืืืช ืืื ืืืจืฆืื ืงืจืืืืืช ืื ืืืืืืื ืืฉืืืืฉ ืืืืจ ืจื, ืชืืื ืืช ืืื ืืกืืืขืืช ืืชืขืืฃ ืืืืฆื ืชืืงืื.
ืขืืืจ ืฆืืืชื ืคืืืคืืจืืืช ืืจืืื ืืืช ืืืืจืืื ืขื ืฆืื ืืจืืช ืืกืคืงื, ื ืจืืืช ืื ืื ืืฉืคืจืช ืืช ืขืงืืืืช ืืืืฉื. ืืืงืื ืืืืืฃ ืกืคื ืืืืื ืืืื ืืื ืืฉืืจืืชืื, ืืจืืื ืื ืืืืืื ืืืืื ืืืื ืืืช lint ืขื ืกืื ืืชืคืงืื ืืืจืืืืงืืื ื ืฉื ืื ืจืืื. ืืืืืืื ืืขืื ืืฉืคืขื ืืืืื ืขืฉืืืื ืืืจืืฉ ืืืืคื ืืืืืจื ืืืชืจ, ืืขืื ืฉืฉืืจืืชืื ื ืืกืืื ืืื ืื ืืืืืืื ืืืืืื ืืืืฅ ืชืฆืืจืืช ืืืืื ืืืืฉืืช ืืืชืจ.
ืชืืื ืืช ืืขืจืืืช ืืืฆืืช-ืืฉืื ืืช ืขืืืจ ืชืืงื ืขืืืืืช ืืืจืืืื
ืชืืงื ืชืืื ื ืืจืืื ืืื ืืืืจื ืืื ืืืขื ืืื ืืืจืืืื ืืฉืคืช ืชืื ืืช ืืืช. ืคืืืคืืจืืืช ืคืื ื ืกืืืช, ืืขืจืืืช ืชืงืฉืืจืช ืืชืฉืชืืืช ืงืืขืื ืืืืช ืืืืืืืืช ืืฉืืืืช ืืขืชืื ืงืจืืืืช ืืขืจืืืช ืืืืจ ืงืืื ืขื ืืืงืจื-ืฉืืจืืชืื ืืืืจื ืืื, ืฉืื ืืืช ืืื ืืชืืื ืืฉืคืืช ืืืืกืืจืืช ืฉืื ืืช. ืืืืื ืื ืืกืื ืืช ืืืืคืช ืืืืืื ืืฉืคืืืื ืืืืืื ืฉืื ืืขืจืืช ืืงืืืืืืช ืืกืคืงืช ืืืื, ืชืืืืจ ืืืืื ืืคืืจืืืื ื ืคืจืืื ืืืืืื.
SMART TS XL ืืกืืืข ืืืฉืจ ืขื ืคืืฆืื ืื ืขื ืืื ืืชื ืชืืื ื ืืืืืืช ืฉื ืงืฉืจืื ืืื ืืขืจืืืช ืืืจืืื ืืืช. ืืืงืื ืืคืจืฉ ืืช ืชืืฆืืืช ื-lint ืืืืคื ืืืืื ืขืืืจ ืื ืืืืจ, ืื ืืืื ืื ืืกื ืืฉืืืื ืืื ื ืจืืื ืืืชืจ ืฉื ืืืืคื ืฉืื ืฉืืจืืชืื ืืงืืืืื ืืื ืืจืืงืฆืื ืืื ืืืืืืช ืฉืคื. ืืฉืืืื ืขื ืืื linting ืงืื ืื ืฆืืื ืืืื, ืคืจืกืคืงืืืื ืื ืืืคืฉืจืช ื ืืืื ืืืืืช ืงืืืจื ืื ืืืชืจ ืขื ืคื ื ืชืืงื ืืืฉืืืื ืฉืืืื.
ืืคืืืคืืจืื ืชืืจืืช ืื ืื ืืืื ืกืืืื ืื ืขื ืืื ืืืืฉืช ืชืืืืื ืฉืืื ืชืืืช ืืืจืืืืืช ืืจืืืช ืืช ืืืฉืืคื ืืชืคืขืืืืช. ืืืขืจืืืช ืืืจืืืืช, ืืืืื ืงืื ืขื ืืืืืจืื ืจืืื ืืืขืื ืืืืืจื ืืืจื ืขืืื ืืืืืช ืกืืืื ืืฆืืืืช ืื ืคืจืืคืืจืฆืืื ืื. ื ืจืืืช ืื ืืืืืช ืฉื ืืื ืื ืืืื ืชืืืืช ืืืืืืืช ืื ืืกืืืช ืืืฉืืืืช ืืืชืจ ืืืืืฉืจืช ืืช ืืืืคืช ืืืงื ืื ืืงืื ืขื ืืฉืคืขื ืชืคืขืืืืช ืืืืชืืช.
ืฆืืคืืื ืืกืืืื ืื ืืืขืจืืืช ืืงืืืืืืืช ืื ืืกืืืช ืืืืืืช
ืฆืืืชื ืื ืืกื ืืจืืื ืืื ืืชืงืฉืื ืืขืชืื ืงืจืืืืช ืขื ืืคืขืจ ืืื ืืืชืืช ืืืืืช ืงืื ืกืืืืื ืืืื ืืชื ืืืืช ืชืคืขืืืืช ืืขืืื ืืืืืชื. ืืื Linting ืืกืคืงืื ืืื ืืืงืืืจืื ืืืงืืืื ืืขืื ืขืจื ืืืคืืกืื ืืขืืืชืืื, ืื ืื ืืื ื ืืืืืื ืืืืฆื ืืืืคื ืืื ืืช ืืืื ืืจืืงืฆืื ืืืื ืืืช ืืื ืฉืืจืืชืื, ืกืคืจืืืช ืืืจืืืืช ื ืชืื ืื. ืืขืจืืืช ืืืชืคืชืืืช ืืืืฆืขืืช ืืื ืืืจืฆืื ืืชืืฉืืช ืืฆืื ืืจืืช ืคืจืืกื ืืืจืฉืืช ืื ืื ืื ื ืชืืื ื ืืฉืืืืื ืืื ืืฉืืืจ ืขื ืืฆืืืืช.
ืขื ืืื ืฉืืืื ืฉื ืืืืคืช ืืื ืืจืืงืฆืื ืืืืกืกืช ืืืืื ืขื ื ืจืืืช ืืขืจืืช ืืื ืืช, SMART TS XL ืชืืจื ืืืื ื ืืงืืคื ืืืชืจ ืฉื ืืชื ืืืืช ืชืืื ื. ืืืฉื ืื ืืืคืฉืจืช ืืืืืืื ืคืืืคืืจืื ืืืืืช ืฉืืจืืจืืืช ืืืจืืืืืช, ืืขืงืื ืืืจ ืฉืจืฉืจืืืช ืชืืืช ืืืฆืคืืช ืืช ืืืฉืคืขืืช ืืืขืจืืชืืืช ืฉื ืฉืื ืืื ืงืื ืืคื ื ืฉืื ืืชืคืฉืืื ืืจืืื ืืืขืจืืช ืืืงืืืืืืช ืืื ืืกืืช.
ืขืืืจ ืืจืืื ืื ืืื ืืืื ืชืืงื ืขืืืืืช ืืืืืื ืืืืืืืช ืืืืจื ืืืฆืื, ื ืจืืืช ืืื ืชืืืืช ืืืืฉื ืืืง ืืืชืจ ืืืชืืฆืืืช ืืกืคืงื โโืฆืคืืืืช ืืืชืจ. ืืืฉืจ ืืื ืืืืื ืชืืืืืื ืืฉืืืืื ืขื ื ืืชืื ืืชื ืืืืชื ืืขืืืง ืืืชืจ, ืฆืืืชื ืื ืืกื ืืงืืืื ืืช ืืืืืืช ืื ืืข ืืขืืจ ืืืืืคืช ืืืืื ืืืืืืช ืืขืืจ ืชืคืืกื ืืืืืกืืืช ืืืชืจ ืฉื ืืืื ืืช ืืชืืืืงืช ืืืขืจืืช.
ืคืืืคืืจืืืช ืืืืืืืช ืืขืืืื ืงืื ืขืืืจ ืฆืืืชื ืื ืืกื ืืจืืื ืืื
ืืืืจืช ืืื ืืื ืืืจืฆืื (linting) ืืกืืืืืช ืืจืืื ืืืช ืืืจืฉืช ืืืชืจ ืืืฉืจ ืืขืจืืช ืกืคืจืืืช ืืืืื ืื ืืืกืื ืฉืคืืช. ืื ืืืื ืคืืืคืืจืืืช ืืืืืื ืืฉืงืื ืืืฆื ืื ืืขื ืืื ืืืจืฆืื ืืชื ืืืื ืืืฉืจ ืื ืืืืืขืื ืืฆืื ืืจืืช ืืกืคืงื, ืชืืงื ืืืืจืื ืืจืืืื ืืืกืืจืืช ืืืฉื ืืืืืคืืช ืกืื ืืจืืื ืื ืืกืืื ืขืงืืืื ืขื ืคื ื ืฆืืืชืื ืืืืืื. ืืืงืฉืจ ืื, ืืื ืืืจืฆืื ืืืคืืช ืืื ืื ืื ืืงืจื ืชืคืขืืื ืืืฉืคืืข ืขื ืืืื ืืืช ืืืืื, ืืจืืืืช ืขืืืื ืฉื ืกืงืืจืช ืงืื ืืืืฆืืืืช ืืืืืืช ืฉื ืืขืจืืืช ืืื ืืืจืฆืื ืจืฆืืคื.
ืืืืื ืืืืืืื ืืืฉืืืื ืื ืืืืฆืืื ืคืืืคืืจืืืช linting ืฉืืืืฆื ืืืืคื ื ืจืื, ืืชืืืืืช ืืืขืจืืืช ืืงืืืืืืืช ืื ืืกืืืช ืืืืืืช ืืืืฆืขืืช ืืืืืช ืืจืืื, ืงืืืืืช ืชืืกืคืื ืืืงืืช ืืืืืืืช ืืื ืืืจืฆืื ืืืืจืืช. ืืืงืื ืืืชืืงื ืืืขืจืืืช ืืงืืืืืืืช ืฉื ืฉืคืืช ืฆืจืืช, ืคืชืจืื ืืช ืืื ืืชืคืชืื ืืืกืืจืืช linting ืืื ืืจืืื ืื ืืฉืชืืฉืื ืืื ืืืืืฃ ืกืื ืืจืืื ืฉื ืงืืืื, ืืืืืช ืืคืืกืื ืืขืืืชืืื ืืืืืืืืืืื ืืืืงืืช ืืืืืช ืืกืืืืืช ืคืืชืื ืืืืื ืืช. ืืกืขืืคืื ืืืืื ืืืื ืื ืืืฆื ืคืืืคืืจืืืช ืืื ืืชืคืงืืืช ืชืืช ืขืืืกื ืขืืืื ืืจืืื ืืื, ืชืื ืืืืฉืช ืื ืืขื ืืืืืื ืฉืืื, ืืืืื ืืืื ืืืจืฆืื, ืืชื ืืืืช ืงื ื ืืืืื ืืืืืืืืช ืืืื ืืืช ืฉืืื.
ืงืื ืืืืืช ืืงืืื
ืืชืจ ืจืฉืื: ืงืื ืืงืืื
Code Climate Quality ืืชืคืงื ืืคืืืคืืจืืช ื ืืืื ืืืืืช ืืืืืข ืืืืืืช ืืกืคืจ ืื ืชืืื ืืืืืจื ืืฉืื ืืืืื ืืืืื ืืืช ืืืื. ืืฆืืืชื ืื ืืกื ืืจืืื ืืื, ืขืืฆืื ืื ืืืืืฅ ืืืจื ืืื ืืื ืืืคืืืช ืคืืฆืื ืืื ืืืืจืื ืืฉืคืืช, ืืืืืื ืืืฉืจ ืืืืงืืช ืืืืืช ืงืื ืืืืืืช ืืืืืช ืขืงืืืืช ืืื ืืืืืืช ืขืกืงืืืช ืฉืืืืขืืช ืืงืฆื ืฉืื ื. ืืคืืืคืืจืื ืืื ื ืืชืืจื ืขื ืคืชืจืื ืืช ืืืืข ืืืืกืกื ืฉืคื ืขื ืืื ืืืืคืชื. ืืื ืืืคืฉืจืช ืืื ืืคืขืื ืขื ืืื ืกืื ืืจืืืืฆืื ืฉื ืืืคื ืืคืขืืช ืืืืืงืืช ื-CI, ืืืฆื ืืืฆืืื ืื ืืจืืืื ืืืืฆื ืฆืืืชืื ืฆืืจืืื ืชืืฆืืืช ืืืจืืืืช ืขืืืื ืืืืืืืช ืืืืื ืื ืฉื ืืงืฉืืช ืืฉืืื.
ืืคืืก ืฉืืืืฉ ืืจืืื ื ื ืคืืฅ ืืื ืงืืืื ืืจืืช ืืืืืจ ืขื ืืกืืก, ืืืืืจ ืืื ืืืืืง ืืืจืืชื ืฉื ืืฉืขืจืื. ืื ืืฉืื ืืชืืงื ืขืืืืืช ืืืืืื ืืืืืื ืฉืืืื ืืืช ืืื ืืืืืจื ืืืืืฉืืช ืืืืคื ืืืื ืขื ืคื ื ืฉืืจืืชืื ืืืืจ ืงืืื ืืืืืจื ืืื ืขืืืื ืืขืื ืืช ืืืกืืจื. ืืืื ืืคืืืคืืจืื ืฉื Code Climate ืชืืื ืืืืืคื ืืืืจืืช ืชืื ืฉืืืจื ืขื ื ืจืืืช ืืจืืืืช ืืืืืืช, ื ืงืืืืช ืืืืช ืืืืกื ืกืืืื ืืจืืื ืืืื.
ืืื ืืืจืืืื
- ืฉืืืช ืฆืืืจื: ืืกืคืจ ืื ืชืืื ืคืืขืืื ืืื ืืืืจ ืืืชืืกืก ืขื ืฉืคืืช ืืืืืื ืฉืืืืืจื
- ืืฉืื ืืืฆืืข: ื ืืชืื ืืฉืืื CI ืืืืคืขื ืืืงืฉืืช ืืฉืืื ืื ืืืจืฆืืช ืฆืื ืืจ
- ื ืึนืจืึธืึดืืึธืฆึดืึธื: ืืืฆืืื ืืกืืืืื ืืคื ืกืืื ืืขืืืช ืขืงืืืื (ืชืืืืงื, ืฉืืคืื, ืืืจืืืืช, ืกืื ืื ืืืคืืกื ืคืืืื ื ืืืจืื)
- ื ืงืืืช ืืื ืฉื ืืืฉื: ืืืืืช ืืืืื ืื ืืืขืงื ืืืกืืืจื ืืื ืืืืจืื ืืฆืืืชืื
ืืชื ืืืืช ืืืฆืืข ื-CI ืืืืงืฉืืช ืืฉืืื
- ืจืืฆืช ืฆืื ืืจ ืืคืขืืื ืืช ืฉืื ื ืืชืื ืืงืืื ืืงืื.
- ืื ืชืืื ื ืืืจืื ืืืืฆืขืื ืืืงืฉืจ ืฉื ืืืืื.
- ืืชืืฆืืืช ืืืืืืืช ืืืืืคืืช ืืกืืืื ืืืืืืช.
- ืืฉืื ืืงืฉืช ืืฉืืื ืืฆืื ืืขืืืช ืืืขืจืืช ืื ืืชื ืืช ืืกืงืืจื.
- ืืืืืช ืืืืื ืื ืขืืงืืื ืืืจ ืฉืื ืืื ืืขืืืช ืืืืจื ืืื ืืืืืืจืื ืฉืื ืื.
ืืืื ืืืฆืืข ืื ืืืขืจื ืืืจื ืืื ืืืฉืจ ืฆืืืชืื ืืงืืงืื ืืืืืคืช lint ืฆืคืืื ืืืืืจืช ืขื ืขืฆืื ืืืื ืืืืฅ ืื ืฆืืืช ืืชืืืง ืฉืจืฉืจืืืช ืืืื ืืืืคื ืืงืืื. ืืื ืื ืืกืคืง ืืฉืื ืืื ืืืจืฆืื ืืืื ืขืืืจ ืกืคืงื CI ืืคืืืคืืจืืืช ืืืจืื ืืืืจืื, ืืืื ืืคืืืช ืืช ืืกืคืจ ืกืงืจืืคืื ื-glue ืืื ืฉืคื ืฉืืืจืช ืืฆืืืจืื ืืฆืื ืืจืืช ืืจืืื ืืื.
ืชืจืืืฉืื ืืืชืืืื ืืืจืืื
- ืชืืงื ืขืืืืืช ืคืืืืืืื: ืืกืคืจ ืจื ืฉื ืฉืคืืช ืฉืื ืืช ืืงืืื ืืืฆืจืื ืืืจืฉืืช ืืืืื ืืืืฉื ืขืงืืืื
- ืกืืืืืช ืืจืืืืช ืืืืจืื: ื ืืจืฉืช ืกืื ืืจืืืืฆืื ืขื ืคื ื ืขืฉืจืืช ืื ืืืืช ืืืืจืื
- ืืกืคืงื โโืืื ืขืช ืชืืืืืช: ื ืืจืฉืช ืืืืืช ืืืงืืจืช ืืฆืืจื ืืืืืืช ืืืืคืช ืืืื ืืืช ืืืืืื ืขื ืืืืืช
- ืฆืืืชืื ืืืืืจืื: ืื ืฆืืืช ืืื ืืืขืืื ืฉื ืืงืื, ืืื ืื ืืืช ืืคืืืคืืจืื ืืงืืงื ืื ืจืืืช ืืืืื
ืื ืฉืืืจื ืืื ืืฉืื ืืงืื ืื
- ื ืืืื ืืจืืื ืืื ืืืืคืช ืืืื
ืื ืืขื ืืืืฅ ืืงืืืืื ื ืฉืืจืื ืืืงืืื, ืืขืื ืืืืืื ืืืืืืคื ืืืคืืื ืืกืื ืืจืืืื. - ืขืงืืืืช ืืืืื ืืืช ืืื ืฆืืืชืื
ืชืื ืืช ืชืฆืืจื ืืืืื ืืืืื ืืืคืืืช "ืกืืฃ ืฉื ืืืืื" ืืื ืืืืจืื ืฉื ืืฆืจื ืขื ืืื ืืืืืืช ืฉืื ืืช. - ืืืฉืืจ ืืงืฉืืช ืืฉืืื
ืืืฆืืื ืืืคืืขืื ืืืงืื ืฉืื ืืชืงืืืืช ืืืืืืช, ืืชืื ืืจืืืืช ืขืืืื ืฉื ืกืงืืจื ืืื ืืืืืืช ืืืืจ ืืืืื. - ื ืจืืืช ืืืืืช ืขืืืจ ืื ืืืืืช ืื ืืกืืช
ืืขืจื ื ืืืข ืืขืชืื ืงืจืืืืช ืคืืืช ืืืืฆืืื ืื ืคืขืืืื ืืืืชืจ ืืืืืื ื ืงืืืืช ืืืืช, ืืคืืกื ืจืืจืกืื ืืืืืจืื ืฉืืื ืืื ืืืืืชื ืืฆืืืจ ืืืจ ืืืชืจ ืืืืฉืจ ืืชืืงืื.
ืฉืืงืืืื ืชืคืขืืืืื ืืงื ื ืืืื ืืืื
- ืืืืจื ืืืื ืจืืฆื: ืืคืขืืช ืื ืชืืื ืจืืื ืืืืืื ืืช ืืฉื ืืื ืืคืขืืื ืฉื ืืฆืื ืืจ, ืืืืืื ืืืืืจืื ืืื ืืืจืื ืื ืืืืจืื ืขื ืงืื ืืื ืฉื ืืฆืจ.
- ืชืืืช ืืืกืืจืืืืืช ืืืืื: ืืื ืืืกืื ืืืืืื CI ืืืืจ, ื ืืชืื ืืืืจ ืืืื ืืืฆืืจ ืืืฅ ืืชืืจ ืืืืื ืืืื ืืช ืืืืื ืฉืื.
- ื ืืืื ืชืฆืืจื: ืืืืื ืืจืืืืื ืืืจืฉืื ื ืืืื ืืจืกืืืช ืืืงืจืช ืฉืื ืืืื, ืืืจืช ืฆืืืชืื ืืืืื ืฉืื ืืืื ืคืชืืืืืื ืืฉืขืจ ืฉื ืจืืื ืืื ืืืกืจ ืืฆืืืืช ืืืืื.
ืืืืืืช ืืื ืืืช ืืคืฉืจืืช
- ืกืืืืืืืช ืฆืืืจื: ืชืืฆืืืช ืืืืืืืช ืขืืืืืช ืืืฉืืฉ ืืช ืืืืื ืืื ืืคืจืืช ืกืื ืื ืืืช ืืืื ืืืฆืืื ืืขืื ืืฉืืืืช ืขื ืกืืืื ืชืคืขืืื, ืืืืืืื ืืช ืชืงืืจืช ืืืืื ืื ืืืืื ืืืืืจื ืืื ื ืืืืืืื.
- ืขืงืืืืช ืืื ืืืืจืื ืืื ื ืืืืืืืืช: ืืกืื ืืจืืืืฆืื ืืฉืชืคืจืช, ืื ืขืืืื ืชืืืื ืืคืจืืกื ืืืืฉืืขืช ืืื ืืืื ืืจืืืื.
- ื ืงืืืืช ืขืืืืจืืช ืืชื ืืืืชืืืช: ืืื ืจืื ืืคืืืคืืจืืืช ืืืชืืงืืืช ืืืขืืืช ืชืงืฉืืจืช (lints), ืืืชืืช ื ืฉืืจืื ืืขืืงืจ ืืืืกืกื ืืื ื ืงืื ืืืืืื ืืื ืืืืขืื ืื ืชืื ืืืฆืืข, ืื ืฉืืืื ืืืืืื ืืช ืืืืืืช ืืชืขืืฃ ืืขืืืช ืืคื ืืฉืคืขื ืืขืจืืชืืช.
ืืืชืืช ืจืืฉ ืฉืืืจื ืืื ืืฆืืืขืื ืขื ืืชืืื
- ืชืืง ืขืืืืืช ืฉืื ืืกืคืจ ืฆืืืชืื ืืืจ ืืคืขืืืื ืงืืืฆืืช ืฉืื ืืช ืขื ืกืคืื ืื ืขืงืืืื
- ืืจืืฉื ืืืืืื ืืืืื ืืงืืื ืืกืืก ืืืืืช ืืืจืืืื
- ืฆืืจื ืืืคืืืช ืืช ืืชืคืฉืืืช ืกืงืจืืคืื ื-CI ืชืื ืฉืืืจื ืขื ืืืื ืืช ืื ืืขื ืงืื ืืงืืจืืื ืืฉืคื.
- ืืขื ืืืฉืืชื ืฉืืืจืชื ืืืคืื ืืช ืืืืคืช ืืืืืื ืืฉืคืืืื ืืืืืื ืขื ืคื ื ืืืืืืช ืขืกืงืืืช ืืื ืืืืจ ืืืจ ืืืืจ
MegaLinter
ืืชืจ ืจืฉืื: MegaLinter
MegaLinter ืคืืขืืช ืืคืืืคืืจืืช ืชืืืืจ ืืื ื (lint organization) ืืืืืขืืช ืืขืืงืจ ืืกืืืืืช ืืืืกืกืืช CI, ืืื ืฆืื ืืจ ืืืื ืืืื ืืืจืืฅ ืื ืืขื lint ืจืืื ืืฉืื ืื ืขื ืคื ื ืืื ืืืืืืืช ืืืืื ืืช. ืืืงืื ืืืชืืงื ืืืืืืช ืืืืื ืื ืื ืืชืฆืืืืช ืืืฉื ืืจืืืืช ืืืื, MegaLinter ืืชืืงืืช ืืกืื ืืจืืืืฆืื ืฉื ืืืฆืืขืื. ืืื ืืืจืืช ืขืฉืจืืช ืืขืจืืืช lint ืื ืืฆืืืช ืืฉืืืืฉ ื ืจืื ืืชืื ืืกืืจืช ืืืช ืืืืืื ืงืื ืืืื ืจ ืฉืืืืื ืืคืขืื ืืชืื ืคืืืคืืจืืืช CI ืืืื GitHub Actions, GitLab CI, Jenkins ืื Azure DevOps pipelines.
ืืืจืืื ื ืื ืืกื ืืืืืื, ืืืื ืืฉืืฉ ืืขืชืื ืงืจืืืืช ืืืฉืจ ืฆืืืชืื ืจืืฆืื ืืคืฉื ืืช ืชืืืืจ ื-lint ืขื ืคื ื ืืืืจืื ืืืจืืื ืืื. ืืืงืื ืืชืืืง ืกืงืจืืคืืื ืืืชืืืื ืืืฉืืช ืฉื pipeline ืขืืืจ ืื ืฉืคืช ืชืื ืืช ืื ืืืกื ืืช ืืื ืืืืืื, MegaLinter ืืกืคืง ืกืืืืช ืืืฆืืข ืืืืืืช ืืืืืืช ืืกืคืจ ืื ืชืืื. ืืืฉื ืื ืืคืืืชื ืืืืื ืชืคืขืืื ืืขืช ืืื ืกืช linting ืืคืจืืืงืืื ืืืฉืืืื ืงืื ืืืฉืืืื, ืชืฆืืจืช ืชืฉืชืืช, ืืืืจืืช ืงืื ืืืื ืจืื ืืืจืืืคืงืืื ืฉื ืชืืขืื.
ืืืืืื ืฉืืืืจืื ืืจืืื ืืื ืืืืจื ืืื ืืืืืื ืืขืชืื ืงืจืืืืช ืกืืื ืืจืืืคืงืืื ืจืืื ืื ืืื ืืช, ืืืืกืื ืืจื-ืืืืืื ื ืฉื MegaLinter ืืืื ืืืคืื ืืืชืจืื ืชืคืขืืื. ืืื ืืืื ืืืขืจืื ืงืื ืืืฉืืืื ืืฆื Dockerfiles, ืื ืืคืกืืื ืฉื Kubernetes, ืชืื ืืืช Terraform, ืงืืฆื ืชืฆืืจื ืฉื YAML ืื ืืกื ืคืืชืื ืืืจืื ืฉืงืืืืื ืืืจื ืืื ืืืืืจืื ืืืืืื ื DevOps.
ืืจืืืืงืืืจืช ืืืฆืืข ืืืืื ืชืืืืจ
- ืกืืืืช ืืืฆืืข ืืืืืื ืฉืืืจื ืขืฉืจืืช ืคืืืืช
- ืคืขืืื ืืงืืจืืช ืฉื CI ืืชืืื ื ืืคืขืื ืืฉืื ืฆืื ืืจ
- ืืืืื ืฉืคื ืืืคืฆืื ืฉืืคืขืื ืื ืืืืืืจืื ืจืืืื ืืืื ืืืืคื ืืืืืืื
- ืฉืืืืช ืชืฆืืจื ืืชื ืืคืฉืจืืช ืืฆืืืชืื ืืืชืืื ืืขืจืืืช ืืืืื ืืื ืืืืจ
- ืืขืจืืช ืชืืกืคืื ื ืืชื ืช ืืืจืืื ืืืืคืฉืจ ืืืจืืื ืื ืืฉืื ืืขืจืืืช ืืืืข ื ืืกืคืืช
ืืืจืืืืงืืืจื ืฉื MegaLinter ืืืืืฉื ืฉืืืืจ. ืื ืจืืฆืช ืฆืื ืืจ ืืืฆืขืช ืืช ืืืชื ืืจืกืืืช ืฉื ืื ืืข lint ืืชืื ืชืืื ืช ืืืืื ืกืื ืืจืืืช. ืื ืืคืืืช ืคืขืจืื ืืืืคืืขืื ืืขืชืื ืงืจืืืืช ืืืฉืจ ืืคืชืืื ืืคืขืืืื linters ืืืืคื ืืงืืื ืขื ืืจืกืืืช ืื ืชืฆืืจืืช ืืื ืฉืื ืืช. ืขืืืจ ืฆืืืชื ืคืืืคืืจืื ืืจืืื ืืช ืืืืจืืื ืขื ืชืืืืงืช ืกืืืืืช CI, ืืืจืืื ืืื ืืื ืืคืฉื ืคืชืจืื ืืขืืืช ืื ืืืื ืืืื ืืช ืืฆืื ืืจ.
ืืืกืื ืขื ืคื ื ืืืฆืื ืคืืชืื
ืืืคืืื ืืืื ืืื ืฉื MegaLinter ืืื ืืืงืคื ืืจืื ืืขืืจ ืืขืืืื ืงืื ืืงืืจ ืืกืืจืชื. ืืคืืืคืืจืื ืืืืืช ืื ืชืืื ืืืืืื ืจืื ืฉื ืชืงืืืช ืื ืืกืืืช ืืืฉืคืืขืืช ืืขืชืื ืงืจืืืืช ืขื ืืืืืช ืืืกืืจื.
ืืืืืืืช ืืืืืืช:
- ืขืืืื ืงืื ืืงืืจ ืขืืืจ ืฉืคืืช ืชืื ืืช ืืจืืืืช
- ืืืืืช ืชืฉืชืืช ืืงืื
- ื ืืชืื ืชืฆืืจืช ืืืืืื
- ืืืืงืืช ืขืืฆืื ืชืืขืื
- ืืืืืช ืกืืืื ืฉื YAML ื-JSON
- ืืืืื ืกืืืืช ืืืืืืื ืช ืชืฆืืจื
ืขื ืืื ืืืืื ืืืืงืืช ืืื ืืฉืื CI ืืืื, ืฆืืืชื ืื ืืกื ืืืืืื ืืืืืช ืืืืื ืจืื ืืืชืจ ืฉื ืืขืืืช ืืืืืช ืืคื ื ืฉืืฉืื ืืืื ืืืืขืื ืืกืืืืืช ืืื ืืืจืฆืื. ืืืฉื ืื ืืชืืืฉืืช ืขื ืืกืืจืืืืืช ืืกืคืงื โโืืจืืื ืืืช ืฉืืื ืฉืืืืืช ืชืฆืืจื ืืชืฆืืจืืช ืฉืืืืืช ืฉื ืืชืฉืชืืช ืืืืฆืืืช ื ืชื ืืืื ืืืื ืฉื ืชืงืจืืืช ืชืคืขืืืืืช.
ืืืื MegaLinter ืืฉืชืืืช ืืกืืืืืช ืืจืืื ืืืช
MegaLinter ืืฉืืฉ ืืขืชืื ืงืจืืืืช ืืืจืืื ืื ืืืืจืฉืื:
- ืืืฆืืข ืขืงืื ืฉื lint ืขื ืคื ื ืืืืจืื ืจืืื
- ืคืืฉืื ืฆืื ืืจ CI ืืืืฆืขืืช ืืืืืืช ืกืื ืืจืืืืช
- ืืืกืื ืจืื ืฉื ืืคืฆืื ืืขืืจ ืืงืื ืืืงืืจ
- ืงืืืื ืืืืจื ืฉื ืคืจืืืงืืื ืืืฉืื ืืื ืื ืืืช ืฆืื ืืจืืช ืกืืืื ืืืชืืืื ืืืฉืืช
ืืืื ืฉืืืืฉื ืืืืืื ืืืฉืจ ืฆืืืชืื ืจืืฆืื ืืืืฅ ืืืฉืช "ืื ืงืืช ืืื" ืืืืืืื ืช ืืืืจืื. ืืืงืื ืืฉืื ืืืืจืื ืืขืจืืืช ืืืืืฉ ื ืคืจืืืช ืขืืืจ ืืื ืืืืืืืช ืฉืื ืืช, MegaLinter ืืืคืฉืจ ืืืจืืื ืื ืืืคืขืื ืฉืืืช ื ืืชืื ืจืืื ืืืืคื ืืืืื ืืืฉืคืจ ืืช ืืืืืื ืืืืฉื, ืืืฉืจ ืืฆืืืชืื ืืกืชืืืื ืืืจืืืช ืืขืืืื.
ืืืืืืช ืชืคืขืืืืืช ืืคืฉืจืืช
- ืืืืื ืืืื ืจืืฆื ืฉื ืฆืื ืืจ ืืืื ืืืชืจืืฉ ืืืฉืจ ืื ืชืืื ืจืืื ืคืืขืืื ืื ืืื ืืช, ืืืืืื ืืืื ื-ืจืคื ืืืืืื.
- ืืืจืืืืช ืืชืฆืืจื ืขืืื ืืื ืฉืืจืืื ืื ืืชืืืืื ืืชืืื ืืืฉืืช ืฉื ืืชื ืืืืช ืืืืืื ืืื ืฆืืืชืื ืืกืืื ืืจืืืคืงืืื ืฉืื ืื.
- ืชืงืืจื ืฉื ืคืจืฉื ืืช ืืชืืฆืืืช ืขืืืืืช ืืืืืืฆืจ ืืืืืื ืฉืื ืืขื ืืื ื ืืจืืืื ืืืืฆืจืื ืืืฆืืื ืืขืื ืืืกืืืืช ืืืืจื ืฉืื ืืช.
ืืืคืืื ืื ืืื ืืืจืืื ืืื ืฉืืื-ืืื ืืจ ืืชืคืงืืช ืืขืชืื ืงืจืืืืช ืืฆืืจื ืืืืื ืืืืชืจ ืืืื ืกืื ืืจืืืืฆืื ืฉื ืฆืื ืืจืืช ืงืื ืืื ืืคืืืคืืจืืช ื ืืชืื ืืืฉื. ืืืจืืช ืฉืืื ืืฆืืืื ืช ืืืืืื ืืืฆืืข ืงืื, ืืื ืืื ื ืืกืคืงืช ืืช ืืืชื ืจืืช ืืืืืช ืืืืื ืื ืืืืืืช ืืืกืืืจืืช ืื ื ืืืื ืืืื ืืืช ืืจืืื ืืืืฆืขืื ืขื ืืื ืืืง ืืคืืืคืืจืืืช ืืืืืช ืืงืื.
ืืกืืืืืช ืืกืคืงื โโืืจืืื ืืืช, MegaLinter ืืืคื ืืขืชืื ืงืจืืืืช ืืืืง ืืืกืืจืืืืืช ืืืืืช ืจืืื ืืืชืจ ืฉืื ืฆืื ืืจืืช CI ืืืฆืขืื ืืืืงืืช lint ืืขืื ืคืืืคืืจืืืช ื ืืกืคืืช ืืกืคืงืืช ื ืจืืืช ืืฆืืืจืช ืืชืืื ืืช ืืจืืืืงืืื ืืืช ืขื ืคื ื ืืืืจืื ืฉืื ืื.
ืืืืืื ืกืืคืจ-ืืื ืืจ
ืืชืจ ืจืฉืื: ืืืืืื ืกืืคืจ-ืืื ืืจ
GitHub Super-Linter ืืื ืืื ืชืืืืจ lint ืืืชืืงื ื-CI, ืฉื ืืขื ืืชืงื ื ืืช ืืืืคืช ืืืืืช ืืงืื ืืชืื ืกืืืืืช ืคืืชืื ืืืืกืกืืช GitHub. ืืืงืื ืืชืคืงื ืืคืืืคืืจืืช linting ืขืฆืืืืช ืขื ืืืืืช ืืืืื ืื ืืฉืืืืช ืืืฉื, Super-Linter ืคืืขื ืืืืืืช ืืืฆืืข ืฉืืคืขืืื ืืืกืฃ ืฉื linters ืืืืกืกืื ืืืืื ืืจืืืืช ืขืืืื ืฉื ืืืืจืื. ืืืจืชื ืืขืืงืจืืช ืืื ืืคืฉื ืืช ืืืืคื ืฉืื ืืจืืื ืื ืืืืคืื ืกืื ืืจืืื ืฉื ืงืืืื ืืชืื ืฆืื ืืจืืช ืคืขืืืืช GitHub.
ืืืขืจืืืช ืืงืืืืืืืช ืฉื ืื ืืกื ืืจืืื ืืช ืฉืืื GitHub ืืชืคืงื ืืคืืืคืืจืืช ืฉืืชืืฃ ืคืขืืื ืืจืืืืช, ืืืฉื ืื ืืืคืฉืจืช ืืืืืืข ืืืืงืืช lint ืืฉืืจืืช ืืืจืืืืช ืขืืืื ืฉื pull request ื-commit. ืฆืืืชืื ืืื ื ืฆืจืืืื ืืืจืืื ืฆืื ืืจืืช linting ื ืคืจืืื ืขืืืจ ืื ืฉืคืช ืชืื ืืช ืื ืกืื artifact. ืืืงืื ืืืช, Super-Linter ืืกืคืง ืชืฆืืจื ืืืืืจืช ืืจืืฉ ืืืคืขืืื ืืกืคืจ ืื ืชืืื ืืฉืื CI ืืืื.
ืืืื ืืืจืงืืืื ืืืืืื ืขืืืจ ืืจืืื ืื ืืื ืกืื ืืชืงื ื ืืช ืืืืืื ืช ืืืืืจืื ืขื ืคื ื ืชืืงื ืื ืืกื ืืืืืื. ืขื ืืื ืืกืชืืืืช ืขื ืฉืืืช ืชืืืืจ ืืืืื ืืืชืืืืงืช ืืืืคื ืืจืืื, ืฆืืืชื ืคืืืคืืจืื ืืืืืื ืืืคืืืช ืืช ืืฉืื ืืช ืืืืคืืขื ืืืืคื ืืืขื ืืืฉืจ ืฆืืืชืื ืฉืื ืื ืืื ืื ืฆืื ืืจืืช lint ืืฉืืื. ืกืื ืืจืืืืฆืื ืื ืชืืืืช ืืฆืืคืืืช ืขืงืืืืช ืฉื ืกืงืืจืช ืงืื ืืืืชื ืืืืช CI ืฆืคืืื ืขื ืคื ื ืืืืช ืืืืจืื.
ืืจืืืืงืืืจื ืชืคืขืืืืช
GitHub Super-Linter ืคืืขื ืืคืขืืืช GitHub ืืืืื ืช ืืืืืื, ืืืืฆืขืช ืืกืคืจ ืคืงืืืืช ืืื ืืจ ืกืคืฆืืคืืืช ืืฉืคื ืืืงืืื ืื ืืจืฆืฃ, ืืืชืื ืืชืฆืืจื. ืืืืืื ืืืืืช ืืืกืฃ ืืืื ืฉื ืื ืืขื ืืื ื ืคืืคืืืจืืื, ืืืืกืื ืฉืคืืช ืชืื ืืช, ืคืืจืืื ืกืืืื, ืงืืฆื ืชืฆืืจื ืฉื ืชืฉืชืืช ืืืืืจืืช ืืืืืืช.
ืืืคืืื ืื ืืืจืืืืืื ืืจืืืืื ืืืืืื:
- ืกืืืืช ืืืฆืืข ืืืืืื ืคืืขื ืืชืื GitHub Actions
- ืืืืืช ืื ืืข ืกืืืื ืืืืืจืช ืืจืืฉ ืืืกื ืฉืคืืช ืืคืืจืืืื ืจืืื
- ืชืฆืืจื ืืจืืช ืืืืืจ ืืืคืฉืจ ืืชืืืืช ืืืืื ืืื ืคืจืืืงื
- ืืฉืื ืืืืืืื ืฉื ืืงืฉืช ืืฉืืื ืืืืฆืขืืช ืืืืืจื ืืจืืืช ืขืืืื
- ืืืืคื ืืจืืืืช ืืืืฆืขืืช ืชืื ืืืช ืืจืืืช ืขืืืื ืืฉืืชืคืืช
ืืืืืื ืฉ-Super-Linter ืคืืขื ืืืื ืืชืื ืืืขืจืืช ืืืงืืืืืืช ืฉื GitHub, ืืืืื ืืืื ืืืจืฆืื ื ืืื ืืืืืช ืืื ืืืื ืขืืืจ ืฆืืืชืื ืฉืืืจ ืืฉืชืืฉืื ื-GitHub Actions ืืคืืืคืืจืืช ื-CI ืฉืืื. ืฆืืืชื ืคืืืคืืจืื ืืืืืื ืืคืจืกื ืชืื ืืืช ืืจืืืช ืขืืืื ืกืื ืืจืืืืช ืืืืืฉืืืช ืืืื linting ืืืืคื ืขืงืื ืขื ืคื ื ืืืืจืื ืฉืื ืื, ืืืื ืืคืฉื ืืช ืืืืฉื ืืืจืืื ืื ืืืืืื.
ืืืกืื ืขื ืคื ื ืืืืื ืจืื ืฉื ืืืฆืืื ืื ืืกืืื
ืืืืจืื ืืืืจื ืืื ืืืืืื ืืขืชืื ืงืจืืืืช ืืจืื ืืืชืจ ืืงืื ืืงืืจ ืฉื ืืืฉืืืื. ืชืฆืืจืช ืชืฉืชืืช, ืืืืจืืช ืงืื ืืืื ืจืื, ืืืื ืืืช ืืืืื ืืชืกืจืืื ืืืืืืฆืื ืืชืงืืืืื ืืขืชืื ืงืจืืืืช ืืื ืืืืชื ืืืืจ. Super-Linter ืืืคื ืืืฆืืืืช ืื ืขื ืืื ืืืืืช ืื ืชืืื ืขืืืจ ืืืืื ืจืื ืฉื ืงืืืืจืืืช ืฉื ืืจืืืคืงืืื.
ืืืืจื ืืืกืื ืืืคืืื ืืื ืืืืืื:
- ืงืื ืืงืืจ ืฉื ืืืฉืืืื ืืืกืคืจ ืฉืคืืช ืชืื ืืช
- ืงืืฆื ืชืฆืืจื ืฉื YAML ื-JSON
- ืกืื ืืจืืื ืืชืืขืื Markdown
- ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืืฆืืจืช ืงืฉืจื Dockerfile ืืฉืืืืช ืขืืืื ืืืืืฆืืช ืืืืืืืช
- ืืืืืช ืชืฆืืจืช ืชืฉืชืืช ืืงืื
ืจืืื ืืืงืฃ ืื ืืืคืฉืจ ืืฆืืืชื ืื ืืกื ืืืฆืข ืืืืงืืช ืืืืืฉ ืขื ืคื ื ืื ืฉืื ืืืืืจ ืืืงืื ืืืชืืงื ืื ืืจืง ืืงืื ืืืงืืจ. ืืื ืฉืืืืจืืช ืชืฉืชืืช ืืืคืืืช ืืืชืจ ืืืืชืจ ืืืืง ืืฆืื ืืจืืช ืืกืคืงืช ืืืืฉืืืื, ืืืืงืืช ืืื ืชืืจืืืช ืืืืื ืืช ืชืคืขืืืืช ืจืืื ืืืชืจ.
ืืคืืกื ืืืืืฅ ืืกืืืืืช ืืจืืื ืืืช
ืืจืืื ืื ืืืจื ืืื ืืืืฆืื ืืช GitHub Super-Linter ืืืฉืจ ืื ืจืืฆืื ืืืกืก ืืืื ืืืช ืืกืืกืืช ืฉื lint ืืืืืจืืช ืขื ืคื ื ืืืืจืื ืจืืื ืืืชืืจืืื ื-GitHub. ืืืืืื ืืกืื ืืจืืืช ืืืืืช ืืช ืืฆืืจื ืืื ืฆืืืช ืืืจืืื ืืืกืฃ ืืฉืื ืฉื ืืื lint, ืื ืฉืืคืืืช ืืช ืืืืืื ืืงืืืื ืืคืจืืืงืืื ืืืฉืื.
ืืืื ืื ืืฉืชืื ืืืื ืขื ืืืืืืช ืื ืืกืช ืคืืืคืืจืื ืฉืืื ืฆืืืชืื ืืจืืืืื ืืคืจืกืืื ืชืื ืืืช ืืจืืืช ืขืืืื ืจื ืคืขืืืืช ืฉื CI. ืขื ืืื ืืืืขืช Super-Linter ืืชืื ืืืช ืืื, ืฆืืืชื ืคืืืคืืจืื ืืืืืื ืืืืืฃ ืืืืงืืช ืืืืืช ืขืงืืืืช ืืขืืืื ืืืคืฉืจ ืืืขืื ืืืืจืื ืืืชืืื ืืืฉืืช ืกืคื ืืืืื ืื ืืืฉืืืช ืื ืชืืื ืกืคืฆืืคืืื ืืขืช ืืฆืืจื.
ืคืฉืจืืช ืชืคืขืืืืืช
- ืชืืืช ืืคืืืคืืจืืช CI: ืืืื ืืืชืื ืืขืืงืจ ืืกืืืืืช GitHub Actions.
- ื ืืชืืื ืืืฉื ืืืืืืื: ืืชืืฆืืืช ืืืคืืขืืช ืืคืื ืฉื ืืจืืืช ืืขืืืื ืืื ืืืืืืช ืืืืื ืื ืืจืืืืื.
- ืืืืื ืืฉื ืืื ืืฆืื ืืจ: ืืคืขืืช ืื ืชืืื ืจืืื ืขืฉืืื ืืืืจืื ืืช ืืื ืืืืฆืืข ืืืืืจืื ืขื ืงืืืฆืืช ืงืืฆืื ืืืืืืช.
ืืืืืฆืื ืืื ืืืจืืื ืืื ืฉ-Super-Linter ืืชืคืงื ืืขืืงืจ ืืฉืืืช ืกืื ืืจืืืืฆืื ืฉื ืืืฆืืข ืงืื ืืื ืืืขืจืืช ื ืืืื ืืืืืช ืงืื ืืืื.
ืืคืืขื, ืืจืืื ืื ืืฉืืืื ืืขืชืื ืงืจืืืืช ืืช GitHub Super-Linter ืขื ืคืืืคืืจืืืช ื ืืชืื ืืืจืืช ืืฉืจ ืฆืืืจืืช ืืืชืืช ืืืืืช ืืื ืืืืจืื ืฉืื ืื. ืืกืืืืืช ืืืื, Super-Linter ืืืืืื ืฉืืืืงืืช ืขืงืืืืช ืืคืขืื ืืื ืฆืื ืืจ, ืืขืื ืฉืคืืืคืืจืืืช ืืจืื ืืืืื ืืืชืจ ืืคืจืฉืืช ืืช ืืชืืฆืืืช ืืืกืคืงืืช ื ืจืืืช ืืืืืช ืืจืืืช ืืืื ืขืืืจ ืื ืืืช ืืื ืืกื.
ืกืงืืจื ืืื
ืืชืจ ืจืฉืื: ืกืงืืจื ืืื
ื-Reviewdog ืืขืื ืืืืื ืืืขืจืืช ืืืงืืืืืืช ืฉื ืืฆืืจืช ืงืื (linting) ืืฉืื ืฉืืื ืืื ื ืืชืคืงื ืืื ืืข ืืฆืืจืช ืงืื (lint) ืืคื ื ืขืฆืื. ืืืงืื ืืืช, ืืื ืคืืขื ืืฉืืืช ื ืืชืื ืืืื ืชืืช ืืืืืจืช ืงืื ืืฆืืจืช ืงืื (linters) ืงืืื ืืืขืจืืืช ืกืงืืจืช ืงืื. ืืคืืืคืืจืื ื ืืขืื ืืชืจืื ืืช ืคืื ื-lint ืืืฉืื ืืืื ื ืืืืคืืข ืืฉืืจืืช ืืชืื ืืงืฉืืช pull, ืื ืฉืืืคื ืืช ืชืืฆืืืช ื-lint ืืืืง ืืชืืืื ืกืงืืจืช ืืงืื ืืฉืืชืืคื ืืื ืืืืื ืื ืืชืง ืฉื ืฆืื ืืจ ื-pipeline.
ืืกืืืืืช ืืจืืื ืืืช, ืืืืืฅ lint ื ืืฉื ืืขืืชืื ืงืจืืืืช ืื ืืฉืื ืฉืืืืื ืืื ื ืืขืืืื, ืืื ืืฉืื ืฉืืืฆืืื ืืฉืืืืื ืืฆืืจื ืืจืืขื ืืืจืืืืช ืขืืืื ืฉื ืืคืชืืื. ืืืฉืจ ืชืืฆืืืช lint ืืืคืืขืืช ืจืง ืืคืื ืฉื ืืฉืืืช CI, ืืื ืืกืื ืืืืืื ืืขืืื ืืช ืืงืฉืจ ืฉื ืกืงืืจืช ืืงืื ืืื ืืคืจืฉ ืืืชื. ืืคืจืื ืื ืืืืืจื ืืช ืืื ืืืจืืื' ืืืคืืืชื ืืช ืืกืืืจืืช ืฉืืืขืืืช ืืืืคืื ืืืืคื ืขืงืื. Reviewdog ืืืคื ืืคืขืจ ืื ืขื ืืื ืืคืืืช ืชืืฆืืืช lint ืืืขืจืืช ืืงืฉืจืืืช ืืืฆืืจืคืืช ืืฉืืจืืช ืืงืื ืืืืฉืคืขืืช ืืืงืฉืืช pull.
ืืืืืื ืฉ-Reviewdog ืืื ื ืืืคื ืืขืจืืช ืืงืืืืืืช ืืฉืื, ืืื ื ืฉืืจ ืืืืฉ ืืื ืฉืคืืช ืชืื ืืช ืืื ืืขื lint. ืืื ืคืฉืื ืฆืืจื ืืช ืืคืื ืฉื ืื ืชืืื ืงืืืืื ืืื ืชื ืืช ืืืืฆืืื ืืคืืืคืืจืืืช ืกืงืืจื ื ืชืืืืช. ืืจืืืืงืืืจื ืื ืืืคืืช ืืช ืืืื ืืืืจืงืืืื ืืืืืื ืืกืืืืืช ืืื ืฆืืืชืื ืืืจ ืืฉืชืืฉืื ืืืกืคืจ linters ืื ืืกืจืื ืื ืื ืื ืขืงืื ืืืฆืืช ืชืืฆืืืช ืืืืื ืกืงืืจืช ืงืื.
ืืื ืืืจืืืื
Reviewdog ืคืืขืืช ืืฉืืืช ืืื ืืืจืฆืื ืงืืช ืืฉืงื ืืื ืืคืืืคืืจืืช ื ืืชืื ืืกืืจืชืืช. ืืืขืจืืช ืงืืจืืช ืืช ืคืื ืืืืืข ืืคืืจืืืื ืกืื ืืจืืืื ืืืืืจื ืืช ืืืืฆืืื ืืืขืจืืช ืื ืืืืืจืื ืืกืงืืจื.
ืืืคืืื ืื ืืืจืืืืืื ืืจืืืืื ืืืืืื:
- ืืืืขืช ืคืื ืืื ืืื ืชืืื ืืืฆืื ืืื
- ืกืงืืจืช ืฉืืืื ืืืขืจืืช ืขื ืคืืืคืืจืืืช ืืื GitHub, GitLab ื-Bitbucket
- ืืขืจืืช ืืงืฉืช ืืฉืืื ืฉืืืืืฉืื ืืขืืืช ืืฉืืจืืช ืืฉืื ืืื ืงืื
- ืชืืืื ืืืืฉื ืื ืืชืื ื ืชืื ืื ืขืืืจ ืืกืคืจ ืคืืจืืื ืคืื ืฉื lint
- ืืืฆืืข ืืืืืืชื ื-CI ืืืืฆืขืืช ืฉืืืื ืฉืืจืช ืคืงืืื ืคืฉืื
ืืืื ืื ืืืคืฉืจ ืืืจืืื ืื ืืฉืืืจ ืขื ืืื ื-lint ืืืืขืืคืื ืขืืืื ืชืื ืฉืืคืืจ ืืืืคื ืฉืื ืืชืืฆืืืช ืืืืขืืช ืืืคืชืืื. ืืืงืื ืืืืืืฃ ืืื ื-lint ืืงืืืืื, Reviewdog ืืฉืคืจ ืืช ืืฉืืืืฉืืืช ืฉืืื ืืชืืืืื ืขืืืื ืฉืืชืืคืืื.
ืฉืืืื ืืจืืืช ืขืืืื ืืชืื ืฆืื ืืจืืช CI
Reviewdog ืืืืฆืข ืืืจื ืืื ืืฉืื ืืฆืื ืืจืืช CI ืืืืจ ืืืฆืืข ืืืืงืืช lint. ืืืืื ืฉืื ืื, ืคืืื ื-lint ืื ืืชืืื ืืืืืจืื ืืืฉืื ืืืื ื ืืงืฉืืจ ืืืงืฉืช ื-pull ืื ืืืืืช.
ืชืืืื ืขืืืื ืคืฉืื ืืืชืจ ืขืฉืื ืืืืื ืืช ืืฉืืืื ืืืืื:
- ืฆืื ืืจ CI ืืคืขืื ืื ืืข lint ืืื ืื ืืืชืจ.
- Linters ืืืฆืจืื ืืืืืช ืคืื ืืคืืจืืืื ื ืชืืืื.
- Reviewdog ืืขืื ืืช ืืืืืืช ืืืืคื ืืช ืืืืฆืืื ืืฉืืจืืช ืงืื ืฉืขืืจื ืฉืื ืื.
- ืืืขืจืืช ืืคืจืกืืช ืืขืจืืช ืืฉืืจืืช ืืืืฉืง ืกืงืืจืช ืืงืฉืืช ื-pull.
ืฉืืืื ืืจืืืช ืขืืืื ืื ืืคืืืช ืืฉืืขืืชืืช ืืช ืืืืืื ืืขืช ืืืคืื ืืืคืจืืช ืงืื. ืืคืชืืื ืจืืืื ืืขืืืช ืืืืคื ืืืืื ืืืงืฉืจ ืฉื ืฉืื ืืื ืืงืื ืฉืืืืฉื, ืืืงืื ืืกืงืืจ ืืืื ื CI ืืจืืืื.
ืืงืจื ืฉืืืืฉ ืืืจืืื ื ืื ืืกื ืืืืืื
Reviewdog ื ืคืืฅ ืืืจืืื ืื ืฉืืืจ ืืกืชืืืื ืขื ืืกืคืจ ืืื lint ืื ืจืืฆืื ืืชืงื ื ืืช ืืฆืืช ืืืืฆืืื. ืชืจืืืฉืื ืืืคืืื ืืื ืืืืืื:
- ืืกืืกื ืงืื ืคืืืืืืื ืฉืืื ืฆืืืชืื ืฉืื ืื ืืชืืืงืื ืื ืืขื ืืื ื ืกืคืฆืืคืืื ืืฉืคื
- ืืจืืื ืื ืฉืจืืฆืื ืืืืืืข ืชืืฆืืืช ืฉื lint ืืฉืืจืืช ืืชืืืืื ืขืืืื ืฉื ืกืงืืจืช ืงืื
- ืฆืื ืืจืืช CI ืืืืืฆืจืื ืืืืืืช ืืืืืืช ืฉื ืคืื ื ืืชืื ืฉืงืฉื ืืคืจืฉ ืืืืื ื ืจืืฉืื ืืืืืืื
- ืฆืืืชื ืคืืชืื ืฉืืขืืืคืื ืืขืืืช ืืืืืจืช ืขื ืืืื ืืื ื ืื ืฉืืืื ืืืงืืจืช ืืจืืื
ืขื ืืื ืืชืืงืืืช ืืฉืืืื ืืจืืืช ืขืืืื ืฉื ืืคืชืืื ืืืงืื ืืืืืคืช ืืืืื, Reviewdog ืืฉืืืื ืคืืืคืืจืืืช ืชืืืืจ ืืืจืืช ืฉื lint ืืืงืื ืืืชืืจืืช ืืื.
ืืืืืืช ืชืคืขืืืืืช
- ืืื ืืืื ืืื ื ืืงืืจืืื: ืืืื ืชืืื ืืืืืืื ืืื ืืืกืืื ืืืฆืื ืืื.
- ืชืืื ืืช ืืืฉื ืืืืืืืช: ืืื ืืื ื ืืกืคืง ืืืืืช ืืืืื ืื ืื ืืืื ืืืืืช ืืืืื ืืจืื.
- ืืืจืืืืช ืืชืฆืืจื: ืืืคืื ืคืืจืืื ืคืื ื-linters ืฉืื ืื ืขืฉืื ืืืจืืฉ ืืืืจื ืืืืจื.
ืืืคืืื ืื ืืื ืืืจืืื ืืื ืฉ-Reviewdog ืืชืคืงื ืืืจื ืืื ืืืืง ืืืขืจืืช ืืงืืืืืืช ืืืืืชืืช ืจืืื ืืืชืจ. ืืื ืืฉืคืจ ืืช ืื ืจืืืช ืฉื ืืืฆืื ืืขืืืช ืื ืืื ื ืืืืืฃ ืืช ืื ืืขื ืื ืืชืื ืืืืจืืื ืขื ืืืืื ืืขืืืช.
ืืกืืืืืช ืื ืืกื ืืืืืืช, ืืืื ืืืขืจื ืืขืชืื ืงืจืืืืช ืืืืืช ืืืืืชื ืืกืืืจ ืืช ืืคืขืจ ืืื ื ืืชืื ืืืืืืื ืืชืืืืื ืกืงืืจื ืื ืืฉืืื. ืขื ืืื ืืืืขืช ืืฉืื ืืื ืืจืืงืืืื ืืฉืืจืืช ืืืืื ืื ืขื ืืงืฉืืช ืืฉืืื, Reviewdog ืืกืืืข ืืืืืื ืฉืืคืจืืช ืืืืื ืืืคืื ืืชืืื ืืช ืืขืฉืืืช ืืื ืืืืฆืืื ืืืืชืจืื ืฉื ืชืืืืืื ืืื.
DeepSource
ืืชืจ ืจืฉืื: DeepSource
DeepSource ืืื ืคืืืคืืจืืช ืืืืืช ืงืื ืืชืืงืื ืงืื ืืืืกืกืช ืขื ื, ืฉื ืืขืื ืืฉืื ื ืืชืื ืกืืื ืืืืกืก ืืืืื ืขื ืื ืืืืช ืืืืืืืืืช ืืชืืงืื ืงืื. ืื ืืืื ืืื ืืขื ืชืืงืื ืงืื ืืกืืจืชืืื ืืืชืืงืืื ืืขืืงืจ ืืืืืคื ืกืื ืื ืืช, DeepSource ืืืฆืืช ืืช ืขืฆืื ืืคืืืคืืจืืช ืคืจืืืืงืืืืืืช ืืืืื ืืช ืืืคืชืืื, ืืื ืชืืช ืงืื ืืืืคื ืจืฆืืฃ ืืืกืคืงืช ืืฉืื ืืขืฉื ืืฉืืจืืช ืืชืื ืืจืืืืช ืขืืืื ืฉื ืืคืืชืื.
ืืกืืืืืช ืื ืืกื ืืจืืื ืืืช, ืืคืืืคืืจืื ืืืฆืืช ืืืจื ืืื ืืืฉืจ ืืจืืื ืื ืจืืฆืื ืืืื ืคืขืืืืืืช ื ืืชืื ืืจืืืืช ืืฉืืืช ืฉืืจืืช ืืืช. ืืืงืื ืืืคืขืื ืืขืจืืืช ื ืืชืื (linters) ืื ืคืจื ืขืืืจ ืื ืฉืคื ืื framework, DeepSource ืืืืืช ืืขืจืืืช ื ืืชืื (linting), ื ืืชืื ืกืืื, ืืืืงืืช ืืืืื ืืืขืจืืืช ืชืืืืงื ืืชืื ืืขืจืืช ืืืช. ืืืืื ืื ืืคืืืช ืืช ืืชืงืืจื ืืชืคืขืืืืช ืฉื ื ืืืื ืืื ื ืืชืื ืืจืืืื ืชืื ืืชื ืืคืฉืจืืช ืืืืืื ืขืงืื ืืื ืืืืจืื ืฉืื ืื.
ืืืจืืืืงืืืจื ืฉื ืืคืืืคืืจืื ืืชืืงืืช ืื ืืชืื ืืชืืฉื ืืืืคืขื ืขื ืืื ืืืจืืขื ืืืืจ ืืืื ืืงืฉืืช ืืฉืืื ืื ืืืืคืืช ืงืื. ืืืฉืจ ืืชืจืืฉ ืฉืื ืื, DeepSource ืืขืจืืื ืืช ืืงืืฆืื ืืืืฉืคืขืื ืืืืฆืขืืช ืื ืชืื ืืฉืคื ืืกืคืฆืืคืืื ืฉืื ืืืืืฆืจืช ืกื ืืืื ื ืฉื ืืืฆืืื. ืืืฆืืื ืืื ื ืืฉืคืื ืืฉืืจืืช ืืชืื ืืงืฉืืช ืืฉืืื, ืื ืฉืืืคืฉืจ ืืฆืืืชื ืื ืืกื ืืืคื ืืืขืืืช ืืคื ื ืฉืืฉืื ืืืื ืืืืขืื ืืกืืืืืช ืืื ืืืจืฆืื ืื ืคืจืืกื.
ืืจืืืืงืืืจืช ืคืืืคืืจืื ืืืจืืืช ืขืืืื ืฉื ื ืืชืื
ืืืื ืื ืืชืื ืฉื DeepSource ืืฉืื ืืืืื ืืงืกื ืืืืกืก ืืืืื ืขื ืคืจืฉื ืืช ื ืืกืคืช ืฉื ืชืื ืืืช ืงืื. ืืืงืื ืืืกืชืื ืื ืืจืง ืขื ืืงืกืืื ืืืฆืื ืืื, ืืคืืืคืืจืื ืืืืืช ืื ืชืืื ืืงืืจืืื ืฉื ืืขืื ืืืืืช ืจืืืืช ืงืื, ืชืื ืืืช ืื ืื-ืืคืืก ืืืขืืืช ืืืื ืืช ืคืืื ืฆืืืืืืช.
ืชืืืื ืืขืืืื ืืืจื ืืื ืขืืงื ืืืจ ืืฉืืืื ืืืืื:
- ืืืจืืข ืืืืจ ืืคืขืื ื ืืชืื.
- DeepSource ืื ืชื ืงืืฆืื ืฉืขืืจื ืฉืื ืื ืืืืฆืขืืช ืื ืืขื ืขืืจ ืกืคืฆืืคืืื ืืฉืคื.
- ืืืืฆืืื ืืกืืืืื ืืคื ืืืืจื ืืกืื.
- ืืชืืฆืืืช ืืืขืืจืืช ืืืืืืจ ืืงืฉืืช ืืฉืืื ืื ืืืืืช ืืื ืืืืื ืื.
- ืืคืชืืื ืืงืืืื ืืืืฆืืช ืืื ืืืืช ืืชืืงืื.
ืืจืืืืงืืืจื ืื ืืืคืฉืจืช ืืืจืืื ืื ืืืื ืืก ืืืขืจืืช ื ืืชืื ืกืืื ืืคืื ืงืฆืืืช ืชืงืฉืืจืช (linting) ืขื ืชืฆืืจืช ืชืฉืชืืช ืืื ืืืืืช. ืืืืืื ืฉืืคืืืคืืจืื ืคืืขืืช ืืฉืืจืืช ืืชืืจื, ืฆืืืชื ืื ืืกื ืืืจื ืืื ืืฉืืืื ืืืชื ืืืืฆืขืืช ืืืืจื ืืืืจืื ืืืงืื ืื ืื ืชืฉืชืืช ื ืืชืื ืืงืืืืช.
ืืืืืืช ืจืืืื ืืืืช ืืฆืืืชื ืื ืืกื ืืจืืื ืืื
DeepSource ืืกืคืงืช ืืกืคืจ ืชืืื ืืช ืืืืขืจืืืช ืืขืชืื ืงืจืืืืช ืืืจืืื ืื ืืื ืืืื ืชืืงื ืงืื ืืืืืื.
ืืืืืืช ืืคืชื ืืืืืืช:
- ืชืืืื ืื ืืชืื ืจื-ืืฉืื ื ืขืืืจ ืฉืคืืช ืืจืืื ืืืช ื ืคืืฆืืช
- ืืฉืื ืืืืืืื ืฉื ืืงืฉืช ืืฉืืื ืืฉืืื ืืืจืืืืช ืขืืืื ืฉื ืกืงืืจืช ืงืื
- ืชืืื ืืช ืชืืืืงื ืืืืื ืืช ื ืืืจ ืื ืืชืื ืงืื ืกืืื
- ืืืืื ืคืืืขืืืืช ืืืืื ืืืืืข ืืฉืืจืช ื ืืชืื
- ืืฆืขืืช ืืชืืงืื ืืืืืืื ืืืฆืืขืื ืชืืงืื ืขืืืจ ืงืืืืจืืืช ืืกืืืืืช ืฉื ืืขืืืช
ืืืืืช ืืชืืงืื ืืืืืืืืืช ืืืืืื ืืช DeepSource ืืืื ืชืืงืื ืืงืกืืื ืืกืืจืชืืื ืจืืื. ืืืฉืจ ืืคืืืคืืจืื ืืืื ืืคืืกืื ืฉื ืืชื ืืชืงื ืืืืคื ืืืืืืื, ืืื ืขืฉืืื ืืืฆืืข ืฉืื ืืื ืงืื ืืืืคืืื ืืืขืื ืืฉืืจืืช. ืืืืืช ืื ืืืืื ืืืืืฅ ืืช ืืชืืงืื ืืกืืืืืช ืืื ืืกืคืจ ืจื ืฉื ืืขืืืช ืงืืืช ืืฆืืืจืืช ืืืืืจืื ืฉืื ืื.
ืืคืืกื ืืืืืฅ ืืจืืื ืืื
ืืจืืื ืื ื ืืืื ืืืืฅ ืืช DeepSource ืืืฉืจ ืื ืจืืฆืื ืคืืืคืืจืื ืฉืืคืืืชื ืืช ืืคืืฆืื ืฉื ืืฆืจ ืขื ืืื ืื ืืขื lint ืืจืืืื. ืืืงืื ืืืืืืจ ืืืชืืืง ืืืื ื ืคืจืืื ืืืืืงืืช ืกืื ืื, ืกืจืืงืช ืืืืื ืื ืืชืื ืชืืืืงื, ืฆืืืชืื ืืืืืื ืืจืื ืคืื ืงืฆืืืช ืืื ืืืกืืจืช ืฉืืจืืช ืืื.
ืืคืืืคืืจืื ืืืจืงืืืืืช ืื ืืกืืืืืช ืืื ืฆืืืชื ืคืืชืื ื ืืชื ืื ืขืืืคืืช ืืฉืืืื ืืจืืืช ืขืืืื ืฉื ืืคืชืืื. ืขื ืืื ืืฆืืช ืืืฆืืื ืืฉืืจืืช ืืืงืฉืืช ืืฉืืื ืืืชื ืืฆืขืืช ืืชืืงืื ืื, DeepSource ืืขืืืืช ืืคืชืืื ืืืคื ืืืขืืืช ืืืืื ืชืืืื ืกืงืืจืช ืืงืื ืืจืืื ืืื ืืืืจ ืืคืจืืกื.
ืืืืืืช ืชืคืขืืืืืช ืืฉืืงืืืื
- ืชืืืช ืืขื ื: ืชืฉืชืืช ืื ืืชืื ืคืืขืืช ืืฉืืจืืช ืืชืืจื, ืืืจ ืฉืขืฉืื ืืืื ืืก ืืืืืฆืื ืืืจืืื ืื ืขื ืืืื ืืืช ืืืืืจื ืฉื ืคืขืืืืช ืืงืืืืช.
- ืืืืืืช ืืืกืื ืฉืคืืช: ืืขืื ืฉืงืืืืช ืชืืืื ืืจืืืื ืฉืคืืช, ืืขืจืืืช ืืงืืืืืืืช ืืืขืืืืืช ืืกืืืืืช ืขืฉืืืืช ืืืจืืฉ ืืื lint ื ืืกืคืื.
- ืืืืจืช ืชืืงืื ืืืืืืื: ืืฉ ืขืืืื ืืืืืง ืืงืคืืื ืืช ืืชืืงืื ืื ืืืืฆืขืื ืืืืืืืืช ืืื ืืืืืื ืฉืืืืื ื ืืืจืืืืงืืื ืืช ื ืฉืืจืช.
ืฉืืงืืืื ืืื ืืืืืฉืื ืฉ-DeepSource ืืชืคืงืืช ืืฆืืจื ืืืขืืื ืืืืชืจ ืืืฉืจ ืืื ืืฉืืืืช ืืืกืืจืืืืืช ื ืืืื ืื ืืกื ืจืืื ืืืชืจ, ืืืงืื ืืคืขืื ืืื ืื ืื ืืืืืช ืืืืืืช ืืืืื.
ืืืงืฉืจืื ืืจืืื ืืื, ืืคืืืคืืจืื ื ืคืจืกืช ืืขืชืื ืงืจืืืืช ืืฉืืืช ื ืืชืื ืืจืืืืช ืืืฉืืืื ืืืฆืืข lint ืืืืกืก CI. ืืขืื ืฉืืื pipeline ืืืืคืื ืกืื ืืจืืื ืฉื ืงืืืื ืืืืื ืืื ืืื, DeepSource ืืกืคืงืช ืชืืื ืืช ืืชืืฉืืืช ืืืื ืืืืืช ืืืืืืช ืืงืื ืืกืืืื ืื ืืชืขืืจืจืื ืืืืืจืื ืฉืื ืื.
ืงืืืืฉืื
ืืชืจ ืจืฉืื: ืงืืืืฉืื
Codacy ืืื ืคืืืคืืจืื ืืจืืืืช ืืืืืืช ืงืื ืืชืืืืจ lint ืฉื ืืขืื ืืกืคืง ื ืืชืื ืืืืืืื, ื ืืืื ืืืืจืื ืื ืืืืจ ืืืืืช ืขื ืคื ื ืชืืงื ืื ืืกื ืืืืืื. ืืคืืืคืืจืื ืืฉืืืช ืื ืืขื lint ืืจืืืื, ืืืืืืช ื ืืชืื ืกืืื ืืืื ืกืจืืงืช ืืืืื ืืืขืจืืช ืืืืืืช ืืืฉืชืืืช ืืฉืืจืืช ืขื ืคืืืคืืจืืืช ืืงืจืช ืืจืกืืืช ืืฆืื ืืจืืช CI.
ืืกืืืืืช ืื ืืกื ืืจืืื ืืืช, Codacy ืืฉืืฉ ืืืจื ืืื ืืชืงืื ื ืฉื ืืืืงืืช ืืืืืช ืืื ืฆืืืชืื, ืชืื ืฉืืืจื ืขื ื ืจืืืช ืืืื ืืืืคื ืฉืื ืืืืืช ืืงืื ืืชืคืชืืช ืืื ืืืืจืื ืฉืื ืื. ืื ืืืื ืืื ืืขื lint ืขืฆืืืืื ืืคืืขืืื ืืืืคื ืขืฆืืื ืืชืื ืฆืื ืืจืืช ืื ืืื, Codacy ืคืืขืืช ืืคืืืคืืจืืช ื ืืชืื ืจืฆืืคื ืฉืขืืงืืช ืืืจ ืืขืืืช ืืืืจื ืืื, ืืืืืฉื ืืืืืช ืืืืืช ืืชืคืชืืืช ืืืกืคืงืช ืืงืจืืช ืืืฉื ืืื ืืื ืืื ืืกืืช.
ืืืจืืืืงืืืจื ืฉื ืืคืืืคืืจืื ื ืืขืื ืืืชืืื ืืืขืจืืืช ืืงืืืืืืืช ืฉื ืคืืชืื ืจื-ืืืืจื ืฉืคืืช. ืืจืืื ืื ืืืืืื ืืคืขืืืื ืืขืชืื ืงืจืืืืช ืืกืคืจ ืฉืคืืช ืชืื ืืช ืืืกืืจืืช ืื ืืื ืืช, ืืืจ ืฉืืืื ืืืืจืืืืช ืืืืืคืช ืกืื ืืจืืื ืขืงืืืื ืฉื ืืืืืช. Codacy ืขืื ื ืขื ืืชืืจ ืื ืขื ืืื ืฆืืืจืช ืชืืฆืืืช ืืืกืคืจ ืื ืชืืื ืืืฆืืชื ืืืืฆืขืืช ืืืฉืง ืืืืื ืืจืืื.
ืืจืืืืงืืืจืช ืคืืืคืืจืื ืืืืื ื ืืืื
Codacy ืืืฆืขืช ื ืืชืื ืืืืฆืขืืช ืฉืืืื ืฉื ืื ืืขื lint ืืฉืืืืื ืืฉืืืช ืชืืืืจ ืืฉืื. ืื ืฉืคื ื ืชืืืช ืืฉืืืืช ืืื ืืข ื ืืชืื ืืื ืื ืืืชืจ ืืืกืืืืื ืืืืืช ืืขืืืช ืกืื ืื ืืืช, ืจืืืืช ืงืื, ืืฉืฉืืช ืชืืืืงื ืืงืืืืจืืืช ืืกืืืืืช ืฉื ืกืืืื ื ืืืืื.
ืจืืืืื ืืืจืืืืืื ืืจืืืืื ืืืืืื:
- ืฉืืืช ื ืืชืื ืจื-ืื ืืขื ืชืืืื ืืืกืคืจ ืฉืคืืช ืชืื ืืช
- ืฉืืืื ืืืืจืื ืขื GitHub, GitLab ื-Bitbucket
- ื ืืืืจ ืจืฆืืฃ ืฉืืขืจืื ืงืื ืืืืจ ืืงืฉืืช ืงืืืื ื-pull
- ืืืืืช ืืืืื ืื ืืจืืืืื ืืขืงื ืืืจ ืืืืืช ืืืืืช ืืืืืจืื ืฉืื ืื
- ืฉืขืจืื ืืืืืชืืื ืืฉืืฉ ืืืืืคืช ืืืื ืืืช ืงืืืื ืืฆืื ืืจืืช CI
ืืจืืืืงืืืจื ืื ืืืคืฉืจืช ื-Codacy ืืชืคืงื ืื ืืคืืืคืืจืืช ืืืฆืืข lint ืืื ืืฉืืืช ืืืฉื ืขืืืจ ืืจืืื ื ืื ืืกื. ืฆืืืชื ืคืืืคืืจืื ืืืืืื ืืืืืืจ ืชืฆืืจืืช ืืืืื ืืกืคื ืืืืืช ืืืืื ืขื ืืืืจืื ืฉืื ืื, ืืืื ืืกืืืข ืืืืืื ืฉืืฆืืืชืื ืืขืืื ืืกืื ืืจืืื ืขืงืืืื.
ืืืืืืช ื ืืืืจ ืืืืืื ืืืืืช
ืืืช ืืืชืจืื ืืชืื ืืขืืงืจืืื ืฉื Codacy ืืืื ื ืืืืืืชื ืืืื ืืืฆืื ืคืืืื ืืืืืื ืืืื ืื ืฉืื ืืื ืื ืืกื ืืืืืื ืื ืชื ืืืืจื ืืื. ืืืงืื ืืืฆืื ืจืง ืจืฉืืืืช ืฉื ืืคืจืืช, ืืคืืืคืืจืื ืืืจืื ืช ืืืฆืืื ืืงืืืืจืืืช ืืืื ืืืจืืืืช, ืืคืืืืช, ืชืืืืงื ืืคืืืื ืคืืื ืฆืืืืืื.
ืชืืื ืืช ืืืืื ืืืคืืื ืืืช ืืืืืืช:
- ืืืืืช ืืืกืืืจืืืช ืืืืืืช ืืงืื ืืืืืจืื ืฉืื ืื
- ืืืืื ื ืงืืืืช ืืืืช ืืงืื ืขื ืคืืื ืฆืืื ืืืื ืืคืืืื
- ืฆืืื ื ืชืืืืงื ืื ืืืจืื ืืชืืฆืืืช ืื ืืชืื
- ืชืฆืืืืช ืืฉืืืื ืฉื ืืืืจืื ืืืืืืฉืืช ืกืืืืช ืืืืืช ืืื ืฆืืืชืื
ืืืืืืช ืืืืื ืืื ืืืคืฉืจืืช ืืืจืืื ืื ืืืชืืืืก ืืืืฆืื ืชืงืืืช ืืืื ืืืงืืืจืื ืืืจืืืืช ืื ืืกืืช ืจืืื ืืืชืจ ืืื ืืืคืจืืช ืืืืื ืืืืืืช. ืขื ืืืื, ืืืืืช ืืืืืืช ืืืฉืืฃ ืืขืืืช ืืขืจืืชืืืช ืืืื ืืฆืืืจืืช ืืืจืืืืช ืืืจืืืืืช ืื ืืจืืื ืืชืืืืงื ืืชืช-ืืขืจืืืช ืืกืืืืืช.
ืืืื ืงืืืืกื ืืฉืชืืืช ืืืขืจืืืช ืืงืืืืืืืช ืฉื ืื ืืกื ืืจืืื ืืช
ืงืืืืกื (Codacy) ืืืฆื ืืืจื ืืื ืืืจืืื ืื ืืืืจืฉืื ืคืืงืื ืืจืืื ืขื ืืืืืช ืืงืื ืืื ืฆืืืชื ืคืืชืื ืืืืืจืื. ืขื ืืื ืืืืื ืชืืฆืืืช ืื ืืชืื ืืคืืืคืืจืื ืืฉืืชืคืช, ืื ืืืช ืืื ืืกื ืืืืื ืื ืืจ ืืื ืกืื ืืจืืื ืฉื ืืืืืช ื ืืืคืื ืืืืคื ืขืงืื ืืืืืืช ืชืืืืื ืฉืืื ืืฉ ืืชืช ืขืืืคืืช ืืืืืฆื ืชืืงืื.
ืืคืืืคืืจืื ืื ืืชืืืฉืืช ืืืื ืขื ืืกืืจืืืืืช ื ืืืื CI/CD. ื ืืชื ืืืืืืจ ืฉืขืจื ืืืืืช ืืื ืืื ืืข ืืืืื ืงืื ืื ืชืืฆืืืช ืื ืืชืื ืืืจืืืช ืืกืคืื ืืืืืจืื. ืื ืื ืื ืื ืืืืื ืฉืฆืืืชืื ืืืคืืื ืืืขืืืช ืงืจืืืืืช ืืคื ื ืฉืืฉืื ืืืื ืืืคืืื ืืืืง ืืืกืืกื ืืงืื ืฉื ืืืืฆืืจ.
ืคืฉืจืืช ืืืืืืืช ืชืคืขืืืืืช
- ืชืงืืจื ืืืื ืจืืฆื ืฉื ืื ืืชืื: ืกืจืืงืช ืืืืจืื ืืืืืื ืื ืืื ืืจืคืืืื ืขืฉืืื ืืืืจืื ืืช ืืื ืืืฆืืข CI.
- ืืืืฅ ืืืื ืืืืื: ืืืืืฅ ืืจืืื ื ืืืจืฉ ืืขืชืื ืงืจืืืืช ืืืื ืื ืงืคืื ื ืฉื ืืขืจืื ืืืืื ืืื ืืื ืืข ืจืขืฉ ืืืืื.
- ืชืืืช ืืื ืืืกืืื ืืืฆืื ืืื: ืืื ืคืืืคืืจืืืช ืชืืืืจ ืืืจืืช, ืืืฆืืื ืจืืื ืืงืืจื ืืื ืืขื lint ืืฉืืืืื ืืื ืืืืืืื ืื ืืชืื ืืืงืืจื ืฉื Codacy.
ืืืคืืื ืื ืืื ืืืืืฉืื ืฉ-Codacy ืืชืคืงืืช ืืฆืืจื ืืืขืืื ืืืืชืจ ืืคืืืคืืจืืช ืืืฉื ืืืืืื ืืื ืืชืืืืฃ ืืื ืืขื lint ืืืขืืืืื.
ืืืจืืื ื ืชืืื ื ืืืืืื, ืืคืืืคืืจืื ืืืคืืช ืืขืชืื ืงืจืืืืช ืืฉืืืช ืชืฆืคืืช ืืจืืืืช ืืืืชืืช ืืืืืช ืื ืืกืืื. ืืขืจืืืช CI ืืืฆืขืืช ืืืืงืืช ืืืงืืืื, ืืขืื ืฉ-Codacy ืืืกืคืช ืืช ืืชืืฆืืืช, ืขืืงืืช ืืืจ ืืืืืช ืืขืืืจืช ืืื ืืื ืืืืื ืืืื ืืืชืื ืฉืืืื ืฆืืจื ืืฉืืคืืจืื ืืื ืืื ืื ืืืืืืืช ืฉืืคืืฅ (refactoring) ืืื ืชืืง ืืืืฉืืืื.
ืคืืืคืืจืืืช ืขืืืื ืงืื ืืจืืื ื ืืืฉืืืื ืืื ืชืืืื ื ืืืื, ืืืืืืฆืื ืืชืืื ืืช ืืขืจืืช
ืืืืจืช ืคืืืคืืจืืช linting ืขืืืจ ืฆืืืชื ืื ืืกื ืืจืืื ืืื ืืจืืื ืืืืชืจ ืืืฉืืืืช ืืขืจืื ืืืืื ืื ืืืกืื ืฉืคืืช. ืื ืืื ืืคืืืคืืจืืืช ืืืืืื ืืืขืจืื ืืืฆื ืื ืืื ืชืืื ืืฆืื ืืจืืช ืืกืคืงื, ื ืืืื ืืื-ืืืืจืื, ืืจืืืืช ืขืืืื ืฉื ืืคืชืืื ืื ืจืืืช ืชืืืืงื ืืืืื ืืจืื. ืืชืืงื ืืฉืงืขืืช ืืืืืื ืฉืืื ืืืืช ืฉืืจืืชืื ืืชืคืชืืื ืื ืืื ืืช, ืืื linting ืืฉืคืืขืื ืขื ืืืื ืืืช ืืืืื, ืื ืืขืช ืืืจืืขืื ืืขืงืืืืช ืืืจืืืืืช.
ืืืฉืืืื ืฉืืืื ืืชืืงืืช ืืืืืืืช ืชืคืขืืืืืช ืฉืืจืืื ืื ืืืจื ืืื ื ืืชื ืื ืขืืืคืืช ืืื ืืขืช โโืืขืจืืช ืคืืืคืืจืืืช ืืืืืจ (linting). ืืื ืืืืืืช ืชืืืื ืืจืืืื ืฉืคืืช, ืฉืืืื CI/CD, ืชืืงืื ืื ืืืืืืืืื, ืืชืืื ืืืฉืืช ืฉื ืืืืื, ืืืฉืืจ ืืจืืืช ืขืืืื ืืืคืชืืื ืืืืืื ืืจืืื. ืืืื ื ืืกืฃ ืืืืื ืืืฉืืืื ืื ืืื ืชืืื ื ืืชื ืืืืชืืช ืืจืืช ืืืขืจืืช, ืืืืืช ืฉืืืคืืช ืืืฉืืื ืืืชืจ ืืืืชืจ ืืืฉืจ ืืฉ ืืคืจืฉ ืืืฆืื ืืืงืืืื ืืืกืืจืช ืืืจืืืืงืืืจื ืืจืืื ืืืชืจ ืฉื ืชืืงื ืชืืื ื ืืืจืืืื.
ืืฉืืืืช ืชืืื ืืช ืฉื ืคืืืคืืจืืืช ืืฆืืจืช ืงืฉืจืื ืืจืืื ืืืช
| ืชืืื ื / ืืืืืช | ืงืื ืืงืืื | MegaLinter | ืืืืืื ืกืืคืจ-ืืื ืืจ | ืกืงืืจื ืืื | DeepSource | ืงืืืืฉืื | SMART TS XL |
|---|---|---|---|---|---|---|---|
| ืชืืืื ืืจืืืื ืฉืคืืช | ืืฉ | ืืฉ | ืืฉ | ืชืืื ืืฉืืืืช ืืืฆืื ืืืช | ืืฉ | ืืฉ | ืืฉ |
| ืฉืืืื ืฆืื ืืจืืช CI/CD | ืืฉ | ืืฉ | ืื (ืืงืืจื ื-GitHub) | ืืฉ | ืืฉ | ืืฉ | ืืฉ |
| ืืขืจืืช ืืงืฉืช ืืฉืืื | ืืฉ | ืืืืื | ืืฉ | ืืฉ | ืืฉ | ืืฉ | ืืฉ |
| ืืขืจืืช ืืงืืืืืืช ืฉื ืชืืกืคืื | ืืฉ | ื ืจืื | ืึฐืึทืชึตื | ืืฉืชืืฉ ืืกืคืื ืืืฆืื ื | ืึฐืึทืชึตื | ืืฉ | ืืฉ |
| ืืชืืื ืืืฉืืช ืฉื ืืืืื | ืืฉ | ืืฉ | ืืืืื | ืชืืื ืืืื ืืจืื | ืืฉ | ืืฉ | ืืชืงืื |
| ืืฆืขืืช ืืชืืงืื ืืืืืืื | ืื | ืืืืื | ืื | ืื | ืืฉ | ืืืืื | ืืฉ |
| ืืืืืช ืืืืื ืื ืื ืืืื ืืืืจืื | ืืฉ | ืื | ืื | ืื | ืืฉ | ืืฉ | ืืฉ |
| ื ืจืืืช ืฉื ืืืืจืื ืืจืืืื | ืืฉ | ืืืืื | ืืืืื | ืื | ืืฉ | ืืฉ | ืืฉ |
| ืฉืืืื ืืจืืืช ืขืืืื ืฉื DevOps | ืืฉ | ืืืง | ืืืง | ืืืง | ืืฉ | ืืฉ | ืืฉ |
| ืชืฉืชืืช ืืชืฆืืจื | ืืืืื | ืืืง | ืืืง | ืชืืื ืืืื ืืจืื | ืืืืื | ืืืืื | ืืฉ |
| ืืืืงืืช ืืืืื ืืคืืืขืืืืช | ืืืืื | ืืืืื | ืืืืื | ืื | ืืฉ | ืืืืื | ืืฉ |
| ื ืืชืื ืืืกื ืชืืืช | ืื | ืื | ืื | ืื | ืืืืื | ืืืืื | ืืืง |
| ืชืืื ืืช ืืขืจืืชืืืช ืืื-ืืฉืื ืืืช | ืื | ืื | ืื | ืื | ืืืืื | ืืืืื | ืืืง |
| ืืืืืืืืืฆืื ืฉื ืชืืืช ืืืจืืืืืช | ืื | ืื | ืื | ืื | ืื | ืื | ืืฉ |
| ื ืืชืื ืืฉืคืขื ืฉื ืฉืื ืืื ืงืื | ืื | ืื | ืื | ืื | ืืืืื | ืืืืื | ืืฉ |
| ืชืขืืืฃ ืกืืืื ืื ืืืืืกืก ืขื ื ืชืืื ืืืฆืืข | ืื | ืื | ืื | ืื | ืื | ืื | ืืฉ |
| ื ืืชืื ืืขืจืืช ืืชื ืืืืชืืช | ืื | ืื | ืื | ืื | ืื | ืื | ืืืืืช ืืืื |
ืคืืจืืฉ ืืืฉืืืื
ืคืืืคืืจืืืช ืืกืืจืชืืืช ืฉื ืืฆืืจืช ืืงืกื (linting) ืืชืืงืืืช ืืขืืงืจ ืืืืืคืช ืืืืื ืืืืืืืช ืกืื ืื ืืชืื ืืืืจืื ืืืืืื. ืืืื ืืืื ืืืืืื ืฉืืืืืช ืชืืืืจ, ืืืกืจ ืขืงืืืืช ืกืื ืื ื ืืกืืืื ืืกืืืืื ืฉื ืืขืืืืช ืชืื ืืช ืืคื ื ืฉืืงืื ืืืืข ืืกืืืืืช ืืืฆืืจ. ืขืืืจ ืืจืืื ืื ืืืคืขืืืื ืืืืจืื ืืฉืคืืช ืชืื ืืช ืจืืืช, ืืืื ืืื MegaLinter ื-GitHub Super-Linter ืืกืืืขืื ืืชืงืื ื ืฉื ืืืฆืืข ืฆืื ืืจืืช ืขืืืื (pipeline) ืืืืืืคื ืฉื ืืืืงืืช ืืืืืช ืืกืืกืืืช.
ืคืืืคืืจืืืช ืืื Code Climate, DeepSource ื-Codacy ืืจืืืืืช ืคืื ืงืฆืืื ืืืืช ืื ืขื ืืื ืืฆืืช ืืืืื ืืจืืื, ืืืื ืชืืืืงื ืืืื ืืืจืฆืืืช ืฉื ืืจืืืช ืขืืืื ืืืคืชืืื. ืืืืืืช ืืื ืืกืืืขืืช ืืื ืืืช ืืื ืืกื ืื ืืจ ืืืืืช ืืืืืืช ืืงืื ืืืืืจืื ืฉืื ืื ืืืขืงืื ืืืจ ืืฆืืืจืืช ืืื ืืื ื ืืืืจื ืืื.
ืขื ืืืช, ืืื ืืขื lint ืืืืกืกื-ืืืืื ืืืืงืื ืืืืื ืืื ืืช. ืื ืืืจื ืืื ืื ืชืืื ืงืืฆื ืงืื ืืืืคื ืขืฆืืื ืืืชืืงืืื ืืืคืจืืช ืืืืื ืืื ืืืชื ืืืืช ืืจืืื ืืืชืจ ืฉื ืืจืืืืงืืืจืช ืืืคืืืงืฆืื. ืืกืืืืืช ืืจืืื ืืืช ืืืจืืืืช ืฉืืื ืฉืืจืืชืื ืืงืืืืื ืืื ืืจืืงืฆืื ืืืืฆืขืืช ืืืฉืงื API, ืืกืื ื ืชืื ืื ืืฉืืชืคืื ืืฆืื ืืจืืช ืืขืืจืช ืืืืขืืช ืืกืื ืืจืื ืืื, ืืื ืช ืืงืฉืจืื ืืื ืจืืืืื ืืืคืืช ืงืจืืืืช ืืคืืจืืฉ ืืืฉืืขืืช ืืืืืชืืช ืฉื ืืืฆืื lint.
ืื ืืืคื SMART TS XL ืืฆืื ืืืืืช ืื ืืืืืช ืืืืืืืช. ืืืงืื ืืืชืืงื ืื ืืจืง ืืืคืจืืช ืืืืื, ืืคืืืคืืจืื ืื ืชืืช ืืช ืืงืฉืจืื ืืืื ืืื ืืื ืืืืืืื, ืฉืืจืืชืื ืื ืชืืื ืืืฆืืข ืขื ืคื ื ืืกืืกื ืงืื ืฉืืืื. ืขื ืืื ืืฆืืช ืชืืืืืช ืืืขืงื ืืืจ ืืชืคืฉืืืช ืฉืื ืืื ืงืื ืืจื ืืขืจืืืช ืืืืืจืืช, SMART TS XL ืขืืืจ ืืฆืืืชื ืื ืืกื ืืืืื ืืืื ืืืงืื ืฉื ืืขืจืืช ื ืืฉืืื ืืช ืืกืืืื ืืชืคืขืืื ืืืืื ืืืืชืจ.
ืืคืืขื, ืืจืืื ืื ืจืืื ืืฉืืืื ืื ืืขื lint ืืืืกืกื-ืืืืื ืขื ืืื ื ืืชืื ืืจืืืืงืืื ืืื ืืขืืืงืื ืืืชืจ. ืืื Linting ืืืืืืื ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื ืืืืืื ืคืืืื ืืืืืืื, ืืขืื ืฉืคืืืคืืจืืืช ืชืืื ืืช ืืขืจืืช ืืืฉืคืืช ืชืืืืืช ื ืกืชืจืืช, ื ืชืืื ืืืฆืืข ืืฉืืจืืจืืืช ืืจืืืืงืืื ืืช ืฉืื ืืขื lint ืงืื ืื ืฆืืื ืืืื ืืื ื ืืืืืื ืืืืืช. ืืืฉื ืจื-ืฉืืืชืืช ืื ืืืคืฉืจืช ืืฆืืืชื ืื ืืกื ืืขืืืจ ืืืืืคืช ืืืืื ืคืฉืืื ืืืื ื ืืงืืคื ืืืชืจ ืฉื ืืชื ืืืืช ืชืืื ื ืขื ืคื ื ืชืืงื ืืืฉืืืื ืืืืืื.
ืืื ืคืืืชืื ืืื ืืื ื ืขืืืจ ืฆืืืชื ืื ืืกื ืืจืืื ืืื
ืืคืืืชืื ืืขืื ืืืืืื ืืืขืจืืืช ืืงืืืืืืืช ืื ืืกืืืช ืืจืืื ืืืช ืืืืจื ืืืช. ืืื ื ืืฆื ืืฉืืืืฉ ื ืจืื ืขืืืจ ืฉืืจืืชื backend, ืฆืื ืืจืืช ืื ืืกืช ื ืชืื ืื, ืืกืืจืืช ืืืืืืฆืื, ืคืืืคืืจืืืช ืืืืืช ืืืื ื ืืืืื ืคื ืืืืื. ืืืืื ืืงืจื ืฉืืืืฉ ืื ืืืื ืืืืจืืืืช ืืืืืคืช ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื ืืื ืืืืจืื ืืฆืืืชืื. ืงืื ืฉืืงืืจื ืืืืืจืืช ืืืขื ื ืชืื ืื ืขืฉืื ืืกืืคื ืฉื ืืืจ ืืืชืคืชื ืืืืฉืงื API ืฉื ืืืฆืืจ, ืืขืื ืฉืกืงืจืืคืืื ืคื ืืืืื ืฉื ืืืืืืฆืื ืืืืืื ืืืคืื ืืฉืืจืืชื ืชืคืขืื ืงืจืืืืื ืืืฉืืื. ืืื ืฉืืกืืกื ืืงืื ืฉื ืคืืืชืื ืืืืื, ืฉืืืจื ืขื ืงืจืืืืช, ืืืื ืืช ืืืฉืืขืช ืืืจืืืืืช ืืืคืืช ืืงืฉื ืืืชืจ ืืืืชืจ.
ืืื ืืื ืืื ื ืืืืืื ืชืคืงืื ืืืจืืข ืืืชืืืืืืช ืขื ืืชืืจ ืื. ืืื ืืื ืืื ื ืฉื ืคืืืชืื ืื ืชืืื ืงืื ืืงืืจ ืืื ืืืืืช ืืืกืจ ืขืงืืืืช ืกืื ืื ื, ืคืืืื ืคืืื ืฆืืืืืื, ืืื ืื ืื ืืขืืืื ืืกืืืื ื ืชืืืืงื ืืคื ื ืคืจืืกืช ืืงืื. ืืกืืืืืช ืืจืืื ืืืช, ืืืื ืืื ืืฉืืืืื ืืขืชืื ืงืจืืืืช ืืฆืื ืืจืืช CI/CD ืฉื ืื ืืชืคืงืืื ืืฉืขืจื ืืืืืช ืืืืืืืืื. ืขื ืืื ืืืืื ืืคืืกืื ืืขืืืชืืื ืืืงืื, ืืื ืืื ื ืืกืืืข ืืืคืืชืช ืชืงืจืืืช ืชืคืขืืืืืช ืืชืืื ืืฆืืืื ืืช ืงืืืื ืฉื ืืกืืกื ืงืื ืืืืืื ืฉื ืคืืืชืื.
ืืขืจืืืช ืืงืืืืืืืช ืฉื ืคืืืชืื ืืฆืืขืืช ืืื ืขืืจ ืจืืื, ืื ืจืง ืืขืืื ืืื ืืืืื ืืืืืืฅ ื ืจืื ืืืจืืื ื ืื ืืกื ืืืืืื. ืืกืขืืฃ ืืื ืืืืืฉ ืืช ืืื ืืืื ืืขืืจ ืื ืคืืฆืื ืืืืชืจ ืฉื ืคืืืชืื ืืืืื ืืืื ืืืืคืืื ืฉืฆืืืชืื ืขืฉืืืื ืืฉืงืื ืืืชืื ืืืจืืืืช ืืขืืืื ืฉื ืืคืืชืื ืืืืจืืฉืืช ืืืืฉื ืฉืืื.
ืคืืื ื
ืืชืจ ืจืฉืื: ืคืืื ื
Pylint ืืื ืืื ืืืื ื-linting ืืืืชืืงืื ืืืืชืจ ืืืขืจืืช ืืืงืืืืืืช ืฉื Python ืื ืฉืืจ ืืืืจื ื ืคืืฆื ืขืืืจ ืฆืืืชื ืื ืืกื ืืจืืื ืืื ืืืืจืฉืื ื ืืชืื ืกืืื ืืขืืืง ืืืชืืื ืืืฉืืช ื ืจืืืช ืฉื ืืืืื. ืืืื, ืฉืคืืชื ืชืืช ืจืฉืืช ืืืืืช ืืงืื ืฉื Python (PyCQA), ืื ืชื ืืช ืงืื ืืืงืืจ ืฉื Python ืขืืืจ ืกืืืืช ืกืื ืื ืืืช, ืฉืืืืืช ืคืืื ืฆืืืืืืช, ืจืืืืช ืงืื ืืืขืืืช ืชืืืืงื.
ืื ืืืื ื-linters ืงืืื ืืืชืืงืืื ืืขืืงืจ ืืืืื ืขืืฆืื, Pylint ืืืฆืข ื ืืชืื ืืื ื ืืขืืืง ืืืชืจ ืฉื ืงืื Python. ืืื ืืื ื ืืืฆืื ืืืคืฉื ืฉื ืืกืืก ืืงืื ืืืขืจืื ืืืชื ืืื ืืขืจื ืืืืื ืืืื ืืืืกื ืืืกืืืืช ืืืชื ืฉืืืช, ืฉืืืืฉ ืืกืืืื, ืืจืืื ืืืืื, ืืื ืืืงืืืจืื ืฉื ืืืจืืืืช ืืืขืืืช ืคืืื ืฆืืืืืืช ืืืื ืจืืฆื. ืืืฉื ืื ืืืืืช ืจืืื ืืืชืจ ืื ืืืคืฉืจืช ืืืื ืืืืืช ืืขืืืช ืืืืจืืืช ืืขืืจ ืืืคืจืืช ืกืื ืื ืืจืื ืืฉืืืืช.
ืืืืืืช ื ืืชืื
Pylint ืืืฆืข ืืกืคืจ ืงืืืืจืืืช ืฉื ืืืืงืืช ืืจืืืื ืืืืช ืืคืจืืืงืืื ืืจืืื ืืื ืฉื Python:
- ืืืืื ืฉื ืืืืื, ืืฉืชื ืื ืืคืื ืงืฆืืืช ืฉืืื ื ืืฉืืืืฉ
- ืืืืื ืฉืืืืืช ืืื ืจืืฆื ืืคืฉืจืืืช ืืืื ืื ืืฉืืืื
- ืืืืคืช ืืืกืืืืช ืืืชื ืฉืืืช ืืชืงื ื ืงืืืื
- ื ืืชืื ืืืจืืืืช ืขืืืจ ืคืื ืงืฆืืืช ืืืืืืช ืื ืืงืื ื ืืช ืขืืืง
- ืืืืื ืืืืืงื ืืคืืื ืืืฉืฉืืช ืชืืืืงื
ืืืืืื ืฉืืืืงืืช ืืื ืืืจืืืช ืืขืืจ ืืืืื ืขืืฆืื, ืืืื ืืืื ืืืืืืฉ ืืขืืืช ืืื ืืืช ืฉืขืืืืืช ืืืืืื ืืคืืืื ืื ืงืฉืื ืชืืืืงื ืืื ืฉืืกืืกื ืืงืื ืืืืื.
ืฉืืืื ืืชืื ืชืืืืื ืขืืืื ืฉื CI ืืคืืชืื
Pylint ืืฉืชืื ืืงืืืช ืขื ืฆืื ืืจืืช ืคืืชืื ืืืืจื ืืื ืืกืืืืืช ืคืืชืื. ื ืืชื ืืืคืขืื ืืืชื ืืืื ืฉืืจืช ืคืงืืื, ืืืืืืข ืืืชื ื-IDEs, ืื ืืืคืขืื ืืืชื ืืืืง ืืืจืืืืช ืขืืืื ืืืืืืืืืช ืฉื CI.
ืืคืืกื ืฉืืืืฉ ืืืคืืื ืืื ืืืจืืื ืื ืืืืืื:
- ืืคืขืืช Pylint ืืืืื ืืืืืช ืืงืฉืช ืืฉืืื
- ืืืืคืช ืกืคื ืืืืืช ืืชืื ืฆืื ืืจืืช CI
- ืฉืืืื ืชืืฆืืืช ื ืืชืื ืืชืืืืื ืขืืืื ืฉื ืกืงืืจืช ืงืื
- ื ืืืืจ ืฆืืื ื ืืืืืช ืงืื ืืืืืจืื ืฉืื ืื
ืืจืืื ืื ืจืืื ืืฉืืืื ืื Pylint ืขื ืืืื ืฉื repository ืืืื ืขืื ืืืฆืืข commit ืฉื ืงืื ืื ืืื ืืคืจ ืกืคื ืืืืืช ืืืืืจืื.
ืืชืืื ืืืฉืืช ืื ืืืื ืืืืื
ืืืช ืืืชืจืื ืืชืื ืฉื Pylint ืืืื ื ืืืืืืืช ืืชืฆืืจื ืื ืจืืืืช ืฉืื. ืฆืืืชืื ืืืืืื ืืืชืืื ืืช ืืชื ืืืืช ืืืืืื ืืืืฆืขืืช ืงืืฆื ืชืฆืืจื, ืื ืฉืืืคืฉืจ ืืื ืืืชืืื ืืช ืืืื ืืชืงื ื ืืงืืืื ืืืืจืืฉืืช ืืืจืืืืงืืื ืืืช ืฉืืื.
ืืืืืืืช ืืืืื ืืื ืื ืืชื ืื ืืืืืจื ืืืืืืช:
- ืืืกืืืืช ืืชื ืฉืืืช ืืืฉืชื ืื ืืืืืืงืืช
- ืกืคื ืืืจืืืืช ืืืชืจืื
- ืืืืื โโืืืื ืืืช ืืจืืื
- ืืจืืืื ืขืืืจ ืืืืืืื ืืืืจ ืงืืื
ืืืืฉืืช ืื ืืืคืืช ืืช Pylint ืืฉืืืืฉืืช ืืืืืื ืืกืืืืืช ืืจืืื ืืืช ืืื ืกืื ืืจืืื ืฉื ืงืืืื ืืืืืื ืืืชืืื ืื ืืฉืืืืช ืคืืชืื ืืืืจื ืืืช ืืื ืืจืืืื ืงืื ืืืืจ ืงืืื.
ืฉืืงืืืื ืชืคืขืืืืื
ืืืจืืช ืฉ-Pylint ืืกืคืง ืืืกืื ื ืืชืื ื ืจืื, ืืกืืืืืชื ืขืืืื ืืืฆืื ืืชืืจืื ืชืคืขืืืืื ืืืกืืกื ืงืื ืืืืืื. ืืืืืื ืฉืืืื ืืืฆืข ื ืืชืื ืกืืื ืืขืืืง ืืืชืจ ืืืฉืจ ืืื ืืื ืืจ ืงื ืืฉืงื ืจืืื, ืืื ื ืืืืฆืืข ืขืฉืืืื ืืืชืืจื ืขืืืจ ืืืืจืื ืืืืืื. ืื ืืกืฃ, ืืืื ืืจืืจืช ืืืื ืืืืืจืื ืขืฉืืืื ืืืืฆืจ ืืกืคืจ ืืฉืืขืืชื ืฉื ืืืืจืืช ืืืฉืจ ืื ืืืืฉืืื ืขื ืืกืืกื ืงืื ืืืืจ ืงืืื ืืื ืืืื ืื ืืืจืืชื.
ืืกืืืืช ืืื, ืืจืืื ืื ืจืืื ืืฆืืืื ืืช Pylint ืืืืจืื, ืืื ืืกืคื ืืืืื ืืงืืื ืืืืืืง ืืืืืคื ืืืืจื ืืื ืืื ืฉืืฆืืืชืื ืืกืชืืืื ืืืื.
ืืคืืขื, Pylint ืืืคื ืืขืชืื ืงืจืืืืช ืืืืง ืืืกืืจืืืืืช ืืืืืช ืจืืื ืืืชืจ ืืืฉืืืช ืืืืงืืช ืืืืืืืืืช (linting), ืื ืืชืื ืืืจืืืื. ืืืฉืจ ืืื ืืืืืจ ืืงืคืืื, ืืื ืืืื ืืฉืืฉ ืืกืืก ืืืื ืืฉืืืจื ืขื ืืืืืช ืงืื Python ืขื ืคื ื ืชืืงื ืื ืืกื ืืืืืื.
ืืื ืคืืืชืื ืืืืคืืื ืืืื ืื ื
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| ืคืืืืง8 | ืงื ืืฉืงื ืืืืืจ; ืืขืจืืช ืืงืืืืืืช ืืืืื ืฉื ืชืืกืคืื; ืืฉืืืืฉ ื ืจืื ืืฆืื ืืจืืช CI | ื ืืชืื ืคืืืช ืืขืืืง ืืืฉืืืื ืืคืืืืื ื |
| ืจืืฃ | ืืืฆืืขืื ืืืืจืื ืืืืืื; ืืืื ืืืื ืกืืืื ืจืืื ืืื ืืข ืืื | ืืขืจืืช ืืงืืืืืืช ืืืฉื ืืืชืจ; ืคืืืช ืืื ืืืจืฆืืืช ืืืืจืืช ืืกืืืืืช ืืจืืื ืืืช ืืกืืืืืช |
| ืคืืืื ื | ื ืืชืื ืกืืื ืขืืืง; ืืืืืืช ืชืฆืืจื ื ืจืืืืช | ืืืฆืืข ืืืื ืืืชืจ ืืืกืืกื ืงืื ืืืืืื ืืืื |
| ืคืืคืืงืก | ืืืืื ืคืฉืื ืืืืืจ ืฉื ืฉืืืืืช ื ืคืืฆืืช ืฉื ืคืืืชืื | ืืืกืื ืืืืื ืืืืื ืืืชืืื ืืืฉืืช |
| ืฉืืึนืึตื | ืืื ืืืืฉื ืืืืงื ืืืืื ืขืืืจ ืืืฉืืื Python | ืืชืืงื ืืขืืงืจ ืืืืืื ืืื ืืืืืืช ืงืื ืืืืืช |
| ืึฐืึทืคึตึผืฉื | ืืฉืื ืืกืคืจ ืืื ื ืืชืื ืฉื Python ืืชืื ืชืืืื ืขืืืื ืืื | ืืืจืืืืช ืชืฆืืจื ืืกืืืืืช ืืืืืืช |
ืืืื ืืื ืืืืืฉืื ืืช ืืืืื ืืืฉืืช ื-linting ืืชืื ืืืขืจืืช ืืืงืืืืืืช ืฉื ืคืืืชืื. ืืืงื ืืชืืงืืืช ืืืืฆืืขืื ืืืคืฉืืืช, ืืขืื ืฉืืืจืืช ืืืืืฉืืช ื ืืชืื ืืขืืืง ืืืชืจ ืื ืืืืงืืช ืืืืื ืืืืืืืช.
ืกืืืื: ืืืืจืช ืืืฉืช ื-linting ืื ืืื ื ืฉื Python
ืืื ืคืืืชืื ืืกืื linting ืืฉืชื ืื ืืืืื ืจืื ืืขืืืง ืื ืืชืื ืฉืืื, ืืืืคืืื ื ืืืืฆืืขืื ืืืืืืื ืืืื ืืืจืฆืื ืฉืืื. ืืืื ืงืืื ืืื Flake8 ื-Ruff ื ืืชื ืื ืขืืืคืืช ืืืืืจืืช ืืืคืฉืืืช, ืื ืฉืืืคื ืืืชื ืืืชืืืืื ืืืืืื ืืฆืื ืืจืืช CI ืืืืจืื ืืืืืืจื ืงืื ืงืื ืื ืืืชืจ. ืื ืชืืื ืืงืืคืื ืืืชืจ ืืื Pylint ืืกืคืงืื ืชืืื ืืช ืขืืืงืืช ืืืชืจ ืืืื ืืืืืช ืืงืื ืืชืืืืงื, ืื ืขืฉืืืื ืืืจืืฉ ืชืฆืืจื ืืืืจื ืืื ืืืืื ืข ืืืืืจืืช ืืืืืืืช ืืืกืืกื ืงืื ืืืืืื ืื ืืืืจ ืงืืื.
ืฆืืืชื ืื ืืกื ืืจืืื ืืื ืืฉืืืื ืืขืืชืื ืงืจืืืืช ืืกืคืจ ืืืื ืืื ืืืื ืืื ืคืฉืจืืช ืืื. ืืืืืื, ืฉืจืช ืืืืจ ืขืฉืื ืืืืืฃ ืืืื ืขืืฆืื ืืืืื ืืคืืชืื ืืขืื ืฉืืื ื ืืชืื ืขืืืงืื ืืืชืจ ืคืืขืืื ืืฆืื ืืจืืช CI ืืชืืืื ืื ืื ืืืจืืืืช ืขืืืื ืฉื ืืืฉื. ืืกืืจืืืื ืจื-ืฉืืืชืืช ืื ืืกืืืขืช ืืืจืืื ืื ืืฉืืืจ ืขื ืืฉืืขืช ืงืืืื ืืืื ืืืื ืืช ืฆืื ืืจืืช ืืืกืคืงื.
ืืกืืคื ืฉื ืืืจ, ืืกืืจืืืืืช ื-linting ืืืขืืื ืืืืชืจ ืฉื Python ืชืืืื ืืงื ื ืืืื ืฉื ืืกืืก ืืงืื, ืืืืื ืฆืืืชื ืืคืืชืื ืืืืืืืช ืืชืคืขืื ืฉื ืกืืืืช ืืืกืคืงื. ืืืฉืจ ืืืืฉืืื ืืฆืืจื ืืืฉืืืช, ืืื linting ืืืืืื ืืืื ืชืคืงืื ืืจืืื ืืชืืืืงืช ืืขืจืืืช Python ืืืื ืืช ืื ืืชื ืืช ืืชืืืืงื ืขื ืคื ื ืชืืงื ืชืืื ื ืืจืืื ืืื ืืืจืืืื.
ืคืชืจืื ืืช Java Linting ืืืืืคืช ืืืืืช ืงืื ืืจืืื ื
ื'ืืืื ื ืืชืจื ืืืช ืืฉืคืืช ืืชืื ืืช ืื ืคืืฆืืช ืืืืชืจ ืืกืืืืืช ืืจืืื ืืืช, ืืืืืื ืขืืืจ ืืขืจืืืช backend, ืคืืืคืืจืืืช ืคืื ื ืกืืืช, ืชืฉืชืืืช ืืืงืืืื ืืงืฆืื ืืืืฉืืืื ืืจืืื ืืื ืืงื ื ืืืื ืืืื. ืืืืืื ืฉืืขืจืืืช ื'ืืืื ืืชืคืชืืืช ืืขืชืื ืงืจืืืืช ืืืืจื ืืื ืจื ืืืขืจืืืช ืฆืืืชื ืคืืชืื ืจืืื, ืฉืืืจื ืขื ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื ืืืคืืช ืืืื ืืช ืืชืืืืงื ืืจืืืช ืืืื ืืืฆืืืืช ืชืคืขืืืืช.
ืืื ืืฆืืจืช ืงืื (Linting) ืืกืืืขืื ืืืชืืืื ืขื ืืชืืจ ืื ืขื ืืื ืืืืื ืืืืืืื ืฉื ืืคืจืืช ืฉื ืืืกืืืืช ืงืืืื, ืืขืืืช ืชืื ืื ืืื ื ืืืงืืจืืช ืคืืื ืฆืืืืืื ืืคืืืื. ืืืฉืจ ืื ืืฉืืืืื ืืฆืื ืืจืืช CI/CD, ืืืื ืืื ืคืืขืืื ืืฉืขืจื ืืืืืช ืืืืืืืืื ืืืืืคืื ืกืื ืืจืืื ืฉื ืงืืืื ืืคื ื ืฉืฉืื ืืื ืงืื ืืืืืืื ืืืืืจืื ืืฉืืชืคืื.
ืฆ'ืงืกืืืื
ืืชืจ ืจืฉืื: ืฆ'ืงืกืืืื
Checkstyle ืืื ืืื ืืืื ื-linting ืืืืชืืงืื ืืืืชืจ ืืืขืจืืช ืืืงืืืืืืช ืฉื ื'ืืืื ืืืื ืขืืืื ืืืืืฅ ืืืืคื ื ืจืื ืืงืจื ืฆืืืชื ืคืืชืื ืืจืืื ืืื. ืืืื ืืชืืงื ืืขืืงืจ ืืืืืคืช ืกืื ืืจืืื ืฉื ืงืืืื ืืขืงืืืืช ืืื ืืช ืืชืื ืืกืืกื ืงืื ืฉื ื'ืืืื. ืขื ืืื ื ืืชืื ืงืื ืืงืืจ ืืื ืืขืจืื ืืืืื ื ืืชื ืื ืืืืืจื, Checkstyle ืืืืื ืฉืืงืื ืืืง ืืืืกืืืืช ืขืืฆืื, ืืืื ืืชื ืฉืืืช ืืื ืืืืช ืืืจืืืืืืช ืืืืืจืืช.
ืื ืืืื ืืืื ื ืืชืื ืกืืืืื ืจืืื ืืืืจืืช ืืืืืืช ืืื ืกืื ืืืืืช ืคืืืื ืืืื ืจืืฆื, Checkstyle ืืชืืงื ืืืืืืื ืฉื ืชืืืืงื ืืงืจืืืืช ืฉื ืืืืืช ืืงืื. ืืชืืงืืืช ืื ืืืคืืช ืืืชื ืืืขืื ืืืืืื ืืืจืืื ื ืื ืืกื ืืืืืื ืฉืืื ืืงืื ืืืื ืืืืฉืืจ ืืืื ืืขืงืื ืืื ืฆืืืชืื ืืืืืจื ืืืืืจื ืชืืืืงื ืืจืืืื.
ืืืงืฃ ื ืืชืื ืืงืื
Checkstyle ืืขืจืื ืงืืฆื ืืงืืจ ืฉื Java ืืื ืงืืืฆื ืฉื ืืืืื ืืืืืจืื ืืจืืฉ ืื ืืืชืืืื ืืืฉืืช ืืืืืืจืื ื ืืืื ืงืืืื ืืงืืืืื.
ืงืืืืจืืืช ืืืืื ืืืคืืื ืืืช ืืืืืืช:
- ืืืกืืืืช ืืชื ืฉืืืช ืืืืืงืืช, ืืชืืืืช ืืืฉืชื ืื
- ืขืืฆืื ืงืื ืืืืื ืืืื
- ืืืื ืช ืืืืื โโืืืืืืช ืืื ื ืืืืื
- ืืืืคืช ืชืงื ื ืชืืขืื
- ืืืืื ืืืืงื ืงืื ืืืจืืืื ืืื ืื ืืขืื ืืื ื ืืจืืข
ืืืืืื ืฉื ืืชื ืืืชืืื ืืืฉืืช ืืช ืืืืืื ืืืื ืืืืคื ื ืจืื, ืืจืืื ืื ืืืืืื ืืืชืืื ืืช Checkstyle ืืชืงื ื ืคืืชืื ืคื ืืืืื ืื ืืื ืืืืช ืืชืขืฉืืื ืืืื ืืืจืื ืืกืื ืื ืฉื ืืืื ื'ืืืื.
ืืื ืืืจืฆืื ืฉื ืืจืืืช ืขืืืื
Checkstyle ืืฉืชืื ืืงืืืช ืขื ืืจืืืืช ืขืืืื ืืืืจื ืืืช ืฉื ืคืืชืื ืืืขืจืืืช ืื ืืื. ื ืืชื ืืืคืขืื ืืช ืืืื ืืจื ืืืฉืงื ืฉืืจืช ืคืงืืื, ืชืืกืคื ืื ืืื ืื ืืื ืืืจืฆืืืช IDE.
ืืคืืกื ืคืจืืกื ื ืคืืฆืื ืืืจืืื ืื ืืืืืื:
- ืืจืฆืช Checkstyle ืืืืื ืชืืืืื ืื ืืื ืฉื Maven ืื Gradle
- ืฉืืืื ืืืืงืืช ืกืืืื ืืฉืืื ืฆืื ืืจ CI
- ืืชื ืืฉืื ืืืื ืืืช ืืชืื ืกืืืืืช ืคืืชืื
- ืืืืคืช ืกืื ืืจืืื ืฉื ืงืืืื ืืืืื ืืืืืช ืืงืฉืืช ืืฉืืื
ืืืืฉืืช ืืื ืืืจืฆืื ืื ืืืคืฉืจืช ืืฆืืืชื ืื ืืกืช ืืคืืืคืืจืื ืืืืืื ืืืืคื ืขืงืืืช ืฉื ืืขืืืช ืืื ืืฉืืฉ ืืจืืืืช ืขืืืื ืงืืืืืช ืฉื ืืคืชืืื.
ืืืืฉืืช ืชืฆืืจื
ืืืช ืืชืืื ืืช ืืืฉืืืืช ืืืืชืจ ืฉื Checkstyle ืืื ืื ืืข ืืืืืื ืื ืืชื ืืืืืจื. ืฆืืืชืื ืืืืืื ืืืืืืจ ืงืืืฆืืช ืืืืื ืืืืฆืขืืช ืงืืฆื ืชืฆืืจื ืฉื XML ืืงืืืขืื ืืืฆื ืืืื ืืขืจืื ืืช ืงืื ืืืงืืจ.
ืืืืืืช ืืชืฆืืจื ืืืืืืช:
- ืืคืขืื ืื ืืฉืืชื ืฉื ืงืืืืจืืืช ืืืืื ืกืคืฆืืคืืืช
- ืืชืืืช ืจืืืช ืืืืจื ืืืคืจืืช ืืืืื
- ืืืืจืช ืืืกืืืืช ืืชื ืฉืืืช ืืืชืืืืช ืืืฉืืช
- ืืฆืืจืช ืืืื ืืืช ืงืืืื ืกืคืฆืืคืืช ืืืจืืื
ืืคืฉืจืืืืช ืชืฆืืจื ืืื ืืืคืฉืจืืช ืืืจืืื ืื ืืืื ืืก ืืืืจืื ืืขืืืช ืืืฉื (linting) ืืืขืจืืืช ืืืืจ ืงืืื ืืืื ืืืขืืืก ืขื ืฆืืืชื ืคืืชืื ืืืืืจืืช ืืืืืืืช.
ืฉืืงืืืื ืชืคืขืืืืื
ืืขืื ืฉ-Checkstyle ืืกืคืง ืืืืคื ืืืื ื ืฉื ืืืกืืืืช ืงืืืื, ืืื ืืื ื ืืืืขื ืืืฆืข ื ืืชืื ืกืืื ืืขืืืง ืฉื ืืชื ืืืืช ืืชืืื ืืช. ืืืื ืืชืืงื ืืืืืืื ืกืื ืื ืืื ืืืื ืืื ืฉื ืงืื ืืื ืืฉืืืืืช ืืืืืืช ืืืื ืจืืฆื. ืืชืืฆืื ืืื, ืืจืืื ืื ืจืืื ืืฉืืืื ืืช Checkstyle ืขื ืืื ื ืืชืื ืกืืื ืืืจืื ืืืขืจืืืื ืืืฆืืขืื, ืืืืื ืื ืืฉืฉืืช ืืืื ืืช.
ืืคืืขื, Checkstyle ืืชืคืงื ืืฆืืจื ืืืืื ืืืืชืจ ืืืกืืก ืืชืืื ืงืืืื ืืืืืจื Java. ืืืฉืจ ืืื ื ืคืจืก ืืฆื ืืื ื ืืชืื ืืฉืืืืื, ืืื ืืกืืืข ืืฉืืืจ ืขื ืงืจืืืืช, ืขืงืืืืช ืืชืืืืงื ืืชืื ืืขืจืืืช ืืงืืืืืืืช ืืืืืืช ืฉื ืื ืืกืช Java.
ืืื ืืืืืจ ืืืืคืืื ืื'ืืืื
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| PMD | ืืืื ืจืืืืช ืงืื ืืืืืื ืคืืื ืฆืืืืืื; ืกืคืจืืืช ืืืืื ืืืงื | ืืืจืืืืช ืชืฆืืจื ืืคืจืืืงืืื ืืืืืื |
| SpotBugs | ืืชืืงื ืืืืืื ืคืืืื ืคืืื ืฆืืืืืื ืืืื ืจืืฆื | ืคืืืช ืืืฉ ืขื ืืืืคืช ืกืื ืื ืงืืืื |
| ืฉืืืื ื ืืื | ืืืื ืืขืืืืช ืชืื ืืช ืขืืื ืืช ืืืืื ืงืืืคืืืฆืื | ืืืจืฉ ืืื ืืืจืฆืื ืขื ืกืืืืืช ืื ืืื ืกืคืฆืืคืืืช |
| ืกืื ืืจืืื ื | ืืฉืื ืืืื ืืืช ืืชืื IDEs | ืคืื ืงืฆืืื ืืืืช ืกืืืื ืขืฆืืืืช ืืืืืืช |
| Semgrep | ืื ืืข ืืืืื ืืืืฉ ืืืกืืื ืืืืืช ืืคืืกืื ืืืจืืืื | ืืืจืฉ ืืืืืืืช ืืคืืชืื ืืืืื |
ื ืงืืืืช ืืคืชื ืืืกืืจืืืืืช ืืืืืฉ ืื'ืืืื
ืืื ืืฆืืจืช ืงืฉืจืื (linting) ืื'ืืืื ืืฉืชื ืื ืืืืงืื ืืืขืืืง ืื ืืชืื ืฉืืื. ืืืื ืืื Checkstyle ืืชืืงืืื ืืืืืคืช ืกืื ืืจืืื ืฉื ืงืืืื ืืืืืืืช ืงืจืืืืช, ืื ืฉืืืคื ืืืชื ืืขืื ืขืจื ืืฉืืืจื ืขื ืขืงืืืืช ืืื ืฆืืืชื ืคืืชืื ืืืืืื. ืืืื ืืืจืื ืืืืืฉืื ืืืืื ืคืืืื ืื ืืืืคืช ืืืืื ืืืจืืืืืื, ืืฉืจ ืขืฉืืืื ืืืฉืืื ืืืฉืืช ืืฆืืจืช ืงืฉืจืื ืืืชืืงืืืช ืืกืื ืื.
ืขืืืจ ืืจืืื ื ืื ืืกื ืืจืืื ืืื, ืืืกืืจืืืื ืืืขืืื ืืืืชืจ ืืจืืื ืืขืชืื ืงืจืืืืช ืืฉืืืื ืฉื ืืกืคืจ ืืื ื ืืชืื. ืืื ืืจืื ืืืืืื ื ืกืื ืื ืฉืืืจืื ืขื ืขืงืืืืช ืืื ืืืืจืื ืฉืื ืื, ืืขืื ืฉืืื ื ืืชืื ืขืืืงืื ืืืชืจ ืืืืื ืคืืืื, ืืขืืืช ืืืฆืืขืื ืื ืืคืจืืช ืืืจืืืืืืช. ืืืฉื ืจื-ืฉืืืชืืช ืื ืืกืืืขืช ืืืืืื ืฉืืกืืกื ืงืื ืฉื Java ืืืฉืืจื ืงืจืืืื ืืืืื ืื ืืืื ืืื ืฉืืืขืจืืืช ืืชืคืชืืืช ืขื ืืืื.
ืืื ืืืืืจ ื-C# ื-.NET ืื ืืืื ืงืื ืืจืืื ื
C# ืืืืขืจืืช ืืืงืืืืืืช ืืจืืื ืืืชืจ ืฉื .NET ื ืืฆืืืช ืืฉืืืืฉ ื ืจืื ืืคืืชืื ืชืืื ื ืืจืืื ืืช, ืืืืืื ืืืืืจืื ืืื ืคืื ื ืกืื, ืฉืืจืืชื ืืจืืืืช ืืคืืืคืืจืืืช SaaS ืืจืืื ืืืช. ืืกืืกื ืงืื ืืืืืื ืฉื .NET ืืฉืชืจืขืื ืืขืชืื ืงืจืืืืช ืขื ืคื ื ืฉืืจืืชืื, ืกืคืจืืืช ืืืืืืืื ืืืืจ ืงืืื ืจืืื ืืืชืคืชืืื ืืืืจื ืชืงืืคืืช ืืจืืืืช. ืฉืืืจื ืขื ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื ืืืขืจืืืช ืืื ืืืคืืช ืืืื ืืช ืืืืืืช ืชืืืืงื ืืืืคืืชืช ืกืืืื ืื ืชืคืขืืืืื.
ืืื Linting ืืืขืจืืช ืืืงืืืืืืช ืฉื .NET ืืกืืืขืื ืืืืืคืช ืืืกืืืืช ืกืื ืื, ืืืืืื ืืขืืืืช ืชืื ืืช ืคืืื ืฆืืืืืืช ืืืืืฉ ืขื ืืฉืฉืืช ืื ืืืข ืืชืืืืงื ืืคื ื ืืืืื ืืงืื ืืืืืจืื ืืฉืืชืคืื. ืืืฉืจ ืื ืืฉืืืืื ืืฆืื ืืจืืช ืื ืืื ืืกืืืืืช ืคืืชืื, ืืืื ืืื ืืกืคืงืื ืืฉืื ืืืืืืื ืืชืืื ืืฉืืืืช ืื ืืกืืืช ืขืงืืืืช ืืื ืฆืืืชืื.
ืื ืชืื StyleCop
ืืชืจ ืจืฉืื: ืื ืชืื StyleCop
StyleCop Analyzers ืืื ืืื ืืคืชืจืื ืืช ื-linting ืื ืคืืฆืื ืืืืชืจ ืืืขืจืืช ืืืงืืืืืืช ืฉื C#. ืืืื, ืฉื ืื ื ืขื ืืื ืคืืืคืืจืืช ืืืืืจ ืฉื Roslyn, ืืืฆืข ื ืืชืื ืกืืื ืฉื ืงืื C# ืืืขืจืื ืืืชื ืืื ืกื ืืงืืฃ ืฉื ืืืื ืกืื ืื ืืขืืฆืื. ืืืืืื ืฉืืื ืืฉืชืื ืืฉืืจืืช ืขื ืชืฉืชืืช ืืืืืจ ืฉื .NET, StyleCop ืืืื ืื ืชื ืงืื ืืืืื ืืงืืืคืืืฆืื ืืืกืคืง ืืฉืื ืืืืื ืืชืื ืกืืืืืช ืคืืชืื ืืฆืื ืืจืืช CI.
ืืืืงื ืืขืืงืจื ืฉื ืืืื ืืื ืืืืคืช ืกืื ืืจืืื ืฉื ืงืืืื ืืฉืืคืืจ ืงืจืืืืช ืืงืื. ืขืืืจ ืฆืืืชื ืื ืืกื ืืืืืื, ืขืงืืืืช ืื ืืืคืืช ืืฉืืื ืืืืืื ืืื ืฉืืคืจืืืงืืื ืืืืื ืืืืืืื ืชืืจืืื ืืืกืคืจ ืืืืงืืช ืื ืฉืืชืคืื ืืืฆืื ืืื.
ืชืืืื ื ืืชืื ืืจืืืืื
StyleCop Analyzers ืืขืจืื ืืช ืงืื ืืืงืืจ ืืคื ืืืืื ืงืืืืจืืืช ืฉื ืืืืื ืืืืืืจืืช ืฉืืืืช ืงืืืื ืืืืืฆืืช ืขืืืจ ืคืจืืืงืืื ื-C#.
ืงืืืฆืืช ืืืืื ื ืคืืฆืืช ืืืืืืช:
- ืืืกืืืืช ืืชื ืฉืืืช ืืืืืงืืช, ืืชืืืืช ืืืฉืชื ืื
- ืืืื ืืจืืื ืงืืฆืื ืืืื ื ืงืื
- ืืจืืฉืืช ืชืืขืื ืขืืืจ ืืืฉืงื API ืฆืืืืจืืื
- ืืืกืืืืช ืขืืฆืื ืืจืืืืื ืืื ืื
- ืกืืจ ืฉืืืืฉ ืืื ืืืืช ืืืืจื ืืืืงื
ืืืืื ืืื ืขืืืจืื ืืืืืื ืฉืงืื ืฉื ืืชื ืขื ืืื ืฆืืืชืื ืฉืื ืื ืืขืืื ืืกืื ืื ืขืงืื, ืื ืฉืืคืืืช ืืืืืืื ืืืืื ืกืงืืจืืช ืงืื ืืืคืฉื ืชืืืืงื ืืจืืืช ืืืื.
ืฉืืืื ืืชืื ืืจืืืืช ืขืืืื ืฉื ืคืืชืื
ืืืืืื ืฉ-StyleCop ืื ืื ืขื ืคืืืคืืจืืช ืืืืืจ ืฉื Roslyn, ืืื ืืฉืชืื ืืฆืืจื ืืืงื ืขื ืืจืืืืช ืขืืืื ืืืืจื ืืืช ืฉื ืคืืชืื .NET.
ืืคืืกื ืคืจืืกื ืืืคืืื ืืื ืืืจืืื ืื ืืืืืื:
- ืืจืฆืช StyleCop ืืืืื ืชืืืืื ืื ืืื ืืชืื ืคืจืืืงืืื ืฉื .NET
- ืฉืืืื ืืืืงืืช ืกืืืื ืืฆืื ืืจืืช CI/CD
- ืืฆืืช ืชืืฆืืืช ื ืืชืื ืืฉืืจืืช ื-Visual Studio ืื-IDEs ืืืจืื
- ืืืืคืช ืืืื ืืืช ืกืื ืื ืืืืฆืขืืช ืืืืืช ืืงืฉืืช ืืฉืืื
ืืื ืืืจืฆืื ืืืืงื ืื ืืืคืฉืจืช ืืืคืชืืื ืืืืืช ืืขืืืช ืืืงืื ืืืืืืจ ืืคืืชืื ืืืงืื ืืืืืช ืืืชื ืืืืืจ ืืืชืจ ืืืืื ืืืฆืืข ืืฆืื ืืจ.
ืืืืจืช ืืืืื ืืืชืืื ืืืฉืืช
ื ืืชื ืืืืืืจ ืืช ืืืื StyleCop ืืจื ืงืืฆื ืชืฆืืจืช ืืคืจืืืงื, ืื ืฉืืืคืฉืจ ืืฆืืืชืื ืืืชืืื ืืช ืืืื ืืชืงื ื ืืงืืืื ืฉืืื.
ืืืืืืช ืชืฆืืจื ืืืืืืช ืืืจื ืืื:
- ืืคืขืื ืื ืืฉืืชื ืฉื ืืืืื ืกืคืฆืืคืืื
- ืืชืืืช ืจืืืช ืืืืจื ืฉื ืืคืจืืช
- ืืืืจืช ืืืกืืืืช ืืชื ืฉืืืช ืืืชืืืืช ืืืฉืืช
- ืืชื ืืคืฉืจืืช ืืืจืืืื ืขืืืจ ืจืืืืื ืืืืจ ืงืืื
ืืคืฉืจืืืืช ืืื ืืืคืฉืจืืช ืืืจืืื ืื ืืืื ืืก ื-linting ืืืืจืื, ืืืืืื ืืืฉืจ ืขืืืืื ืขื ืืกืืกื ืงืื ืืืืจ ืงืืื ืฉืขืฉืืืื ืืชืืืื ืื ืืขืืื ืืื ืืืืช ืกืื ืื ืืืืืจืืช.
ืฉืืงืืืื ืชืคืขืืืืื
ืืขืื ืฉ-StyleCop ืืขืื ืืืื ืืืืืคืช ืขืงืืืืช ืืกืื ืื ืงืื, ืืื ืืื ื ืื ืกื ืืืืืช ืืช ืื ืืงืืืืจืืืช ืฉื ืคืืื ืืื ืจืืฆื ืื ืืขืืืช ืืจืืืืงืืื ืืืช. ืืชืืฆืื ืืื, ืฆืืืชืื ืืจืืื ืืื ืจืืื ืืฉืืืื ืืืชื ืขื ืืื ื ืืชืื ื ืืกืคืื ืืืื ืกืืจืงื ืืืืื ืื ืคืืืคืืจืืืช ื ืืชืื ืกืืื ืขืืืงืืช ืืืชืจ.
ืืืจืืช ืืืืื ืื, StyleCop ื ืืชืจ ืืกืืก ืืืื ืืฉืืืจื ืขื ืฉืืืืช ืงืืืื ืขืงืืืืช ืืืืืจื C# ืืืืืื.
ืืื ืืืืืฉ ืืืืคืืื ื-C#
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| ืื ืชืื ืจืืืืื | ืืื ืืืจืฆืื ืขืืืงื ืขื ืืืืจ .NET; ืืืืืืช ื ืืชืื ืขืืฆืืชืืืช | ืืืชืื ืฉืชืฆืืจื ืชืืจืืฉ ืืืืืืืช |
| ืงืื ืืืืงื ืืืืฉ | ื ืืชืื ืกืืื ืืชืงืื ืืชืืื ืืช ืคืจืืืืงืืืืืืช ืืืคืชืืื | ืืจืืฉืืช ืจืืฉืื ืืกืืจื |
| SonarLint ืขืืืจ .NET | ืืืืื ืืขืืืช ืืืื ืืืช ืืชืื ืกืืืืืช IDE | ืืืจืฉ ืืื ืืืจืฆืื ืขื ืืขืจืืช ืืงืืืืืืช ืจืืื ืืืชืจ ืฉื ืกืื ืืจ |
| N ืชืืื | ื ืืชืื ืืจืืืืงืืื ื ืืืง ืืืืืื ืฉื ืชืืืช | ืืืืงืื ืืฉืชืจืข ืืขืืจ ืืคืื ืื ืกืืืื; ืขืงืืืช ืืืืื ืชืืืื ืืืชืจ |
| Semgrep | ืื ืืข ืืืืื ืืืืฉ ืืชืืื ืืฉืคืืช ืืจืืืืช | ื ืืจืฉ ืคืืชืื ืืืืื ืืืชืืืื ืืืฉืืช ืืงืืืช ืืชืืฆืืืช ืืืืืืช ืืืืชืจ |
ืกืืืื ืืกืืจืืืืืช ืืื ืืื ื ื-C#
ืืื ืืฆืืจืช ืืงืกืืื ื-C# ืฉืื ืื ืื ืืื ืืืืงืื ืืื ืืืื ืืืืืืื ืืืื ืืืจืฆืื ืฉืืื. StyleCop ืืืืืฉ ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื ืืงืจืืืืช, ืืขืื ืฉืืืื ืืืจืื ืืืขืจืืช ืืืงืืืืืืช ืืกืคืงืื ื ืืชืื ืกืืื ืขืืืง ืืืชืจ ืื ืชืืื ืืช ืืจืืืืงืืื ืืืช. ืืกืืืืืช ืคืืชืื ืืจืืื ืืืช, ืฆืืืชืื ืืฉืืืื ืืขืชืื ืงืจืืืืช ืืกืคืจ ืืืื ืืื ืืืื ืืื ืืืืคืช ืกืื ืื, ืืืืื ืคืืืื ืื ืืชืื ืืจืืช ืืืขืจืืช.
ืขื ืืื ืฉืืืื linting ืืฆืื ืืจืืช ืื ืืื ืืกืืืืืช ืคืืชืื, ืืจืืื ืื ืืืืืื ืืฉืืืจ ืขื ืฉืืืืช ืงืืืื ืขืงืืืืช ืชืื ืืคืืชืช ืืกืืืจืืช ืืืื ืกืช ืคืืืื ืืืกืืกื ืงืื ืืืืืื ืฉื .NET.
ืืื ืืืืืฉ ืฉื Verilog ืืืงืจืช ืืืืืช ืขืืฆืื ืืืืจื
ืขืืืื ืฉืืื Verilog ืคืืขื ืชืืช ืืืืืฆืื ืฉืื ืื ืืฉืคืืช ืขืืืื ืฉืืื ืชืืื ื, ืืฉืื ืฉืฉืคืืช ืชืืืืจ ืืืืจื ืืงืืืืืช ืืืื ื ืืื ืืช ืฉืืืคืืช ืืืืืืงื ืคืืืืช ืืืืจ ืืกืื ืชืื. ืกืืืืช ืกืื ืื ืืืช ืงืื ืืช ืืืืืืช ืืืชืืื ืืื-ืืชืืืืช ืืกืืืืืฆืื, ืขืืืืืช ืืกืื ืชืื, ืื ืืืคืืก ืืืชื ืืืืช ืชืืื ืฉืขืื ืฉืงืฉื ืืืืื ืืืืจ ืฉืืืืื ื-SoC ืืืื ืืืชืจ. ืืชืืื ืืืช ืืืืจื ืืจืืื ืืืช, ืขืืืื ืฉืืื ืืืืคื ืืืงืจื ืืืงืืืช ืืืคืืืชื ืืช ืกืืืื ืืืื ืืืจืฆืื ืืื ืืืืงื IP, ืกืืืืืช ืืืืืช ืืืจืืืืช ืืืฉืื ืืืืจื ืืืจื.
ืืื ืืืืืฉ (Linting) ืืกืืืืืช Verilog ืืชืืงืืื ืื ืืื ืืช ืืื ืืช, ืกืื ืชืืืืช, ืชืืืืืช ืืื ืืืืช ืงืืืื ืืชืื ืืืช ืฉืืืจื ืืื ืืืจืืื ืืืจืืืืช ืคืื ืงืฆืืื ืืืืช. ืืืืืฉ ืืขืื ืืืื ืืืืืช ืชืืื ืืืชืืืืืืืืืช ืืขืืฆืื ืฉื ืืืจืืื, ืืืื ืืืกืืืืช ืฉืขืื, ืืกืืจืืืืืช ืืืคืืก, ืืืื ืืชื ืฉืืืช ืืืืืืืืช ืืื ืืืื ืช RTL ืืืื ืืื ื ืืืืืช.
ืืฆื ืืื ืฉื ืืืืช
ืืชืจ ืจืฉืื: ืืืื ืช ืื ืืื
Verilator ื ืืฆื ืืฉืืืืฉ ื ืจืื ืืฆืืืชื ืืืืจื ืืจืืื ืืื ืืฉืจืฉืจืช ืืืื ืืืืจื ืฉื SystemVerilog ื-Verilog ืืืืืืช ืืืืืืช linting ืืฆื ืืืฆืช ืงืืืคืืืฆืื ืืกืืืืืฆืื. ืืขืื ืฉ-Verilator ื ืืืจ ืืขืชืื ืงืจืืืืช ืืกืืืืืฆืื ืืขืืช ืืืฆืืขืื ืืืืืื ืืืจืืืืช ืขืืืื ืฉื ืืืืืช, ืืฆื ื-lint ืฉืื ืืฉืืฉ ืื ืืฉืืืช linting ืคืจืืืืืช ืืืืืื ืืขืืืช ืืื ืืืช, ืืื ืื ืืคืืงืคืงืื ืืืคืืกื ืงืืืื ืืืืืืจืื ืืช ืืกืืืื ืืืื ืืืจืฆืื ืืืืจื ืืืจื.
ืืืืืช ื-linting ืฉื ืืืื ืืขืจืืื ืืช RTL, ืืืืชืื ืืชืฆืืจื, ืืช ืืื ื SystemVerilog ืขืืืจ ืืืืื ืืืืจืืช ืืืฉืงืคืืช ืกืื ืืช ืชืื ืื ื ืคืืฆืืช. ืกืื ืืช ืืื ืืจืื ืืื ื "ืฉืืืืืช ืชืืืืจ" ืืื ืืคืืกืื ืฉืืืืืื ืืืืืื ืืืืืจื ืื ืืืืื ืช, ืืชื ืืืืช ืกืืืืืฆืื ืืืชื ืฆืคืืื ืื ืืคืชืขืืช ืกืื ืชืื ืืืฉืจ ืื ืืฉืืืืืช ืขื IP ืืืจ.
ืืืคืืื ื ื ืืชืื ืืจืืืื ืืืื ื-RTL ืืจืืื ื
ืืืืงืืช ืกืืืื ืฉื ืืจืืืืืจืื ืืกืคืงืืช ืืขืืชืื ืงืจืืืืช ืืืืื ืืจืืช ืืืืช ืืืืื ื, ืฉืืืืฉื ืืชืืื ืืืช ืืืืจื ืืืืืืช:
- ืืืืื ืืืชืืช ืฉืืื ื ืืฉืืืืฉ ืืืืืืงื ืืืชื ืืืฉืืช
- ืืืืจืืช ืืืื ืื ืืชืืื ืืจืืื ืืกืืืื ื ืงืืฆืืฅ
- ืืคืืกื ืืกืงื ืืจืืืืื ืฉื ืชืคืก
- ืืืืืืช ืงืืืืื ืฆืื ืื ืชืืื ืืฉืื ืื ืืืืื ืื
- ืืืืจืื ืื ืืืืชืืืื ืืืชื ืืืืช ืืืคืืก ืืขืืจืคืืช
- ืฉืืืืฉ ืืฉืื ืืืกืืื ืืืืฉืืื ืฉืืื ื ืืกืืื
- ืืคืืกื ืืืกืื ืื ืขืงืืืื ืฉื ืืฆืืจืืช ืืงืจื
ืืกืืืืืช ืืจืืื ืืืช, ืืืฆืืื ืืื ืืืจื ืืื ืื ืืชืืื ืืืขืจืืืช CI ืืื ืืื ืืข ื-RTL ืื ืืฆืื ืืืืื ืก ืืขื ืคื ืืื ืืืจืฆืื ืืฉืืชืคืื. ืืืืืื ืฉืคืจืืืงืืื ืฉื Verilog ืืืืืื ืืืืื ืกืคืงื IP ืืจืืืื ืืฆืืืชืื ืคื ืืืืื, ืืืืื ืืืงืื ืฉื ืืคืืกืื ืืื ืืคืืืช ืืช ืืกืืืจืืช ืืืฉืืื ืืฉืืืื ืืืืืจืื ืฉื ืืื ืืืจืฆืื.
ืฉืืืื ืืฆืื ืืจืืช ืื ืืื ืืืืืืช
ืืฆื lint ืฉื Verilator ืืืืฆืข ืืืจื ืืื ืืืืง ืืชืืืื ืขืืืื ืฉื ืืื ืืืจืฆืื ืจืฆืืคื ืืฉืจ ืืืืช ืฉืื ืืืื ื-RTL ืืคื ื ืฉืืชืืืืืช ืจืืจืกืืืช ืกืืืืืฆืื ืื ืืืืงืืช ืกืื ืชืื.
ืืคืืกื ืฉืืืืฉ ื ืคืืฆืื ืืืืืื:
- ืืคืขืืช lint ืืืืื ืืืืืช ืืงืฉืช pull ืขืืืจ ืืืืจื RTL
- ืืืืคืช ืกืคื ืืืืืฉ ืขืืืจ ืืืืจืืช ืืืกืืืืืช ื"ืืืื ืืชืงื"
- ืืชืืืืกืืช ืืกืืื ืืืืจืืช ื ืืืจืื ืืื ืฉืื ืืืื ืืืื ื
- ืฉืืืจื ืขื ืงืืื ืืกืืก ืฉื ืืืืื ืขืืืจ ืืืืงื IP ืืืืจ ืงืืื ืืืืื ื ืืงืื ืืืืจื
ืืืื ืื ืืืคืฉืจ ืืฆืืืชื ืืืืจื ืืืคืจืื ืืื ืืืืงืืช ืืืงืืืื ืืื ืืื ืืืื ืืืืืช ืคืื ืงืฆืืื ืื ืืื, ืื ืฉืืืคืฉืจ ืืฉืื ืืืืจ ืืืชืจ ืืฉืืื ืืืฆืืจ ืืืงืืืื.
ืืชื ืืืืช ืชืฆืืจื ืืืืืคื
ืืชื ืืืืช ื-lint ืฉื Verilator ื ืฉืืืช ืืืืฆืขืืช ืืืืื ืืงืืืืจืืืช ืืืืจื. ืืืฉืช ืชืฆืืจื ืื ืืืคืฉืจืช ืืฆืืืชืื ืืืืื ืืช ืืืืืคื ืขื ืกืื ืืืจืืช ืืชืื ืื ืืกืืืืืช ืืกืืืื.
ืชืฆืืจืืช ืืจืืื ืืืช ืืืคืืื ืืืช ืืืืืืช:
- ืืคืขืืช ืืืืจืืช ืจืืื ืืงืืฆืืจ ืืืืืจืื ืืื ืืืืืืืื
- ืืกืืืช ืืืืจืืช ืืกืงืช ืืจืื ืืฉืืืืืช ืฉืขืจ
- ืงืืืืจืืืช ืืืืจื ืืจืฉืืื ืืืื ื ืขืืืจ ืืืืงืื ืืืืจ ืงืืื ืื ืืฆืืื ืืืืืจื ืืืฆืื
- ืืืืจืช ืขืืืคืืช ืขืงืืืืช ืฉื lint ืืคืจืืืงืืื ืฉืื ืื
ืืืืืื ืฉืืกืืกื ืงืื RTL ืืืืืื ืฆืืืจืื ืืขืชืื ืงืจืืืืช ืืคืืกืื ืืืกืืืจืืื ืฉืืื ื ืชืืืืื ืืช ืชืงื ื ืืงืืืื ืื ืืืืืื, ืืืืคื ืืืืจืืช ื ืืจืฉืช ืืืจื ืืื ืืื ืืื ืืข ืขืฆืืจืช ืคืืชืื.
ืืืืืฆืื ืชืคืขืืืืื
ืืฆื lint ืฉื Verilator ืืขืื ืืืืืงื ืืื ืืช ืืืืจื, ืื ืืื ืืื ื ืืืืืฃ ืืื lint ืืกืืจืืื ืืืืืืื ืืืฉืืฉืื ืืืืืคืช ืืชืืืืืืืื ืืขืืืงื ืืืืขืจืืืช ืืืืื ืืชืงืืืืช ืืืชืืงืืืช ื-CDC. ืื ืืืื ืชืื ืื ืืืืจื, linting ืืื ืืืจื ืืื ืจื-ืฉืืืชื: ืืืืงืืช lint ืืืืจืืช ืืงืื ืคืชืื ืคืืขืืืช ืืฉืืื CI ืืืงืืืื, ืืขืื ืฉืืื ื ืืชืื ืขืืืงืื ืืืชืจ ืคืืขืืื ืืฉืขืจื ืืืืืช ืืงืจืื ืืืชืจ.
ืืชืืื ืืืช ืืืืืืช, Verilator ืืืืืฅ ืืขืชืื ืงืจืืืืช ืืฉืื ืฉืืื ืืกืคืง ืืฉืื ืืืืื ืืขืืืช ืชืคืขืืืืช ื ืืืื ืืืฉืชืื ืืงืืืช ืืฆืื ืืจืืช ืืืืืืืืื, ืื ืฉืืคืืืช ืืช ืืกืคืจ ืฉืื ืืื ื-RTL ืืื ืืฆืืืื ืืืืื ื ืืื ืืช ืฉืืืืขืื ืืืื ืืืจืฆืื.
ืืฆื ื-lint ืฉื Verilator ืืชืคืงื ืืืจื ืืื ืืฆืืจื ืืืืื ืืืืชืจ ืืืกื ื ืืื ื ืจืืฉืื ืืฆืื ืืจ ืืืืืช RTL ืฉืืืชื, ืืืกืคืง ืืืืื ืืืืจ ืฉื ืกืื ืืช ืชืื ืื ืืชืืืจืืช ืืืืื ืชืื ืืชื ืืคืฉืจืืช ืืืืืคืช ืืชืืืืืืืื ืืขืืืงื ืืืชืจ ืืฉืืื ืืืืืช ืืืืืจืื ืืืชืจ.
ืืื ืืื ืืื ื ืืืืคืืื ืฉื Verilog
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| ืืื SpyGlass | ืืืืืจ ืจืฆืืฃ (linting) ืกืื ืืจืื ืืชืขืฉืืื ืขืืืจ RTL; ืกืคืจืืืช ืืืืื ืขืืืงื ืืกืื ืชืื ืืืืื ืืช ื-CDC | ืจืืฉืื ืืกืืจื; ืชืฆืืจื ืืืจืืืช |
| ืืกื ื ืืื ื | ื ืืชืื ืกืืื ืืืง ืืชืงืื ืืช RTL ืืืืืคืช ืืชืืืืืืืื | ืขืืืช ืจืืฉืื ืืจืืื ื |
| HDLCecker | ืืฆืืจืช ืงืฉืจืื ืืงืื ืคืชืื ืขืืืจ ืคืจืืืงืืื ืฉื HDL; ืืฉืชืื ืขื ืกืืืืืช ืคืืชืื | ืืขืจืืช ืืงืืืืืืช ืงืื ื ืืืชืจ ืฉื ืืืืื |
| ืกืื ื ืืื ืืจ | ืื ืืข ื ืืชืื ืื ืืชืื ืืืืจื ื ืฉื SystemVerilog ืขื ืชืืืื ืืืงื ืืฉืคื | ืืขืจืืช ืืงืืืืืืช ืืชืคืชืืช ืืืฉืืืื ืืืืื ืืืืจืื |
| ืกืืจืืื ื | ืืชืืงืืืช ืืชืงืื ืืช ืืื ืืช ืืืืืคืช ืื ืืืืช ืงืืืื | ืืืืืฅ ืืืืื ืืืฉืืืื ืืืืื ืืกืืจืืื ืืืืืื ืืืชืจ |
ืคืจืกืคืงืืืื ืืขืฉืืช ืขื ืืกืืจืืืืืช ืืืืืฉ ืฉื Verilog
ืืื ื-linting ืฉื Verilog ื ืขืื ืืื ืื ืชืื ืงืื ืคืชืื ืงืืื ืืขื ืคืืืคืืจืืืช ืืกืืจืืืช ืืชืืืืืืช ืืืืืขืืืช ืืชืืื ืืืช ืืืืืืื ืืืืฆื ืืืืืืช. ืืืื ืืื Verilator ืืกืคืงืื ืืืืงืืช ืืื ืืืช ืืืืจืืช ืืืชืืืืืช ืืฆืื ืืจืืช CI ืืืฉืืื ืคืืชืื ืืืงืืืื, ืืขืื ืฉืคืชืจืื ืืช lint ืืจืื ืืจืืื ืืช ืืชืืงืืื ืืืืืคืช ืืชืืืืืืืืืช ืชืื ืื, ืชืืืืืช ืกืื ืชืื ืืืืืืืช ืืื ืืืจืฆืื ืขื ืคื ื ืืกืืกื ืงืื RTL ืืืจืืืื.
ืืจืืื ื ืื ืืกืช ืืืืจื ืืืืืื ืคืืจืกืื ืืขืชืื ืงืจืืืืช ืืกืืจืืืืืช ืคืื ืื ืกืืืื ืฉืืืชืืชืืืืงืืช lint ืืืืจืืช ืคืืขืืืช ืืืืคื ืืืืืืื ืืืืื commits ืงืื ืืื ืืืืืช ืืขืืืช ืืื ืืืช ืืืงืื, ืืขืื ืฉืืื ื ืืชืื ืืืืกืกื ืืืืื ืขืืืงืื ืืืชืจ ืืืืชืื ืืช ื ืืื ืืช ืืชืื ืื ืืคื ื ืจืืจืกืืืช ืกืืืืืฆืื ืื ืฉืืื ืกืื ืชืื. ืืืฉื ืื ืืกืืืขืช ืืฉืืืจ ืขื ืืืืืช RTL ืชืื ืื ืืขืช ืืฉืืื ืืื ืืืจืฆืืื ืืฉืืืื ืืืืืจืื ืืชืืื ืืืช ืคืืชืื ืืืืจื ืืืจืืืืช.
ืืื ืื ืืืืจ ืืื ืืื ื ืืืืฉื ืืืืชื ืืจืืื ื
ืืืฉืืื Angular ืืฉืืฉืื ืืขืชืื ืงืจืืืืช ืืฉืืืช ืืืฆืื ืขืืืจ ืคืืืคืืจืืืช ืืจืืื ืืืช, ืืืืืช ืืืืื ืื ืคื ืืืืื ืืคืืจืืืื ืืคืื ืื ืืืงืืืืช. ืืืืืื ืฉืืืฉืืืื ืืื ืืชืคืชืืื ืืขืชืื ืงืจืืืืช ืขื ืคื ื ืฆืืืชืื ืืจืืืื ืืืืืืจื ืคืืชืื ืืจืืืื, ืฉืืืจื ืขื ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื ืืืฉืืขืช ืืืจืืืืืช ืืืคืืช ืืืื ืืช ืืืืืืช ืชืืืืงื ืืืชื ืืืืช ืืคืืืงืฆืื ืฆืคืืื.
ืืื ืืฆืืจืช ืงืฉืจืื (Linting) ืืืขืจืืืช ืืงืืืืืืืช ืฉื Angular ืขืืืจืื ืืืืืฃ ืื ืืืืช ืกืื ืื, ืืืืืช ืืขืืืืช ืชืื ืืช ืคืืื ืฆืืืืืืช ืืืฉืืืจ ืขื ืขืงืืืืช ืืงืื TypeScript ืืืงืื ืชืื ืืืช. ืืืื ืืื ืืฉืืืืื ืืืจื ืืื ืืฆืื ืืจืืช CI/CD ืืืกืืืืืช ืคืืชืื, ืฉื ืื ืคืืขืืื ืืฉืขืจื ืืืืืช ืืืืืืืืื ืืืื ืขืื ืื ืืกื ืฉื ืงืื ืืขืืืชื ืืืืืจืื ืืฉืืชืคืื.
Angular ESLint
ืืชืจ ืจืฉืื: Angular ESLint
Angular ESLint ืืคืื ืืืกืืจืช ืืคืืชืื ืืขืืงืจืืช ืืืฉืืฉืช ืืคืจืืืงืืื ืืืืจื ืืื ืฉื Angular. ืืืื ืืจืืื ืืช ืืืขืจืืช ืืืงืืืืืืช ืฉื ESLint ืืืืืืฆืช ืืืืคื ื ืจืื ืืื ืืชืืื ืืชืื ืืืช ืกืคืฆืืคืืืช ื-Angular, ืืืื ืืจืืืืงืืืจืช ืจืืืืื, ืืื ื ืชืื ืืืช ืืืื ืืืจืฆืื ืฉื TypeScript. ืืืืืื ืฉืืืฉืืื Angular ืืกืชืืืื ืืืืื ืจืื ืขื TypeScript ืืืืกืืืืช ืฉื ืืกืืจืช, Angular ESLint ืืกืคืงืช ืขืจืืืช ืืืืื ืืืืชืืืืช ืืชืื ืืืช ืคืืชืื ืืื.
ืืืื ืืืืืฃ ืืช ืืืื ื-linting ืืืฉื ืืืชืจ ืืืืืกืก ืขื TSLint, ืืฉืจ ืฉืืืฉ ืืืืคื ืืืกืืืจื ืืคืจืืืงืืื ืฉื Angular. ืืื ืฉืืขืจืืืช ืืืงืืืืืืืช ืฉื JavaScript ื-TypeScript ืขืืจื ืืืืืื ESLint ืืื ืืข ื-linting ืืืืืื ื ืื, ESLint ืฉื Angular ืฆืฅ ืืืืฉื ืืกืื ืืจืืืช ืืืืืคืช ืืืืืช ืงืื ืืืืฉืืื Angular.
ื ืืชืื ืืืืข ืืืกืืจืช
Angular ESLint ืืขืจืื ืื ืืช ืงืื ืืืงืืจ ืฉื TypeScript ืืื ืืช ืชืื ืืืช Angular, ืืืืคืฉืจ ืืฆืืืชืื ืืืืืฃ ืืืืื ืขื ืคื ื ืืืื ื ืืืื ืฉื ืืืฉืืื Angular.
ืชืืืื ื ืืชืื ืืจืืืืื ืืืืืื:
- ืืืกืืืืช ืืืชื ืฉืืืช ืืจืืืืื ืืื ืืืืช
- ืชืงืื ืืช ืืืื ื ืชืืืืจ ืืชืื ืืช
- ืืคืืกื ืฉืืืืฉ ืืืืืืจ ืืืื ืฉื Angular
- ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืืืจืงืช ืชืืืช
- ืืจืืื ืขืงืื ืฉื ืงืืฆืื ืืืืืืืื
ื ืืชืื ืื, ืืืืืข ืืืกืืจืช, ืืกืืืข ืืฉืืืจ ืขื ืขืงืืืืช ืืืจืืืืืช ืืืกืืกื ืงืื ืืืืืื ืฉื Angular, ืฉืืื ืฆืืืชืื ืืจืืืื ืชืืจืืื ืจืืืืื ืืืืืืืื.
ืฉืืืื ืืชืื ืืจืืืืช ืขืืืื ืฉื ืคืืชืื
Angular ESLint ืืฉืชืื ืืฉืืจืืช ืขื ืืจืืืืช ืขืืืื ืฉื Angular CLI ืืคืื ืืื CI/CD ื ืคืืฆืื. ืื ืืืคืฉืจ ืืฆืืืชืื ืืืืื ืืืืงืืช linting ืืืืคื ืืืืืืื ืืืืื builds ืืืืืืช ืืงืฉืืช pull.
ืืคืืกื ืืื ืืืจืฆืื ืืจืืื ืืื ื ืคืืฆืื ืืืืืื:
- ืืจืฆืช ืืืืงืืช lint ืืืืื ืชืืืืื ืื ืืื ืฉื Angular CLI
- ืืืืคืช ืืืื lint ืืืืื ืฉืืื ืฆืื ืืจ CI
- ืืฆืืช ืืขืืืช ืืฉืืจืืช ืืชืื ืกืืืืืช IDE
- ืื ืืขืช ืืืืืื ืงืื ืืืฉืจ ืืคืจืืช ืฉื ืงืื ืืื ืืจืืงืืืื ืืืจืืืช ืืกืคื ืงืื ืืืืืจืื
ืฉืืืื ืื ืืืืื ืื ืชืงื ื ืงืืืื ื ืืืคืื ืืืืคื ืขืงืื ืืืื ืืืจืืฉ ืืืคืชืืื ืืืคืขืื ืืื lint ืืืืคื ืืื ื.
ืืืืฉืืช ืชืฆืืจื
Angular ESLint ืืกืคืงืช ืืคืฉืจืืืืช ืชืฆืืจื ื ืจืืืืช ืืืืคืฉืจืืช ืืืจืืื ืื ืืืชืืื ืืช ืืืื ื-lint ืืชืงื ื ืืคืืชืื ืฉืืื.
ืืืืืืช ืชืฆืืจื ืืืคืืื ืืืช ืืืืืืช:
- ืืคืขืืช ืงืืืฆืืช ืืืืื ืกืคืฆืืคืืืช ื-Angular
- ืืืืจืช ืืืกืืืืช ืืชื ืฉืืืช ืืจืืืืื ืืฉืืจืืชืื
- ืืชืืื ืืืฉืืช ืฉื ืืชื ืืืืช ืืฆืืจืช ืชืื ืืช
- ืฉืืืื ืชืืกืคื ESLint ื ืืกืคืื ืขืืืจ TypeScript ื-JavaScript
ืชืืื ืืช ืชืฆืืจื ืืื ืืืคืฉืจืืช ืืฆืืืชื ืื ืืกื ืืืืฅ ืืืืจืื ืืืื ืืืช ืืืกืืฃ ื ืชืื ืื ืชืื ืืชืืืช ืจืืืืื ืืืืจ ืงืืื ืื ืืคืืกื ืืืจืืืืืช ืืชืคืชืืื.
ืฉืืงืืืื ืชืคืขืืืืื
ืืืืืื ืฉ-Angular ESLint ืื ืื ืขื ืืื ESLint, ืืืืฆืืขืื ืืืืกืื ืืืืืื ืชืืืืื ืืืืงื ืืืขืจืืช ืืืงืืืืืืช ืฉื ืืชืืกืฃ ESLint. ืืืฉืืื Angular ืืืืืื ืขืฉืืืื ืืืจืืฉ ืชืฆืืจืช ืืืืื ืืืืงืืงืช ืืื ืืื ืืข ืืืืจืืช ืืืืืืืช ืื ืขืืืืืื ืืืืฆืืข ืฆืื ืืจ.
ืืืจืืช ืฉืืงืืืื ืืื, Angular ESLint ื ืืชืจ ืคืชืจืื ื-linting ืื ืคืืฅ ืืืืชืจ ืขืืืจ ืืืฉืืื Angular ืื ืืฉื ืืืืฉืช ื-linting ืืจืืจืช ืืืืื ืืคืืชืื Angular ืืืืจื ื.
Angular ESLint ืืกืคืง ืืืืื ืืขืฉื ืืื ืืืืขืืช ื-frameworks ืืืื ืืื ืืืจืฆืื ืขื ืืืขืจืืช ืืืงืืืืืืช ืืจืืื ืืืชืจ ืฉื ESLint, ืื ืฉืืืคื ืืืชื ืืืกืืก ืืชืืื ืืฉืืืจื ืขื ืืืืืช ืืงืื ืืคืจืืืงืืื ืืืืืื ืฉื Angular.
ืืื ืกืืืื ืืืืคืืื ืฉื ืื ืืืืจ
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| TSLint (ืืืจืฉืช) | ืืฉืืื ืืืกืืืจืืช ืขื Angular CLI | ืืืฆื ืืฉืืืืฉ ืืื ืืชืืืืง ืืืืคื ืคืขืื ืขืื |
| SonarLint ืขืืืจ Angular | ืืืื ืืขืืืช ืชืืืืงื ืืืืื ืืช | ืืืจืฉ ืืื ืืืจืฆืื ืขื ืืขืจืืช ืืืงืืืืืืช ืฉื ืกืื ืืจ |
| ืกืจืืงื ืขืืืงื | ื ืืชืื ืืชืงืื ืฉื JavaScript ื-TypeScript | ืืืกืื ืืืืื ืฉื ืืืืื ืกืคืฆืืคืืื ื-Angular |
| Semgrep | ืื ืืข ืืืืื ืืืืฉ ืืืกืืื ืืืืืช ืืคืืกืื ืืืจืืืื | ืืืจืฉ ืคืืชืื ืืืืื ืืืชืืืื ืืืฉืืช |
| MegaLinter | ืืจืืฅ ืืกืคืจ ืจื ืฉื ืืขืจืืืช ืืืืืจ (linters) ืขื ืคื ื ืืืืจื Frontend | ืื ืกืคืฆืืคื ื-Angular; ื ืืจืฉืช ืชืฆืืจื |
ืฉืืงืืืื ืืขืฉืืื ืขืืืจ ืื ืืืืจ ืืื ืืื ื
ืืื ืืืืืจ Angular ืืืืืื ืืืชืืืื ืื ืขื ืืืกืืืืช Framework ืืื ืขื ืชืงื ื ืงืืืื ืืืืืื ืฉื TypeScript. Angular ESLint ืืกืคืง ืืื ืืืจืฆืื ืืืงื ืขื ืืืขืจืืช ืืืงืืืืืืช ืฉื Angular ืชืื ืฉืืืจื ืขื ืชืืืืืช ืขื ืื ืืข ืืืืืื ืืจืื ืืืชืจ ืฉื ESLint. ืขืืืจ ืฆืืืชื Frontend ืืจืืื ืืื, ืฉืืืื ืฉื Angular ESLint ืขื ืืืืคืช ืฆืื ืืจ CI ืืกืืืข ืืฉืืืจ ืขื ืขืงืืืืช ืืื ืืจืืืืงืืืจืืช ืจืืืืื ืืฉืืืืช ืคืืชืื.
ืืจืืื ืื ืืื ืืืื ืืกืืกื ืงืื ืืืืืื ืฉื ืงืฆื ืืงืฆื ืืฉืืืืื ืืขืืชืื ืงืจืืืืช ืชืืืืื ืืืืืจ (linting) ืกืคืฆืืคืืื ื-Angular ืขื ืคืืืคืืจืืืช ื ืืชืื ืกืืืืืช ืจืืืืช ืืืชืจ, ืืฉืจ ืืขืจืืืืช ืืืฆืืขืื, ืืืืื ืืืคืืกืื ืืจืืืืงืืื ืืื ืขื ืคื ื ืื ืืืกื ืืช ืืืืฉืืืื.
ืืื ืืื ืืื ื ืฉื TypeScript ืืคืืชืื ืืืฉืง ืงืฆื ืืฉืืจืืชืื ื ืืชื ืื ืืืจืืื
TypeScript ืืคืื ืืฉืคื ืืจืืืืช ืืชืืงื ืชืืื ื ืืจืืื ืืื ืืืืจื ืืื. ืืื ื ืืฆืืช ืืฉืืืืฉ ื ืจืื ืขืืืจ ืืืฉืืื Frontend, ืฉืืจืืชื Node.js, ืคืืืคืืจืืืช Serverless ืืกืคืจืืืช ืืฉืืชืคืืช ืืชืืืืืช ืืืขืจืืืช ืืืืืจืืช ืืืืืืช. ืืืืืื ืฉ-TypeScript ืืฆืืื ืืงืืื ืกืืืืช ืืืขืจืืืช ืืงืืืืืืืช ืฉื JavaScript, ืืจืืื ืื ืืกืชืืืื ืืขืชืื ืงืจืืืืช ืขื ืืื linting ืืื ืืืืืฃ ืื ืืฉืืขืช ืกืื ืื ืืช ืืื ืฉืืืืฉ ื ืืื ืืชืืื ืืช ืืฉืคื.
ืืื Linting ืขืืืจ TypeScript ืื ืชืืื ืงืื ืืงืืจ ืืื ืืืืืช ืืคืืกืื ืื ืืืืืื, ืฉืืืืฉ ืื ื ืืื ืืกืืืื ืืืขืืืช ืชืืืืงื ืืคื ื ืฉืื ืืชืคืฉืืืช ืืืกืืกื ืงืื ืืืืืื. ืืกืืืืืช ืืจืืื ืืืช ืืื ืฆืืืชืื ืจืืื ืืฉืชืคืื ืคืขืืื ืืกืคืจืืืช ืืฉืืชืคืืช ืืืืืงืจื-ืฉืืจืืชืื, ืืืื ืืื ืืกืืืขืื ืืืืืคืช ืฉืืืืช ืคืืชืื ืขืงืืืืช ืชืื ืื ืืขืช ืืขืืืืช ืชืื ืืช ืขืืื ืืช ืืืืืืข ืืืฆื ืืืืฆืืจ.
ESLint ืขื ืชืืกืฃ TypeScript
ืืชืจ ืจืฉืื: ESLint
ESLint ืืคืื ืืืกืืจืช ื-linting ืืืืืื ื ืืืช ืื ืขืืืจ ืืขืจืืืช ืืงืืืืืืืช ืฉื JavaScript ืืื ืขืืืจ TypeScript. ืืืืฆืขืืช ืืฉืืืืฉ ื- @typescript-eslint ืชืืกืฃ ืื, ESLint ืืจืืื ืืช ืื ืืข ืืืืืื ืฉืื ืืื ืืชืืื ืืชืืืืจ ืืื ืืชืื ืกืืืื ืกืคืฆืืคืืื ื-TypeScript. ืฉืืืื ืื ืืืคืฉืจ ืืืจืืื ืื ืืชืืืง ืคืืืคืืจืืช linting ืืืช ืืคืจืืืงืืื ืฉื JavaScript ื-TypeScript ืืืื.
ืืคืืคืืืจืืืช ืฉื ESLint ืืกืืืืืช ืืจืืื ืืืช ื ืืืขืช ืืืืืืฉืืช ืฉืื. ืืคืืืคืืจืื ืชืืืืช ืืืขืจืืช ืืงืืืืืืช ืจืืื ืฉื ืชืืกืคืื ืืขืจืืืช ืืืืื ืืืืคืฉืจืื ืืฆืืืชืื ืืืชืืื ืืืื ืืืช linting ืืืกืืจืชืืช, ืืคืืกื ืืจืืืืงืืืจื ืื ืืจืืฉืืช ืืืืื ืกืคืฆืืคืืืช.
ืืขืจืืช ืืืืื ืืืืขืช ื-TypeScript
ืืืฉืจ ืืืืืจ ืขื ืชืืืื ื-TypeScript, ESLint ืืขืจืื ืื ืชืงืื ืืช ืชืืืืจืืช ืืื ืชืื ืืืช ืืืืขืืช ืืกืื ืืงืื TypeScript.
ืงืืืืจืืืช ืืืืื ืืืคืืื ืืืช ืืืืืืช:
- ืฉืืืืฉ ื ืืื ืืกืืื ืืืืฉืงืื ืฉื TypeScript
- ืืืืื ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ ืืืืืื
- ืฉืืืืฉ ืืืื ื
anyืกืืืื ืืืขื ืืช ืกืื - ืืื ื ืืืืื โโืืืืืืื ืขืงืืืื
- ืืืืคืช ืืืกืืืืช ืืืชื ืฉืืืช ืืืจืืื ืงืืฆืื
ืืืืืื ืฉืืืฉืืื TypeScript ืืืืืื ืืขืชืื ืงืจืืืืช ืืืจืจืืืืช ืืืคืืกืื ืืืจืืืืช ืืืืฉืงืื ืืฉืืชืคืื, ืืืืงืืช ืืื ืืกืืืขืืช ืืฉืืืจ ืขื ืืืืจืืช ืืืืคืืืช ืฉืืืืฉ ืืจืขื ืืฉืืื ืืืืคืืกืื.
ืฉืืืื ืืชืื ืืจืืืืช ืขืืืื ืืจืืื ืืืช
ESLint ืืฉืชืื ืืงืืืช ืขื ืืื ืคืืชืื, ืฆืื ืืจืืช CI/CD ืืขืืจืื ืงืื ืืืืจื ืืื.
ืืืฉืืช ื ืคืืฆืืช ืืคืจืืกื ืืจืืื ืืช ืืืืืืช:
- ืืจืฆืช ืืืืงืืช ESLint ืืืืื ืืืืืช ืืงืฉืช ืืฉืืื
- ืฉืืืื ืืืืคืช lint ืืฉืืื ืื ืืืช CI
- ืืฆืืช ืืืฆืื lint ืืฉืืจืืช ืืชืื ืกืืืืืช ืคืืชืื
- ืืืืคืช ืกืื ืืจืืื ืฉื ืงืืืื ืืื-ืืืืจ ืืืืฆืขืืช ืชืฆืืจืืช ืืฉืืชืคืืช
ืืื ืืืจืฆืืืช ืืื ืืืคืฉืจืืช ืืืจืืื ืื ืืืืื ืืืื linting ืขืงืืืื ืขื ืคื ื ืืกืคืจ ืจื ืฉื ืืืืจืื ืืืื ืืืจืืฉ ืืืฆืืข ืืื ื ืขื ืืื ืืคืชืืื.
ืืขืจืืช ืืงืืืืืืช ืฉื ืชืืกืคืื ืืืืืืช ืืจืืื
ืืืช ืืืชืจืื ืืชืื ืืืืืืื ืืืืชืจ ืฉื ESLint ืืื ืืขืจืืช ืืชืืกืคืื ืฉืื. ืชืืกืคืื ืจืืื ืืจืืืืื ืืช ืืืืืืชืื ืืื ืืชืืื ืืืกืืจืืช ืืืคืืกื ืคืืชืื ื ืืกืคืื.
ืืืืืืืช ืืืืืืช:
- ืืจืืืืช ืืื TypeScript ืืจื
@typescript-eslint - ืืื ืืืจืฆืืืช Framework ืขืืืจ React, Angular ื-Node.js
- ืืืื ืกืืืื ืืื ืื ืืืืื
- ืฉืืืื ืขืืฆืื ืงืื ืขื ืืืื ืืื Prettier
ืืืืืช ืืจืืื ืื ืืืคืฉืจืช ื-ESLint ืืฉืืฉ ืืคืืืคืืจืืช linting ืืื ืืืจืกืืืช ืืกืืืืืช ืคืืชืื ืืืืื ืืช.
ืฉืืงืืืื ืชืคืขืืืืื
ืืืจืืช ืฉ-ESLint ืืกืคืงืช ืืืืืืช ืืชืืื ืืืฉืืช ืืืงืืช ืฉื ืืืืื, ืงืืืฆืืช ืืืืื ืฉืชืฆืืจืชื ืืื ื ื ืืื ื ืขืืืืืช ืืืืฆืจ ืืืืจืืช ืืืืืืืช ืืฉืจ ืืคืืืชืืช ืืช ืืืื ืืืคืชืืื ืืชืืฆืืืช ื-linting. ืฆืืืชืื ืืจืืื ืืื ืืืจื ืืื ืื ืืืื ืกืืืื ืื ืขื ืืื ืืืืจืช ืืืืืืช ืชืฆืืจื ืืฉืืชืคืืช ืืฉืจ ืกืื ืืจืืืืฆืืืช ืืช ืืชื ืืืืช ื-lint ืืื ืืืืจืื ืฉืื ืื.
ืืืฉืจ ESLint ื ืคืจืก ืขื ื ืืืื ืชืฆืืจื ืขืงืื, ืืื ืืกืคืง ืืกืืก ื ืืชื ืืืจืืื ืืฉืืืจื ืขื ืืืืืช ืงืื TypeScript ืืืจืืื ื ืื ืืกื ืืืืืื.
ืืฉืืืื ืฉื ESLint ืืื ืืืืืช ืืืจืืื, ืืืจืืช ืืืขืจืืช ืืืงืืืืืืช ืืชืืืื ืืืงื ื-TypeScript ืืคื ืืืชื ืืคืืืคืืจืืช ื-linting ืื ืคืงืื ืขืืืจ ืฆืืืชื ืคืืชืื ืืจืืื ืืื ืจืืื.
ืืื ืืืืืฉ ืืืืคืืื ืฉื TypeScript
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| TSLint (ืืืฆื ืืฉืืืืฉ) | ืืฉืืื ืืขืืจ ืขื ืืื TypeScript | ืืืฆื ืืฉืืืืฉ ืจืฉืืืช ืืืืืช ESLint |
| ืจืืฃ (ืชืืืื ื-TypeScript ืืชืคืชืืช) | ืืืฆืืขื ืกืืืืง ืกืืืื ืืืืจืื ืืืืืื | ืืืขืจืืช ืืืงืืืืืืช ืขืืืื ืืชืคืชืืช |
| ืกืจืืงื ืขืืืงื | ื ืืชืื ืกืืื ืืชืงืื ืขืืืจ JavaScript ื-TypeScript | ืืชืืื ืืืฉืืช ืืืืืืช ืฉื ืืืืื ืืืฉืืืื ื-ESLint |
| Semgrep | ื ืืชืื ืงืื ืืืืกืก ืชืื ืืืช ืจื ืขืืฆืื | ื ืืจืฉืช ืืฆืืจืช ืืื ืืงืืืช ืืชืืฆืืืช ืืืืืืช ืืืืชืจ |
| MegaLinter | ืฆืืืจ ืืกืคืจ ืืืืืจื ืืื ืืจ ืขืืืจ ืฆืื ืืจืืช CI | ืืืจืฉ ืชืฆืืจื ืขืืืจ ืคืจืืืงืืื ืฉื TypeScript |
ืชืฆืคืืืช ืขื ืืกืืจืืืืืช ืืื ืืื ื ื-TypeScript
ืืื ืืฆืืจืช ืงืฉืจืื (linting) ืฉื TypeScript ืืืืืื ืืืื ืืื ืืืืฉืืช ืืขืงืืืืช ืืกืืืืืช ืคืืชืื ืืืืืืช. ESLint ืืกืคืงืช ืคืืืคืืจืื ืืงืืืืช ืืชืืืืช ืื ืื ืืชืื ืกืคืฆืืคื ืืฉืคื ืืื ืืืื ืืืจืฆืื ืขื ืืกืืจืืช ืจืืืช. ืืืืฉืืช ืื ืืืคืฉืจืช ืืืจืืื ืื ืืชืงื ื ืืช ืืืื ืืืช ืืืฆืืจืช ืงืฉืจืื ืชืื ืชืืืื ืืืืืื ืจืื ืฉื ืืจืืืืงืืืจืืช ืืืฉืืืื.
ืืชืืงื ืชืืื ื ืืจืืื ืืื, ืฉืืืืช ืืกืื TypeScript ืืฉืืืืืช ืืืจื ืืื ืขื ืืื ืืืืงื ืืืืืืืืื ืื ืืชืื ืกืืื. ืืื, ืฉืืืืช ืืื ืืกืืืขืืช ืืืืืื ืฉืืกืืกื ืงืื ืืืืืื ืฉื TypeScript ืืืฉืืจื ื ืืชื ืื ืืชืืืืงื, ืฆืคืืืื ืืืืชืืืื ืืชืงื ื ืคืืชืื ืืจืืื ื.
ืืื React Linting ืขืืืจ ืืจืืืืงืืืจืช Frontend ืืจืืื ืืช
ืืืฉืืื React ืืคืขืืืื ืืขืชืื ืงืจืืืืช ืืืฉืงื ืืฉืชืืฉ ืืืจืืืื ืืืขืจืืืช ืืจืืื ืืืช, ืืืื ืืืืืช ืืืืื ืื ืคื ืืืืื, ืคืืจืืื ืืงืืืืช ืืคืืืคืืจืืืช ืืกืืจ ืืืงืืจืื ื ืืืืืืช. ืืืฉืืืื ืืื ืืืืืื ืืขืชืื ืงืจืืืืช ืืคืชืืื ืจืืื ืืชืืจืืื ืจืืืืื, ืืืื ืืืืืืงืช ื ืืืื ืืฆืืื ืขื ืคื ื ืืืืจืื ืืจืืื ืืืื. ืืื ืกืื ืืจืืื ืขืงืืืื ืฉื ืงืืืื, ืืกืืกื ืงืื ืฉื React ืืืืืื ืืฆืืืจ ืืืืจืื ืืคืืกื ืจืืืืื ืื ืขืงืืืื, ืืืคืื ืืืฆืืื ืฉืืืจืื ืืืชืืจื ืชืืืืงื.
ืืื Linting ืืกืืืขืื ืืืชืืืื ืขื ืกืืืื ืื ืืื ืขื ืืื ืืืืื ืืืืืืื ืฉื ืืคืืกืื ืืขืืืชืืื ืืจืืืื React ืืืงืื JavaScript ืื TypeScript. ืืืฉืจ ืื ืืฉืืืืื ืืืจืืืืช ืขืืืื ืฉื ืคืืชืื ืืืฆืื ืืจืืช CI, ืืื Linting ืืืืคืื ืขืงืืืืช ืืืจืืืืืช ืืืคืืืชืื ืืช ืืกืืืจืืช ืืืืืจืช ืืืืื ืืงืฉืืจืื ืืฉืืืืฉ ืื ื ืืื ืืืืืืจ ืืืืื ืฉื React ืื ืืคืืกื Hook.
ESLint ืขื ืชืืกืฃ React
ืืชืจ ืจืฉืื: ESLint
ESLint, ืืฉืืืื ืขื ืืืขืจืืช ืืืงืืืืืืช ืฉื ืชืืกืคื React, ืืคืื ืืืืฉืช ื-linting ืืืืืื ื ืืืช ืขืืืจ ืืืฉืืื React. eslint-plugin-react ื eslint-plugin-react-hooks ืืืืืืช ืืจืืืืืช ืืช ืื ืืข ืืืืืื ืฉื ESLint ืืื ืืืืื ืชืื ืืืช ืจืืืื React, ืชืืืืจ JSX ืืืืื ืืืืืจ ืืืื ืฉื Hook. ื ืืชืื ืื, ืืืืืข ืืืกืืจืช, ืืกืืืข ืืฆืืืชืื ืืืืืฃ ืฉืืืืช ืขืืืื ืืืืืฆืืช ืกืคืฆืืคืืืช ืืคืืชืื React.
ืืืืืื ืฉืคืจืืืงืืื ืจืืื ืฉื Frontend ืืจืืื ื ืืืจ ืืฉืชืืฉืื ื-ESLint ืขืืืจ linting ื-JavaScript ืื TypeScript, ืืืกืคืช ืชืืืื ื-React ืืจื ืชืืกืคืื ืืืคืฉืจืช ืืฆืืืชืื ืืฉืืืจ ืขื framework linting ืืืื ืขื ืคื ื ืื ืืืกื ืืช ื-frontend ืฉืืื.
ื ืืชืื ืืื ื ืกืคืฆืืคื ื-React
ืชืืกืฃ React ESLint ืื ืชื ืงืื ืจืืืืื ืืชืื ืืืช JSX ืืื ืืืืืช ืืคืืกืื ืฉืขืืืืื ืืืืืื ืืฉืืืืืช ืืืื ืจืืฆื ืื ืืขืืืช ืชืืืืงื.
ืงืืืืจืืืช ืืืืื ื ืคืืฆืืช ืืืืืืช:
- ืฉืืืืฉ ื ืืื ื-Hooks ืืืืขืจืื ืชืืืืืช ืฉื React
- ืืชื ืฉืืืช ืืืื ื ืขืงืืืื ืืจืืืืื
- ืืืืื ืฉื ืืืืืจืื ืืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ
- ืืืืืช ืชืืืืจ ืืฉืืืืฉ ืืืืคืืื ืื ืฉื JSX
- ืื ืืขืช ืฉืืืืฉ ืืฉืืืืช ืืืืืจ ืืืื ืื ืืืืืืช
ืืืืงืืช ืืื ืืกืืืขืืช ืืื ืืขืช ืืขืืืช ืขืืื ืืช ืืืื ืชืืืช ืืกืจื ื-Hook, ืืฉืจ ืขืืืืืช ืืืจืื ืืืชื ืืืืช ืืืชื ืฆืคืืื ืฉื ืจืืืืื.
ืืื ืืืจืฆืื ืขื ืกืืืืืช ืคืืชืื
React linting ืขื ESLint ืืฉืชืื ืืงืืืช ืืืจืืืืช ืขืืืื ืืืืจื ืืืช ืฉื ืืืืช ืงืฆื.
ืืคืืกื ืคืจืืกื ืืืคืืื ืืื ืืืจืืื ืื ืืืืืื:
- ืืจืฆืช ืืืืงืืช ESLint ืืืืื ืืืืืช ืืงืฉืช ืืฉืืื
- ืืืฆืืข ืืืืงืืช lint ืืฉืืื ืฆืื ืืจ CI/CD
- ืืชื ืืฉืื ืืืื ืืืช ืืืืฆืขืืช ืืจืืืืช IDE
- ืืืืคืช ืกืคื lint ืืืืื ืืืืืื ืืืืจืื
ืฉืืืื ืื ืืืคืฉืจ ืืืคืชืืื ืืืืืช ืืขืืืช ืืฉืื ืืืงืื ืฉื ืชืืืื ืืคืืชืื ืืืงืื ืืืืืช ืืืชื ืืืืื ื ืืคืื ืฉืืืืืช ืืืื ืจืืฆื.
ืชืฆืืจื ืืืืืืช ืืจืืื
ืืืื ืืชืฆืืจื ืฉื ESLint ืืืคืฉืจ ืืืจืืื ืื ืืืชืืื ืืืื ืืืช linting ืืืจืืืืงืืืจืช React ืฉืืื.
ืืืืืืืช ืืืืื ืืื ืื ืืชื ืื ืืืืืจื ืืืืืืช:
- ืืคืขืืช ืงืืืฆืืช ืืืืื ืกืคืฆืืคืืืช ื-React
- ืืืืจืช ืืืกืืืืช ืืืชื ืฉืืืช ืืจืืืืื
- ืืืืคืช ืืืื ืืืช ืฉืืืืฉ ืืื
- ืฉืืืื ืืืื ืขืืฆืื ืืจื Prettier
ืฆืืืชืื ืืืืืื ืื ืืืฆืืจ ืืืืืืช ืชืฆืืจื ืืฉืืชืคืืช ืฉืืชืงื ืืช ืืช ืืืื ื-lint ืืืกืคืจ ืคืจืืืงืืื ืฉื React.
ืฉืืงืืืื ืชืคืขืืืืื
ืืืฉืืื React ืืืืืื ืืฉืืืื ืืขืืชืื ืงืจืืืืช TypeScript, ืืกืืจืืช ื ืืืื ืืฆืืื ืืืื ืื ืืื ืืื Webpack ืื Vite. ืืกืืืืืช ืืืื, ืืฉ ืื ืื ืืงืคืืื ืืช ืชืฆืืจืืช ESLint ืืื ืืืืืื ืชืืืืืช ืขื ืชืืกืคืื ืืืกืืจืืช ืืจืืืื.
ืืืจืืช ืืืจืืืืช ืื, ESLint ืขื ืชืืกืคื React ื ืืชืจื ืืืฉืช ื-linting ืื ืคืืฆื ืืืืชืจ ืขืืืจ ืืืฉืืื React ืืืืืื ืฉืืื ืืฉืชืืืช ืืฆืืจื ืืืงื ืขื ืืจืืืืช ืขืืืื ืงืืืืืช ืฉื JavaScript ื-TypeScript.
ืขืืืจ ืฆืืืชื Frontend ืืจืืื ืืื, React linting ืืกืืืข ืืฉืืืจ ืขื ืขืงืืืืช ืืจืืืืงืืื ืืช ืชืื ืืคืืชืช ืืกืืืื ืืืื ืกืช ืฉืืืืืช ืืื ืจืืฆื ืืืืจืจืืืืช ืจืืืืื ืืืจืืืืช.
ืืื ืจืืืงื ืืืืคืืื ืืืืืื ื
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| ืกืื ืืจืืื ื | ืืืื ืืขืืืช ืชืืืืงื ืืืืืื ืคืืื ืฆืืืืืื ืืงืื React | ืืืจืฉ ืืื ืืืจืฆืื ืขื ืืขืจืืช ืืืงืืืืืืช ืฉื ืกืื ืืจ |
| ืกืจืืงื ืขืืืงื | ื ืืชืื ืกืืื ืืชืงืื ืขืืืจ ืืกืืจืืช JavaScript | ืืชืืื ืืืฉืืช ืืืืืืช ืฉื ืืืืื ืกืคืฆืืคืืื ื-React |
| Semgrep | ืื ืืข ื ืืชืื ืืืืฉ ืืืืกืก ืชืื ืืืช | ืืืจืฉ ืคืืชืื ืืืืื ืขืืืจ ืชืื ืืืช React |
| MegaLinter | ืืคืขืื ืืกืคืจ ืจื ืฉื ืืขืจืืืช ืชืืืื ืืงืฆื ืืงืืื ืืชืื ืฆืื ืืจืืช CI | ืชืงืืจืช ืชืฆืืจื ืขืืืจ ืคืจืืืงืืื ืืืืืื |
| ืงืื ืืงืืื | ื ืืืืจ ืืืืืช ืืจืืื ืืฆืืืจืช ืกืืืื | ืชืืื ืืื ืืขื ืกืืืื ืืืฆืื ืืื |
ืชืฆืคืืืช ืขื ืืกืืจืืืืืช linting ื-React
ืืื ื-linting ืฉื React ืืชืืงืืื ืืขืืงืจ ืืืืืคืช ืชืื ืืืช ืจืืืืื ื ืืื ืืช ืืืื ืืขืช ืืขืืืืช ื ืคืืฆืืช ืืงืฉืืจืืช ื-hooks. ืืขืจืืช ืืคืืืืื ืฉื ESLint ืืืคืฉืจืช ืืืจืืื ืื ืืืจืืื ืืช ืืืกืื ื-lint ืขื ืคื ื JSX, TypeScript ืืกืืืืืช ืื ืืืช Frontend ืืืืจื ืืืช.
ืืกืืืืืช ืคืืชืื ืืจืืื ืืืช, React linting ืคืืขื ืืืจื ืืื ืืฆื ืืกืืจืืช ืืืืงื ืืืื ื ืืชืื ืกืืืืื ืืืขืจืืืื ืืืฆืืขืื ืืืฉืฉืืช ืืืืื. ืืื, ืืืื ืืื ืืกืืืขืื ืืฉืืืจื ืขื ืืฆืืืืช ืืชืืืืงื ืืชืื ืชืืงื ืืืฉืืืื ืืืืืื ืฉื ืงืฆื ืืงืฆื.
ืืื ืืฆืืจืช ืงืฉืจ ื-JavaScript ืขืืืจ ืชืืงื ืืชืจืื ืืฉืืจืืชืื ืืจืืื ืืื
JavaScript ื ืืชืจื ืฉืคืช ืืกืื ืืืขืจืืืช ืืจืืื ืืืช, ืืืืืืช ืืืฉืืืื ืืืืกืกื ืืคืืคื, ืฉืืจืืชื Node.js, ืกืงืจืืคืืื ืืืืืืืฆืื ืืืืื ืืืฆื ืคืืืคืืจืืืช. ืืืืืื ืฉืงืื JavaScript ืืชืคืชื ืืขืชืื ืงืจืืืืช ืืืืืจืืช ืืืชืืืืง ืขื ืืื ืฆืืืชืื ืืจืืืื, ืขืงืืืืช ืืื ืืขืช ืคืืืื ืืืคืืืช ืืงืฉืืช ืืื ืืืืคื ืืืืืืืืช. ืืชืืงื ืชืืงืื ืืืืืื, ืืืชืืจ ืืขืืงืจื ืืื ื ืจืง ืืกืคืจ ืืืืืจืื ืืื ืื ืืืืื ืกืืืืืช ืืื ืืจืืฆื ืืืคืืกื ืืงืืืื ืืืชืงืืืืื ืืื ืืืจืืื ืืืื.
ืืื Linting ืืกืคืงืื ืฉืืืช ืืืื ืืืช ืืืืืืืืช ืืืืื ืืื ืื ืืืขืืื ืืฉืืืืืช, ืืืืคืช ืกืื ืืจืืื ืืืคืืืชื ืกืืืคื ืืื ืฆืืืชืื. ืืฆืื ืืจืืช ืืกืคืงื โโืืจืืื ืืื, linting ื-JavaScript ืืืคื ืืขืชืื ืงืจืืืืช ืืฉืขืจ ืืฉืืื ืืืืืืช ืืืืืื ืืืื ืข ืืช ืืื ืกืชื ืฉื ืืคืืกืื ืฉืืขืจืขืจืื ืืช ืืชื ืืืืช ืืืืฆืืจ.
ESLint
ืืชืจ ืจืฉืื: ESLint
ESLint ืืื ืืกืืจืช ื-linting ืื ืคืืฆื ืืืืชืจ ืขืืืจ JavaScript ืืืคืื ืืกืื ืืจื ืืืจืืื ื ืืจืืจืช ืืืืื ืืืืืคื ืืืืกืกืช ืืืืื ืืืกืืกื ืงืื ืฉื frontend ื-Node.js. ืืจืืืื ืืืืช ืืืจืืื ืืช ืฉืื ื ืืืขืช ืืฉื ื ืืืคืืื ืื: ืืขืจืืช ืืงืืืืืืช ืฉื ืชืืกืคืื ืืืืจืช ืืืืื ืชืฆืืจื ืืืืคืฉืจ ืืืจืืื ืื ืืืืืืจ ืงืืื ืืกืืก ืขืงืืืื ืฉื ืืืื ืืืช ืขื ืคื ื ืืืืช ืืืืจืื.
ืื ืืืื ื-linters ืฉืืืืขืื ืขื ืกื ืืืงืื ืงืืืข, ESLint ืืชืคืงื ืืื ืืข ืืืงืื ืื ืืชื ืืืืืจื. ืืืงืื ืืืืืื ืืืืืฃ ืืืกืืืืช ืกืื ืื ืืืช, ืืืืืช ืืคืืกืื ืื ืืืืืื ืืืงืืื ืคืจืงืืืงืืช ืกืคืฆืืคืืืช ืืืจืืื. ืืืืฉืืช ืื ืชืืืืช ืืืืืืื ืฉื ืืืฉื ืืจืืื ื ืฉืืื ืืืื ืืืช ืงืืืื ืืืืืช ืืืกืชืื ืืื ืืกืืจืืช, ืืื ืืช ืฆืื ืืจืืช ืืืืืืืช ืฉืืจืืช.
ืืชื ืืืืช ืื ืืข ืืืืืื ืืืืงืฃ ืืืืืื
ESLint ืืขืจืืื ืืช ืงืื ืืืงืืจ ืฉื JavaScript ืขื ืืื ื ืืชืืื ืืขืฅ ืชืืืืจ ืืืคืฉื ืืืืฉืื ืืืืงืืช ืืืืื ืื ืื ืืืื ื ืืืชืงืื. ืืืฉื ืื ืืืคืฉืจืช ืืืืื ืืคืืกืื ืฉืืขืชืื ืงืจืืืืช ืืืืืืื ืืคืืืื ืืืื ืจืืฆื ืื ืจืืจืกืืืช ืชืืืืงื.
ืงืืืืจืืืช ื ืคืืฆืืช ืฉื ืืืื ืืจืืื ืืืืืืช:
- ืืืืื ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ, ืงืื ืฉืืื ื ื ืืืฉ ืืืืืืงื ืืฉืืื
- ืืืืืืช ืขื ืืืคืืื ื ืฉืคื ืื ืืืืืื ืืืคืืื ืืจืืืืช
- ืืืื ืืืช ืขืงืืืช ืฉื ืืชื ืฉืืืช ืืืืืื โโืืืืืืื
- ืืืืื ืกืคืฆืืคืืื ืืืกืืจืช ืขืืืจ React, Node.js ืืืกืืจืืช ืืืืงื
- ืืคืืกืื ืืืืืื ื ืืืืื ืืืืฆืขืืช ืชืืกืคืื ืืืขืืืืื
ืืคืืขื, ืฆืืืชื ืืจืืื ืืฉืชืืฉืื ื-ESLint ืืื ืืืืืฃ ืืกืืก ืืฆืื ืฉื ื ืืื ืืช ืืขืงืืืืช ืงืื. ืืคืจืืกืืช ืืืขืืืืช ืืืืชืจ ื ืื ืขืืช ืืฆืคืืคืืช ืืืืื ืืืืืืช ืืืชืืื, ืืืืืื ืฉืืืืช ืืืืื ืฉื ืืืฆืืื ืืืืื ืืคืืืข ืืืืืจืืช ืืืืื ืืืคืชืืื ืืฉืขืจื ืืืฉื.
ืืคืืกื ืืื ืืืจืฆืื ืืฆืื ืืจืืช ืืกืคืงื
ESLint ืืฉืชืื ืืจืื ืืขืจืืืช CI/CD ืืืื ืื ืืื ืืืืจื ืืื. ืืกืืืืืช ืืจืืื ืืืช, ืืืื ืืืืืจ ืืืจื ืืื ืื ืืื ืื ืื ืืฉืื ืืืคืชืืื ืืงืืื ืืื ืืฉืขืจ ืฆืื ืืจ.
ืืคืืกืื ื ืคืืฆืื ืืืืืื:
- ืืืืงืืช lint ืืคื ื commit ืืื ืืื ืืข ืืคืจืืช ืืจืืจืืช ืืืืื ืก ืืืืืจ
- ืฉืขืจื lint ืฉื ืืงืฉืืช ืืฉืืื (Pull request lint gates) ืืืืืคืื ืกืื ืืจืืื ืืื-ืืืืจ
- ืืืฆืืข lint ืฉื Monorepo ืขื ืืืกืื ืืืืืื ืืฉืืืื ืืืฉืคืขืช ืืื ืืจืืฆื
- ืืืืืืช ืชืฆืืจื ืืจืืืืืช ืืืฉืืชืคืืช ืืื ืฆืืืชืื ืืคืจืืืงืืื ืืจืืืื
ืกืื ืืจืืืืฆืื ืื ืฉื ืชืฆืืจื ืืื ืืจืื ืงืจืืืืช ืืืจืืื ืื ืืืืืื. ืืืขืืื, ืฆืืืชืื ื ืคืจืืื ื ืืืื ืืืฆืืจ ืืขืจืื ืืืืื ืฉืื ืื ืืคืืืขืื ืืขืงืืืืช ืืื-ืืจืืื ืืช.
ืืขืจืืช ืืงืืืืืืช ืฉื ืชืืกืคืื ืืืืืืช ืืจืืื
ืืขืจืืช ืืชืืกืคืื ืฉื ESLint ืืื ืืื ืืืืืืืื ืืืชื ืืืืชืจ. ืืจืืื ืื ืืืืืื ืืืืฅ ืื ืืข ืืฆืืจืช ืืงืกื ืืืื ืชืื ืืจืืืชื ืขืืืจ ืืกืืจืืช ืืชืื ืืืช ืกืคืฆืืคืืืช.
ืฉืืขืืจื ืชืืกืคืื ืืขืื ืืฉืคืขื ืืืืื ืืืืืื:
- ืืืื ืืกืืจืช ืขืืืจ React, Vue, Node.js ืืกืืืืืช ืืืืงื
- ืฉืืืื TypeScript ืืืืฆืขืืช ืฉืืืืช ืื ืชื ืืชืืกืคืื ืืืขืืืืืช
- ืืืืื ืืืืงืื ืืืืื ืืืืืื ืืคืืกื JavaScript ืืฉืืืื
- ืฉืืืืื ืืืฉืืจ ืขืืฆืื ืขื ืืื ืขืืฆืื ืงืื
ืืืืืช ืืจืืื ืื ืืืคืฉืจืช ื-ESLint ืืชืคืงื ืืคืืืคืืจืืช linting ืืจืืืืช ืืืงืฉืจืื ืืืืื ืื ืฉื ืฉืืืืฉ ื-JavaScript, ืืื ืืืืฉืืื ืืคืืคื ืืขื ืืฉืืจืืชื backend.
ืฉืืงืืืื ืชืคืขืืืืื ืชืืช ืงื ื ืืืื
ืืกืืกื ืงืื ืืืืืื ืฉื JavaScript ืืืืืื ืืืืื ืืืฅ ืืืฆืืข ืขื ืฆืื ืืจืืช CI. ืื ืืืจื ืืื ืืชืืื ืืืื ื ืจืืฆื ืืจืืืื ืืืชืจ ืฉื ืฆืื ืืจืืช, ืืืืืงืช ืืฉืืืื ืืจืฆืื ืืฉืืชืคืื, ืื ืืชื ืืืืช ืืืฉื ืื ืขืงืืืช ืืืฉืจ ืืืืจืื ืืืืืื ืงืืฆืื ืฉื ืืฆืจื ืื ืคืจืืืืืืช ืงืืืื ืืขืืจืืืช.
ืืืฆืขื ืืคืืชื ืืจืืื ืืื ืืืืืื ืืขืชืื ืงืจืืืืช:
- ืฉืื ืืืื ืืฆืืืจืื ืืงืืฆืื ืฉืืฉืชื ื ืืืืื ืืงืฉืืช ืืฉืืื
- ืืกืืจืืืืืช ืืืกืื ืืืืืื ืืืคืืชืช ืชืงืืจื ืฉื ื ืืชืื ืืืืจ
- ืงืืืขืช ืืกืืก ืฉื ืืืืื ืขืืืจ ืืืืืืื ืืืืจ ืงืืื ืืชืืืื ืืชืืงืื ืืืืจื
- ืืืืงืช ืืจืืืช ืืืืจื ืืืืืื ื ืืื ืงืืืืจืืืช "ืืืืื ืืืืงืื" ื"ืืขืงื ืืืจ ื ืืงืื"
ESLint ืืืคื ืืืขืื ืืืืชืจ ืืืฉืจ ืืื ืืืืคื ืืืื ืกืคืฆืืคื ืืืคืชื ืฉืชืฆืืจืชื ืืืืืจืช ืื-ืืืง ืืื ืืืืจ.
ืืืืืื ื ืืืืช ืฉื ESLint ื-linting ื-JavaScript ืืจืืื ื ื ืืืขืช ืืืจื ืืื ืืืืืืชื ืืฉืืฉ ืืื ืืข lint ืืืื ืขื ืคื ื ืืกืคืจ ืืกืืจืืช ืชืื ืชืืืื ืืืืฉื ืขืงืื ืืืืฆืขืืช ืชืฆืืจืืช ืืฉืืชืคืืช ืืืื ืืืจืฆืื ืฉื CI.
ืืื ืืืืืฉ ืืืืคืืื ืฉื JavaScript
| ืืื | ืืชืจืื ืืช ืขืืงืจืืื | ืืืืืืช |
|---|---|---|
| JSHint | ืืืื ืคืฉืื ืืืกืจืช ืกืืืื; ืืืืืฅ ื ืจืื ืืืืื ื ืืืกืืืจืืช | ืืขืจืืช ืืงืืืืืืช ืคืืืช ืืืืจื ืืช; ืชืืืื ืืืฉื ืืืชืจ ืืืกืืจืช |
| StandardJS | ืกื ืืืืื ืืขืชื ื ืขื ืชืฆืืจื ืืื ืืืืืช | ืืืืฉืืช ืืืืืืช ืืืชืืืช ืืืื ืืืช ืืจืืื ืืช |
| Semgrep | ืืืืื ืชืื ืืืช ืืืชืืืืช ืืืฉืืช ืจื ืขืืฆืื ืืขืืจ ืืืืื ืกืืืื ืืกืืจืชืืื | ื ืืจืฉืช ืืืืืืืช ืืืชืืืช ืืืืื ืืงืืืช ืืืกืื ืืืืื |
| MegaLinter | ืชืืืืจ CI ืฉื ืืื lint ืืจืืืื ืขื ืคื ื ืืจืืืคืงืืื ืฉื ืืืืจืื | ืืืกืืฃ ืชืงืืจื ืฉื ืืื ืจืืฆื ืฉื ืฆืื ืืจ ืืืืืจืื ืืืืืื |
| ืงืื ืืงืืื | ืืืืื ืืฆืืืจื ืืจืืืืื ืืื ืืืืจืื | ืชืืื ืืื ืืขื lint ืืืฆืื ืืื ืขืืืจ ืืืฆืื JS |
ืชืฆืคืืืช ืืขืฉืืืช ืื ืืืื ืืืืืจื JavaScript
โLinting ืฉื JavaScript ืืจืืื ื ืืฆืืื ืืืฉืจ ืกืืฃ ืืชืฆืืจื ื ืฉืื ืืคืื ื-lint ื ืฉืืจ ื ืืชื ืืคืขืืื. ESLint ืืกืคืง ืืืืฉืืช ืืืงื, ืื ืืืชื ืืืืฉืืช ืขืืืื ืืืฆืืจ ืคืืฆืื ืื ืชืืืืื ืืขืืืช ืขื ืืืืื ืืชืืืืื ืคืจืืกื ืืื ื ืื ืืืืื. ืืจืืื ืื ืืืจื ืืื ืืืืฆืืื ืืช ืืืืฉื ืืืืฆืขืืช ืืืืืืช ืชืฆืืจื ืืฉืืชืคืืช, ืืืืคื ืืฆืืืจืช ืืืืืืื ืฉื ืืืฆืืข CI ืืฉืจ ืฉืืืจืื ืขื ืืชื ืืืืช ืฆืื ืืจ ืฆืคืืื ืชืื ืฉืืคืืจ ืืืจืืชื ืฉื ืืชืืืืืช ืืื ืืืืจืื.
ืืกืืจ ืขื ื ืืชืื ืืื ืื: ืืฉืืขืืช, ืืืจื ืืชืคืงืื ืืงืืืื ืืืืจื ื
ืืงืืจื ืฉื ืืืฉื ื-linting ืืฉืืืืช ืคืืชืื ืชืืื ื ืืืงืืืืช, ืืื ื ืขืฉื ืฉืืืืฉ ืืืืื ืืืืืืืืื ืืืืืื ืืคืืกืื ืืฉืืืื ืืงืื ืืืงืืจ ืืคื ื ืงืืืคืืืฆืื ืื ืืืฆืืข. ืืกืืืืืช ืื ืืกื ืืืืจื ืืืช, linting ืืชืคืชื ืืื ืื ืื ืืืืืช ืืืืืช ืืกืืกื ืืืขืจืื ืงืื ืขืืืจ ืขืงืืืืช ืกืื ืื ืืช, ืคืืืื ืคืืื ืฆืืืืืื ืืกืืืื ื ืชืืืืงื. ืืืงืื ืืืชืืงื ืจืง ืื ืืื ืืช ืชืืืืจ, ืืื linting ืืืืจื ืืื ืื ืชืืื ืฉืืืืช ืงืืืื, ืืคืืกืื ืืืจืืืืืื ืืืืกืืืืช ืกืคืฆืืคืืืช ืืฉืคื.
ืืืขืจืืืช ืืงืืืืืืืช ืฉื ืคืืชืื ืืจืืื ื, ืืื ืฆืืืชืื ืืืืืื ืชืืจืืื ืืืกืืกื ืงืื ืืฉืืชืคืื, ืืื linting ืืืืืื ืชืคืงืื ืืืื ื ืืืืฉื. ืื ืืืคืฉืจืื ืืืจืืื ืื ืืืืืฃ ืกืื ืืจืืื ืฉื ืงืืืื ืืืืคื ืืืืืืื ืืืฉืืืจ ืขื ืขืงืืืืช ืืื ืืืืจืื, ืฉืืจืืชืื ืืฆืืืชื ืคืืชืื. ืืืฉืจ ืื ืืฉืืืืื ืืฆืื ืืจืืช ืคืืชืื, ืืื linting ืืฉืืฉืื ืืืขืจืืืช ืืชืจืขื ืืืงืืืืช ืืืืืืฉืืช ืืคืืกืื ืืขืืืชืืื ืืคื ื ืฉืื ืืชืคืฉืืื ืืกืืืืืช ืืืฆืืจ.
ืืฆืืจืช ืืืืื ืืงืื ืืืืืื ืืงืืืื
ืืืืงืช ืงืื (Code linting) ืืชืืืืกืช ืืชืืืื ืืืืืืื ืฉื ืกืจืืงืช ืงืื ืืงืืจ ืืื ืืืืืช ืืขืืืช ืฉืขืฉืืืืช ืืืฉืคืืข ืขื ืืงืจืืืืช, ืืชืืืืงื ืื ืืืืื ืืช. ืืืื ื "lint" ืืงืืจื ืืืื ืขืืจ ืืื ืืงืก ืืืงืื ืฉื ืืชื ืชืืื ืืืช C ืืื ืืืืืช ืืื ืื ืืฉืืืื ืฉืขืืืืื ืืืืืื ืืืขืืืช ืืืื ืจืืฆื. ืขื ืืืื, ืืืืฉื ืืชืจืื ืืืื ืืขืจืื ืืืืกืกืช ืืืืื ืฉื ืงืื ืืฉืคืืช ืชืื ืืช ืจืืืช.
ืืคืืชืื ืชืืื ื ืืืืจื ื, ืืื ืืื ืืื ื ืืืฆืขืื ืืืืื ืจืื ืฉื ืืืืงืืช ืืืชืื ืืฉืคื ืืืืกืืจืช ืืื ืืชืืช. ืืืื ืืื ืืืจื ืืื ืืืื ืื ืืช ืืื ื ืืงืื, ืืืกืืืืช ืืชื ืฉืืืช, ืืืื ืขืืฆืื ืืฉืืืืืช ืืืืืืช ืืคืฉืจืืืช. ืขื ืืื ืืืืฉืช ืืขืืืช ืืื ืืฉืื ืืืงืื ืฉื ืชืืืื ืืคืืชืื, ืืื ืืื ื ืืกืืืข ืืืคืืชืช ืืกืคืจ ืืคืืืื ืืืืืขืื ืืฉืืืื ืืืืืจืื ืืืชืจ ืฉื ืืืืงืืช ืื ืคืจืืกืช ืืืฆืืจ.
ืืื ืืื ื ืืฉืืฉ ืืืจื ืืื ืืืืื ืืกืคืจ ืฉืืืื ืฉื ืชืืืื ืืขืืืื ืฉื ืืคืืชืื:
- ืืฉืื ืืืื ืืืช ืืชืื ืกืืืืืช ืคืืชืื
- ืืืืงืืช ืืืืืืืืืช ืืืืื ืืืืืช ืืงืฉืช commit ืื pull
- ืืืืคืช ืืืืืช ืืืืื ืืืฆืืข ืฆืื ืืจ CI/CD
- ื ืืชืื ืชืงืืคืชื ืฉื ืืืืจืื ืืืขืงื ืืืจ ืืืืืช ืชืืืืงื
ืื ืื ืื ืื ืืื ืืืคืฉืจืื ืืฆืืืชื ืคืืชืื ืืืืืช ืืขืืืช ืืืืืจืืช ืืืฉืืืจ ืขื ืฉืืืืช ืงืืืื ืขืงืืืืช ืืคืจืืืงืืื ืืืืืื.
ืื ืื ืงืื ืืื ืืื ื ืืืฉืืขืืช ืืืื ืืื ื?
ืืฉืืขืืช ืืืื ื "linting" ืืืจืืช ืืืืืงืืช ืขืืฆืื ืคืฉืืืืช. ืืื linting ืืืืจื ืืื ืืืฆืขืื ืืขืชืื ืงืจืืืืช ื ืืชืื ืืขืืืง ืืืชืจ ืฉืืขืจืื ืืช ืืื ื ืืงืื ืืืืฆื ื ืขืฉื ืฉืืืืฉ ืืืื ื ืชืื ืืช ืืกืืืืื. ืืืืืื, ืืื linting ืขืฉืืืื ืืืืืช ืืฉืชื ืื ืฉืืื ื ืืฉืืืืฉ, ื ืชืืื ืงืื ืฉืืื ื ื ืืืฉืื ืื ืืคืืกืื ืืกืืื ืื ืฉืขืืืืื ืืืืืื ืืคืืืขืืืืช ืืืืื.
ืืฉืคืืช ืจืืืช, ืฉืคืช ืงืื (linting) ืืืืคืช ืื ืฉืืืืช ืขืืืื ืืืืืฆืืช ืืืืืืฆืืช ืขื ืืื ืงืืืืช ืืฉืคืืช ืื ืืชืืืงื ืืืกืืจืืช. ืื ืืืืช ืืื ืขืืืจืืช ืืืคืชืืื ืืขืงืื ืืืจ ืืคืืกืื ืืืฉืคืจืื ืืช ืงืจืืืืช ืืงืื ืืืคืืืชืื ืืช ืืกืืืจืืช ืืืืืจืช ืืืืื ืขืืื ืื.
ืืกืืืืืช ืื ืืกืช ืชืืื ื ืืจืืื ืืืช, ืืฆืืจืช ืืืืืจืื (linting) ืืฉืจืชืช ืืืจื ืืื ืฉืืืฉ ืืืจืืช ืขืืงืจืืืช:
- ืกืื ืืจืืืืฆืื ืฉื ืฉืืืืช ืงืืืื ืืื ืฆืืืชืื ืืืืืจืื
- ืืืืื ืืืงืื ืฉื ืืขืืืืช ืชืื ืืช ืืคื ื ืืืืงืืช ืืืื ืจืืฆื
- ืืืืืช ืชืืืืงื ืืฉืืคืจืช ืืืืฆืขืืช ืืื ื ืงืื ืขืงืื
ืืชืจืื ืืช ืืื ืืืคืืื ืืืฉืืืื ืืืืืื ืืืฉืจ ืฆืืืชื ืคืืชืื ืืืืื ืื ืืืฉืจ ืฉืืจืืชืื ืืจืืืื ืืืืงืื ืกืคืจืืืช ืืชืื ืืืช ืืืจืืืืืืช ืืฉืืชืคืืช.
ื ืืชืื ืืื ืื (linting) ืืฆืื ืืจืืช ืคืืชืื ืืืืจื ืืื
ื ืืชืื ืืื ืืื ื ืืขืจืื ืืช ืงืื ืืืงืืจ ืืืชืื ืืืขืจืืืช ืืืืื ืืืืืจืืช ืืจืืฉ ืืืชืืจืืช ื ืืืื ืงืืืื ืืงืืืืื. ืืขืจืืืช ืืืืื ืืื ืืืืืืช ืืืชืืกืก ืขื ืืืจืืื ืกืื ืื ืฉืคื, ืืืกืืืืช ืืกืืจืช ืื ืืืื ืืืช ืื ืืกื ืกืคืฆืืคืืช ืืืจืืื. ืชืืืื ืื ืืชืื ืืจืื ืืืจื ืืื ืื ืืชืื ืงืื ืืืงืืจ ืืืขืจืืชื ืืื ืืืืื ืืื ืืื ืืืืืช ืืคืจืืช.
ืืกืืืืืช ืคืืชืื ืืจืืื ืืืช, ื ืืชืื ืืืืงืช ืืขืืืช ืืฆืืจืชืืืช (linting) ืคืืขื ืืขืชืื ืงืจืืืืช ืืืืง ืืืกืืจืืืืืช ืืงืจืช ืืืืืช ืจื-ืฉืืืชืืช. ืืฉืืื ืืจืืฉืื ื ืืืื ืืขืืืช ืกืื ืื ืืืช ืืืื ืืืช ืืืืฆืขืืช ืืื ืืืืงืช ืืขืืืช ืืฆืืจืชืืืช (linting). ืฉืืืืช ื ืืกืคืืช ืขืฉืืืืช ืืืืื ืืืืงืืช ืืืืื, ืคืืืคืืจืืืช ื ืืชืื ืกืืื, ืกืจืืงืช ืืืืื ืืืขืจืืืช ื ืืืืจ ืืืื ืจืืฆื.
ื ืืชืื ืืืืจื ื ืฉื ืชืืืืืื ืืืืกืกื ืืื ืืืจืฆืื ืืฉืืื ืืืจื ืืื ืืฆืื ืืจืืช ืืื ืืืจืฆืื ืจืฆืืคืื, ืฉื ืืื ืืฉืืฉ ืืฉืขืจ ืืืืืช ืืืืืืื. ืืืฉืจ ืฉืื ืืื ืงืื ืืคืจืื ืืืืื ืืืืืจืื, ืืฆืื ืืจ ืืืื ืืืกืื ืืืืืืื ืื ืืืจืืฉ ืชืืงืื ืืคื ื ืฉืืฉืื ืืืื ืืชืงืืื.
ืืืืคื ืืืืืืืืช ืื ืืกืืืขืช ืืฉืืืจ ืขื ืกืื ืืจืืื ืื ืืกืืื ืขืงืืืื ืืืจืืื ื ืคืืชืื ืืืืืื. ืขื ืืืื, ื ืืชืื ืงืื ืงืื ืชืืจื ืืืืืืช ืงืื ืืืืื ืืืชืจ, ืชืืืืงื ืืฉืืคืจืช ืืืคืืชืช ืืกืืืื ืืชืคืขืืื ืืืขืจืืืช ืชืืื ื ืืืจืืืืช.
ืืื ืืื ื ืืืกืืก ืืืืืืช ืชืืื ื ืืช ืงืืืื
ืืื ืืื ืืื ื ืืชืคืชืื ืืืืงืจื ืชืืืืจ ืคืฉืืืื ืืืจืืื ืืืื ื ืื ืืืื ืื ืืกืช ืชืืื ื ืืืืจื ื. ืืื ืฉืคืืช ืืืขืจืืืช ืืงืืืืืืืช ืฉื ืคืืชืื, ืืื ืืื ื ืืชืคืงื ืืืื ืืฉืืืช ืืืืคื ืืืืืืืืช ืืืงืืืช ืขืงืืืืช ืงืืืื, ืืื ืขืช ืืขืืืืช ืชืื ืืช ื ืคืืฆืืช ืืขืืืจืช ืืฆืืืชืื ืืฉืืืจ ืขื ืืกืืกื ืงืื ืงืจืืืื ืื ืืชื ืื ืืชืืืืงื. ืขืืืจ ืืจืืื ืื ืืื ืืืื ืชืืงื ืขืืืืืช ืืืืืื ืฉื ืืืฉืืืื ืืฉืืจืืชืื, ืืืืืช ืื ืืืคืืช ืืขืืช ืขืจื ืืืืืื ืืืืืื ืฉืกืงืืจืช ืงืื ืืื ืืช ืืืื ืืื ื ืืืืื ืืืืืฃ ืกืื ืืจืืื ืืืืคื ืืืืื ืขื ืคื ื ืืืืช ืืืืจืื.
ืืืฉืืืื ืืื ืคืืืคืืจืืืช ืืฆืืจืช ืงืื (linting) ืืจืืื ืืืช ืืืืืฉื ืืืฆื ืืืื ืฉืื ืื ืืืคืืื ืืืืืืื ืฉืื ืื ืฉื ืชืืืื ืืืืคืช ืืืืืืช. ืืืง ืืืคืชืจืื ืืช ืืชืืงืืื ืื ืืืืจ ื ืืืื ืืจืืื ืื ืืืืจ ืืืืจืื, ืืขืื ืฉืืืจืื ื ืืชื ืื ืขืืืคืืช ืืชืืืืจ ืฆืื ืืจืืช ืงืื (CI pipeline) ืื ืืฉืืืื ืืฉืืจ ืืืจืืืืช ืขืืืื ืฉื ืืคืชืืื. ืืืื ืืื MegaLinter ื-GitHub Super-Linter ืขืืืจืื ืืชืงื ื ืืช ืืืฆืืข ื-lint ืืื ืฆืื ืืจืืช, ืืขืื ืฉืคืืืคืืจืืืช ืืื Code Climate, DeepSource ื-Codacy ืืกืคืงืืช ื ืจืืืช ืจืืื ืืืชืจ ืืืืืืช ืืืืืช ืืงืื ืืฆืืืชืื ืืืคืจืืืงืืื.
ืืื ืืื ืืื ื ืกืคืฆืืคืืื ืืฉืคื ื ืืชืจืื ืงืจืืืืื ืื ืืกืืืืืช ืื ืืกื ืืืืืืช. ืืื ืืื ืืื ื ืืืืขืื ื-Framework ืขืืืจ ืืขืจืืืช ืืงืืืืืืืช ืืื Python, Java, C# ื-frontend stacks ืืืืจื ืืื ืืืืคืื ืืคืืกืื ืืืืืืืื ืืฉืคืืช ืื-Frameworks ืืืื. ืืืฉืจ ืื ืืฉืืืืื ืืจืืื ืืฆืื ืืจืืช CI ืืกืืืืืช ืคืืชืื, ืืืื ืืื ืขืืืจืื ืืืืืื ืฉืชืงื ื ืงืืืื ืืืฉืืจื ืขืงืืืื ืืื ืงืฉืจ ืืืืืจืืช ืฉืื ืฆืืืชื ืืคืืชืื ืืชืจืืืื.
ืขื ืืืช, ืืื ืขืืืื ืฉืืื (linting) ืื ืชืืื ืงืื ืืขืืงืจ ืืจืืช ืืืื ืืืงืืืฅ. ืืขืื ืฉืืืฉื ืื ืืขืืื ืืืืืื ืืขืืืช ืกืื ืื ืืืช ืืืขืืืืช ืชืื ืืช ื ืคืืฆืืช, ืืื ืื ืชืืื ืืืฉืคืช ืชืืืช ืืื ืืืช ืขืืืงืืช ืืืชืจ ืื ืงืฉืจืื ืืชื ืืืืชืืื ืืชืื ืืขืจืืืช ืืืจืืืืช. ืขืืืจ ืืจืืื ืื ืืืคืขืืืื ืชืืงื ืืืฉืืืื ืืืืืื ืืจืืื ืฉืคืืช, ืืื ืช ืงืฉืจืื ืืืจืืืืืื ืจืืืื ืืืชืจ ืืื ืืืืื ืืืืืช ืืฉืืื ืื ืคืืืช ืืืืืคืช ืกืื ืืจืืื ืฉื ืงืืืื.
ืืคืืขื, ืฆืืืชื ืื ืืกื ืืจืืื ืืื ืจืืื ืืืืฆืื ืืกืืจืืืืืช ืืืืืช ืืจืืืืช. ืืื Linting ืืกืคืงืื ืืืืื ืืืงืื ืฉื ืืขืืืช ืงืืืื ืืืืืคืื ื ืืืื ืขืงืืืื, ืืขืื ืฉืคืืืคืืจืืืช ื ืืชืื ื ืืกืคืืช ืืฆืืขืืช ื ืจืืืช ืขืืืงื ืืืชืจ ืืชืืืช ืืืจืืืืืช ืืืชื ืืืืช ืืืฆืืข ืขื ืคื ื ืืขืจืืืช ืฉืืืืช. ืฉืืืื ืื ืืืคืฉืจ ืืืจืืื ืื ืืฉืืืจ ืื ืขื ืืฉืืขืช ืืจืืช ืืงืื ืืื ืขื ืชืืื ืืช ืืจืืช ืืืขืจืืช ืืื ืฉืคืืืคืืจืืืช ืืชืืื ื ืืืืืช ืืงื ื ืืืื ืืืืืจืืืืช.
ืืืฉืจ ืืืืฉื ืืฆืืจื ืืืฉืืืช, ืืืฉื ื-linting ืืืคืืช ืืืืชืจ ืื ืืืืช ืคืืชืื. ืืื ืืืคืืช ืืืืฆืขื ืืื ื ืืื ื ืืชืืื ืืชืืื ื ื ืืชื ืช ืืชืืืืงื, ืฆืื ืืจืืช ืืกืคืงื โโืืฆืืืื ืืฉืืืืช ืื ืืกืืืช ืขืงืืืืช ืืืขืจืืืช ืืงืืืืืืืช ืชืืื ื ืืจืืื ืืืช ืืืืจื ืืืช.
