เจ เจธเฉเจ เจเจชเจฃเฉ เจเฉฐเจฎ เจตเจฟเฉฑเจ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฆเฉ เจธเจฐเจเจฐเจฎเฉ เจจเจพเจฒ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ เจเฉฑเจ เจเฉฑเจ เจชเฉฑเจงเจฐ 'เจคเฉ เจเฉเจก เจเฉเจฃเจตเฉฑเจคเจพ เจฌเจฃเจพเจ เจฐเฉฑเจเจฃ เจฒเจ. เจตเจฟเฉฑเจ เจฒเจฟเจเฉ เจชเฉเจฐเฉเจเฉเจเจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจจเฉเฉฐ เจเฉเฉเจฆเฉ เจธเจฎเฉเจ VueJs+Typescript, เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจชเฉเจฆเจพ เจนเฉเจเจเจเฅค เจเจธ เจฒเจ, เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจฆเฉฑเจธเจฃเจพ เจเจพเจนเจพเจเจเจพ เจเจฟ เจ เจธเฉเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจนเฉฑเจฒ เจเฉเจคเจพ.
เจเจธ เจฒเฉเจ เจตเจฟเจ เจ เจธเฉเจ เจเฉฑเจฒ เจเจฐเจพเจเจเฉ, เจเจฟเจตเฉเจ เจเจฟ เจฎเฉเจ เจเฉฑเจชเจฐ เจฒเจฟเจเจฟเจ เจนเฉ, เจธเฉเจจเจพเจฐเจเจฟเจเจฌ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฌเจพเจฐเฉ. เจเฉฑเจ เจเฉเจเจพ เจเจฟเจนเจพ เจธเจฟเจงเจพเจเจค - เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉ เจนเฉ, เจเจจเฉเจนเจพเจ เจฒเจ เจเฉ เจเจธ เจฌเจพเจฐเฉ เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจธเฉเจฃ เจฐเจนเฉ เจนเจจ:
เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ (เจธเจพเจฌเจเจพ เจธเฉเจจเจพเจฐ) เจจเจฟเจฐเฉฐเจคเจฐ เจจเจฟเจฐเฉเจเจฃ เจ เจคเฉ เจเฉเจก เจเฉเจฃเจตเฉฑเจคเจพ เจฎเจพเจช เจฒเจ เจเฉฑเจ เจเจชเจจ เจธเฉเจฐเจธ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจนเฉเฅค
MISRA C, MISRA C++, MITER/CWE เจ เจคเฉ CERT เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเฉเจกเจฟเฉฐเจ เจธเจเฉเจเจกเจฐเจก เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจฎเจฟเจเจฐเจพเจ เจฆเฉ เจจเจฟเจฏเจฎเจพเจ เจ เจจเฉเจธเจพเจฐ เจเฉเจก เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจ เจคเฉ เจเจฒเจคเฉ เจเฉเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจน OWASP เจเฉเจช 10 เจ เจคเฉ CWE/SANS เจเฉเจช 25 เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจคเจฐเฉเจเฉ เจธเฉเจเฉเจเจ เจตเจฟเฉฑเจเฉเจ เจคเจฐเฉเฉฑเจเฉเจเจ เจจเฉเฉฐ เจตเฉ เจชเจเจพเจฃ เจธเจเจฆเจพ เจนเฉเฅค
เจเจธ เจคเฉฑเจฅ เจฆเฉ เจฌเจพเจตเจเฉเจฆ เจเจฟ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจตเฉฑเจ-เจตเฉฑเจ เจคเจฟเจเจฐ เจเฉเจคเฉ เจเฉเจฒเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ, เจธเฉเจจเจพเจฐเจเจฟเจเจฌ เจจเจคเฉเจเจฟเจเจ เจจเฉเฉฐ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจกเฉเจธเจผเจฌเฉเจฐเจก เจคเฉฑเจ เจเจเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉ, เจฆเฉเฉเจพเจ เจฆเจพ เจเจคเจฟเจนเจพเจธ เจฐเฉฑเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฟเจเจพเจธ เจฆเฉ เจฆเฉเจฐเจพเจจ เจธเจพเจซเจเจตเฉเจ เจฐ เจเฉเจฃเจตเฉฑเจคเจพ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจพเจ เจฆเฉ เจเจฎ เจฐเฉเจเจพเจจ เจจเฉเฉฐ เจฆเฉเจเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค
เจนเฉเจฐ เจตเฉเจฐเจตเฉ 'เจคเฉ เจฎเจฟเจฒ เจธเจเจฆเฉ เจนเจจ
เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพเจตเจพเจ เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค เจเจชเจฐเฉเจเจค เจฒเจฟเฉฐเจ เจคเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ, เจเจน 25 เจคเฉเจ เจตเฉฑเจง เจญเจพเจธเจผเจพเจตเจพเจ เจนเจจเฅค เจเจฟเจธเฉ เจเจพเจธ เจญเจพเจธเจผเจพ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจเจฟเจค เจชเจฒเฉฑเจเจเจจ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจฎเจฟเจเจจเจฟเจเฉ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจธเจผเจพเจฎเจฒ เจนเฉ เจเจพเจตเจพเจธเจเจฐเจฟเจชเจ (typeัript เจธเจฎเฉเจค), เจนเจพเจฒเจพเจเจเจฟ เจตเจฟเจเฉ เจเจธ เจฆเฉ เจเจฒเจ เจเจนเจฟเฉฐเจฆเจพ เจนเฉเฅค เจชเจฟเฉฑเจเฉ เจเจพเจตเจพเจธเจเจฐเจฟเจชเจ เจชเจฒเฉฑเจเจเจจ เจเจตเจพเจฌ SonarJS, เจเจพเจเจชเจธเจเฉเจฐเจฟเจชเจ เจฒเจ SonarTS เจเฉเจฐเจฎเจตเจพเจฐ.
เจ เจงเจฟเจเจพเจฐเจค เจเจฒเจพเจเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจญเฉเจเจฃ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ sonarqube-เจธเจเฉเจจเจฐ, เจเฉ เจเจฟ, เจคเฉเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจธเฉฐเจฐเจเจจเจพ-เจซเจพเจเจฒ, เจเจธ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจญเฉเจเจฆเฉ เจนเฉ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ เจนเฉเจฐ เจเจเฉเจเจฐเจจ เจ เจคเฉ เจเจเฉเจเจฐเจฃ เจฒเจเฅค
เจเจฐเจจ เจฒเจ เจเจพเจตเจพเจธเจเจฐเจฟเจชเจ เจนเฉ
เจเฉฑเจ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเจจ เจฒเจ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ เจเจ เจซเจพเจเจฆเจพ เจเจ เจพเจเจ เจกเฉเจเจฐ-เจเฉฐเจชเฉเจเจผ.
sonar.yaml:
version: '1'
services:
simplesample-sonar:
image: sonarqube:lts
ports:
- 9001:9000
- 9092:9092
network_mode: bridge
เจฒเจพเจเจ เจเจฐเฉ:
docker-compose -f sonar.yml up
เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ เจเฉฑเจฅเฉ เจเจชเจฒเจฌเจง เจนเฉเจตเฉเจเจพ:
เจเจธ เจตเจฟเฉฑเจ เจ
เจเฉ เจคเฉฑเจ เจเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจจเจนเฉเจ เจนเจจ เจ
เจคเฉ เจเจน เจเจเจฟเจค เจนเฉเฅค เจ
เจธเฉเจ เจเจธ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจ เฉเจ เจเจฐเจพเจเจเฉเฅค เจฎเฉเจ เจฒเจ เจ
เจงเจฟเจเจพเจฐเจค เจเจฆเจพเจนเจฐเจฃ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจฟเจ VueJS+TS+Jest. เจเจ เจเจธเจจเฉเฉฐ เจเจชเจฃเฉ เจตเฉฑเจฒ เจฎเฉเฉเฉเจ:
git clone https://github.com/vuejs/vue-test-utils-typescript-example.git
เจชเจนเจฟเจฒเจพเจ เจธเจพเจจเฉเฉฐ เจเจฒเจพเจเฉฐเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ, เจเจฟเจธเจจเฉเฉฐ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ sonar-เจธเจเฉเจจเจฐเจฒเจ npm เจเฉฑเจ เจฐเฉเจชเจฐ เจนเฉ:
yarn add sonarqube-scanner
เจ เจคเฉ เจคเฉเจฐเฉฐเจค เจเจฎเจพเจเจก เจจเฉเฉฐ เจเฉเฉเฉ เจธเจเฉเจฐเจฟเจชเจเจพเจ เจเจธ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ.
package.json:
{
โฆ
scripts: {
...
"sonar": "sonar-scanner"
...
},
โฆ
}
เจ เฉฑเจเฉ, เจธเจเฉเจจเจฐ เจฆเฉ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจธเฉเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ. เจเจ เจฎเฉเจฒ เจเฉฑเจฒเจพเจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจเฅค
sonar-project.properties:
sonar.host.url=http://localhost:9001
sonar.projectKey=test-project-vuejs-ts
sonar.projectName=Test Application (VueJS+TS)
sonar.sources=src
# sonar.tests=
sonar.test.inclusions=src/**/*tests*/**
sonar.sourceEncoding=UTF-8
- sonar.host.url - เจชเจคเจพ เจธเฉเจจเจพเจฐ'เจ;
- sonar.projectKey - เจธเจฐเจตเจฐ 'เจคเฉ เจตเจฟเจฒเฉฑเจเจฃ เจชเฉเจฐเฉเจเฉเจเจ เจชเจเจพเจฃเจเจฐเจคเจพ เจธเฉเจจเจพเจฐ'เจ;
- sonar.projectName - เจเจธเจฆเจพ เจจเจพเจฎ, เจเจธเจจเฉเฉฐ เจเจฟเจธเฉ เจตเฉ เจธเจฎเฉเจ เจฌเจฆเจฒเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจฟเจเจเจเจฟ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉเจเจฐเจพ เจชเจเจพเจฃเจฟเจ เจเจฟเจ เจนเฉ เจชเฉเจฐเฉเจเฉเจเจ เจเฉเฉฐเจเฉ;
- sonar.sources - เจธเจฐเฉเจคเจพเจ เจตเจพเจฒเจพ เจซเฉเจฒเจกเจฐ, เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจน เจเจฐเฉเจเฉ, เจชเจฐ เจเฉเจ เจตเฉ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจเจน เจซเฉเจฒเจกเจฐ เจฐเฉเจ เจซเฉเจฒเจกเจฐ เจฆเฉ เจ เจจเฉเจธเจพเจฐเฉ เจธเฉเฉฑเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเฉ เจเจฟ เจเจน เจซเฉเจฒเจกเจฐ เจนเฉ เจเจฟเฉฑเจฅเฉเจ เจธเจเฉเจจเจฐ เจฒเจพเจเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ;
- sonar.เจเฉเจธเจ - เจเฉฑเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจเฉ เจชเจฟเจเจฒเฉ เจเฉฑเจ เจฆเฉ เจจเจพเจฒ เจฎเจฟเจฒ เจเฉ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจเจน เจซเฉเจฒเจกเจฐ เจนเฉ เจเจฟเฉฑเจฅเฉ เจเฉเจธเจ เจธเจฅเจฟเจค เจนเจจเฅค เจเจธ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ, เจ เจเจฟเจนเจพ เจเฉเจ เจซเฉเจฒเจกเจฐ เจจเจนเฉเจ เจนเฉ, เจ เจคเฉ เจเฉเจธเจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจเฉเจธเจ เจเฉเจคเฉ เจเจพ เจฐเจนเฉ เจเฉฐเจชเฉเจจเฉเจเจ เจฆเฉ เจ เฉฑเจเฉ เจธเจฅเจฟเจค เจนเฉเฅคเจเฉเจธเจ', เจเจธ เจฒเจ เจ เจธเฉเจ เจเจธ เจจเฉเฉฐ เจซเจฟเจฒเจนเจพเจฒ เจจเจเจผเจฐเจ เฉฐเจฆเจพเจเจผ เจเจฐเจพเจเจเฉ เจ เจคเฉ เจ เจเจฒเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ;
- sonar.test.inclusions - เจเฉฑเจ เจฎเจพเจธเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจธเจเจพเจ เจฒเจ เจฎเจพเจฐเจ, เจเจพเจฎเจฟเจเจ เจฆเฉเจเจฐเจพ เจตเฉฑเจ เจเฉเจคเฉ เจเจ เจคเฉฑเจค เจธเฉเจเฉเจฌเฉฑเจง เจนเฉ เจธเจเจฆเฉ เจนเจจ;
- sonar.source เจเจจเจเฉเจกเจฟเฉฐเจ - เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจฒเจ เจเจจเจเฉเจกเจฟเฉฐเจเฅค
เจธเจเฉเจจเจฐ เจฆเฉ เจชเจนเจฟเจฒเฉ เจฒเจพเจเจ เจฒเจ, เจธเจญ เจเฉเจ เจคเจฟเจเจฐ เจนเฉ, เจฎเฉเฉฑเจ เจชเจฟเจเจฒเฉ เจเจพเจฐเจตเจพเจ เจจเฉเฉฐ เจเฉฑเจก เจเฉ: เจเฉเจธเจ เจเฉฐเจเจฃ เจจเฉเฉฐ เจเฉเจฆ เจฒเจพเจเจ เจเจฐเจจเจพ, เจคเจพเจ เจเฉ เจเจน เจเจตเจฐเฉเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจคเจฟเจเจฐ เจเจฐ เจธเจเฉ, เจเจฟเจธ เจจเฉเฉฐ เจธเจเฉเจจเจฐ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจตเจฐเจคเฉเจเจพเฅค
เจชเจฐ เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจเจพเจฃเจเจพเจฐเฉ เจคเจฟเจเจฐ เจเจฐเจจ เจฒเจ เจเฉเจธเจ เจเฉฐเจเจฃ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจธ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ, เจเฉเจธเจ เจเฉฐเจเจฃ เจนเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ,. เจ เจคเฉ เจเจธ เจฆเฉเจเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจซเจพเจเจฒ เจฆเฉ เจ เจจเฉเจธเจพเจฐเฉ เจญเจพเจ เจตเจฟเฉฑเจ เจนเจจ เจชเฉเจเฉเจ.เจเจธเจจ.
เจเจ เจเจนเจจเจพเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจเฉเฉเฉเจ:
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*",
"!src/main.ts",
"!src/App.vue",
"!src/**/*.d.*",
"!src/**/*__tests__*"
],
เจญเจพเจต, เจ เจธเฉเจ เจเจตเจฐเฉเจ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจ เจคเฉ เจธเจฐเฉเจค (เจ เจชเจตเจพเจฆเจพเจ เจฆเฉ เจจเจพเจฒ) เจเจฟเจธ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจเจน เจฌเจฃเจพเจเจ เจเจพเจตเฉเจเจพ, เจฒเจ เจ เจธเฉเจ เจเฉฐเจกเฉ เจจเฉเฉฐ เจเฉเจฆ เจธเฉเฉฑเจ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเจ เจนเฉเจฃ เจเฉเจธเจ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ:
yarn test
เจ เจธเฉเจ เจนเฉเจ เจฒเจฟเจเจฟเจเจ เจจเฉเฉฐ เจฆเฉเจเจพเจเจเฉ:
เจเจพเจฐเจจ เจเจน เจนเฉ เจเจฟ เจเฉฐเจชเฉเจจเฉเจเจ เจตเจฟเฉฑเจ เจนเฉ เจเฉเจ เจเฉเจก เจจเจนเฉเจ เจนเฉเฅค เจเจ เจเจธเจจเฉเฉฐ เจ เฉเจ เจเจฐเฉเจเฅค
HelloWorld.vue:
...
methods: {
calc(n) {
return n + 1;
}
},
mounted() {
this.msg1 = this.msg + this.calc(1);
},
...
เจเจน เจเจตเจฐเฉเจ เจฆเฉ เจเจฃเจจเจพ เจเจฐเจจ เจฒเจ เจเจพเจซเจผเฉ เจนเฉเจตเฉเจเจพ.
เจเฉเจธเจ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจ เจธเฉเจ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจตเจพเจเจเฉ:
เจธเจเจฐเฉเจจ 'เจคเฉ เจธเจพเจจเฉเฉฐ เจเจตเจฐเฉเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉเจเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ, เจ เจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจซเฉเจฒเจกเจฐ เจฌเจฃเจพเจเจ เจเจพเจตเฉเจเจพ เจเจตเจฐเฉเจ เจเฉฑเจ เจฏเฉเจจเฉเจตเจฐเจธเจฒ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจเฉเจธเจ เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉ เจจเจพเจฒ LCOV (LTP GCOV เจเจเจธเจเฉเจเจธเจผเจจ).
เจเฉ.เจธเฉ.เจ.เจตเฉ เจเฉเจก เจเจตเจฐเฉเจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจธเฉเจคเฉฐเจคเจฐ เจคเฉเจฐ 'เจคเฉ เจตเฉฐเจกเฉ เจเจ เจเจชเจฏเฉเจเจคเจพ เจนเฉเฅค Gcov เจเฉฑเจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจธเจเฉเจเจฎเฉเจเจ เจฒเจ เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ เจฆเฉ เจธเจนเฉ เจธเฉฐเจเจฟเจ เจคเจฟเจเจฐ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฐเฉเจค เจเฉเจก เจตเจฟเฉฑเจ เจเจจเฉเจเฉเจธเจผเจจ เจเฉเฉเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค Gcov GCC เจชเฉเจเฉเจ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ เจเฉฑเจ เจฎเจฟเจเจฐเฉ เจเจชเจฏเฉเจเจคเจพ เจตเจเฉเจ เจเจเจเจฆเจพ เจนเฉเฅค
เจเจฒ.เจธเฉ.เจ.เจตเฉ - gcov เจฒเจ เจเฉเจฐเจพเจซเจฟเจเจฒ เจเฉฐเจเจฐเจซเฉเจธเฅค เจเจน เจเจ เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจฒเจ gcov เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉเจก เจ เจคเฉ เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉ เจจเจพเจฒ HTML เจชเฉฐเจจเจฟเจเจ เจฆเจพ เจเฉฑเจ เจธเจฎเฉเจน เจคเจฟเจเจฐ เจเจฐเจฆเจพ เจนเฉเฅค เจจเฉเจตเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจธเจพเจจ เจฌเจฃเจพเจเจฃ เจฒเจ เจชเฉฐเจจเฉ เจตเฉ เจฌเจฃเจพเจ เจเจ เจนเจจเฅค Lcov เจธเจคเจฐ, เจซเฉฐเจเจธเจผเจจเจพเจ เจ เจคเฉ เจธเจผเจพเจเจพเจตเจพเจ เจฆเฉ เจเจตเจฐเฉเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจเฉเจธเจเจพเจ เจฆเฉ เจฎเฉเจเฉฐเจฎเจฒ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจตเจฟเฉฑเจ เจธเจฅเจฟเจค เจนเฉเจตเฉเจเฉ coverage/lcov.info.
เจธเจพเจจเฉเฉฐ เจเจนเจฟเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจธเฉเจจเจพเจฐ'เจฎเฉเจ เจเจน เจเจฟเฉฑเจฅเฉเจ เจฒเฉ เจธเจเจฆเจพ เจนเจพเจ? เจเจธ เจฒเจ, เจเจ เจเจธเจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจนเฉเจ เจฒเจฟเจเฉเจเจ เจฒเจพเจเจจเจพเจ เจเฉเฉเฉเจเฅค เจชเจฐ เจเฉฑเจ เจฌเจฟเฉฐเจฆเฉ เจนเฉ: เจชเฉเจฐเฉเจเฉเจเจ เจฌเจนเฉ-เจญเจพเจธเจผเจพเจ เจนเฉ เจธเจเจฆเฉ เจนเจจ, เจฏเจพเจจเฉ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจเจฐเฉเจเฉ เจเจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพเจตเจพเจ เจฒเจ เจธเจฐเฉเจค เจเฉเจก เจนเจจ เจ
เจคเฉ เจเฉฑเจ เจเจพเจ เจฆเฉเจเฉ เจจเจพเจฒ เจฎเจพเจจเจคเจพ เจชเฉเจฐเจพเจชเจค เจนเฉ, เจ
เจคเฉ เจฌเจฆเจฒเฉ เจตเจฟเฉฑเจ, เจเฉฑเจ เจเจพเจ เจฆเฉเจเฉ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจธเจฆเฉ เจเจเจธเจเฉเจเจธเจผเจจ เจฆเฉเจเจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจ
เจคเฉ เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจตเฉฑเจ-เจตเฉฑเจ เจชเฉเจฐเฉเจเจฐเจพเจฎเจฟเฉฐเจ เจญเจพเจธเจผเจพเจตเจพเจ เจฒเจ เจตเฉฑเจ-เจตเฉฑเจ เจฅเจพเจตเจพเจ 'เจคเฉ เจธเจเฉเจฐ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจนเจฐเฉเจ เจญเจพเจธเจผเจพ เจจเฉเฉฐ เจเจธ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจเจชเจฃเจพ เจธเฉเจเจธเจผเจจ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจธเจพเจกเจพ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฐเจคเจฆเจพ เจนเฉ เจเจพเจเจชเจธเจเฉเจฐเจฟเจชเจ, เจเจธ เจฒเจ เจธเจพเจจเฉเฉฐ เจเจธเจฆเฉ เจฒเจ เจเฉฑเจ เจธเฉเจเจฟเฉฐเจ เจธเฉเจเจธเจผเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
sonar-project.properties:
sonar.typescript.coveragePlugin=lcov
sonar.typescript.lcov.reportPaths=coverage/lcov.info
เจธเจเฉเจจเจฐ เจฆเฉ เจชเจนเจฟเจฒเฉ เจฒเจพเจเจ เจฒเจ เจธเจญ เจเฉเจ เจคเจฟเจเจฐ เจนเฉเฅค เจฎเฉเจ เจจเฉเจ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเจพ เจเจฟ เจชเฉเจฐเฉเจเฉเจเจ เจนเฉ เจธเฉเจจเจพเจฐ'e เจเจชเจฃเฉ เจเจช เจฌเจฃ เจเจพเจเจฆเจพ เจนเฉ เจเจฆเฉเจ เจคเฉเจธเฉเจ เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจเจฟเจธเฉ เจฆเจฟเฉฑเจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจธเจเฉเจจเจฐ เจเจฒเจพเจเจเจฆเฉ เจนเฉเฅค เจฌเจพเจ เจฆ เจฆเฉ เจธเจฎเฉเจ เจตเจฟเฉฑเจ, เจธเจฎเฉเจ เจฆเฉ เจจเจพเจฒ เจชเฉเจฐเฉเจเฉเจเจ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจเจคเฉเจธเจผเฉเจฒเจคเจพ เจจเฉเฉฐ เจตเฉเจเจฃ เจฒเจ เจเจพเจฃเจเจพเจฐเฉ เจเจเฉฑเจ เฉ เจเฉเจคเฉ เจเจพเจตเฉเจเฉเฅค
เจเจธ เจฒเจ, เจเจ เจชเจนเจฟเจฒเจพเจ เจฌเจฃเจพเจ เจเจ เจเจฎเจพเจเจก เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉเจ เจชเฉเจเฉเจ.เจเจธเจจ:
yarn run sonar
เจจเฉเจ: เจคเฉเจธเฉเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจตเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉ -X เจตเจงเฉเจฐเฉ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจฒเฉเจเจฟเฉฐเจ เจฒเจเฅค
เจเฉเจเจฐ เจธเจเฉเจจเจฐ เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจฒเจพเจเจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ, เจคเจพเจ เจธเจเฉเจจเจฐ เจฆเฉ เจฌเจพเจเจจเจฐเฉ เจชเจนเจฟเจฒเจพเจ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเฉ เจเจพเจตเฉเจเฉเฅค เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจเจน เจเจพเจฒเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจธเจเฉเจจ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจฆเจพ เจนเฉ เจธเฉเจจเจพเจฐเจเฉฐเจธเจเจพเจฒ เจเฉเจคเฉ เจชเจฒเฉฑเจเจเจจเจพเจ เจฒเจ, เจเจธ เจคเจฐเฉเจนเจพเจ เจธเจฎเจฐเจฅเจฟเจค เจญเจพเจธเจผเจพ เจฆเฉ เจเจฃเจจเจพ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจธเจฆเฉ เจธเฉฐเจเจพเจฒเจจ เจฒเจ เจเจ เจนเฉเจฐ เจฎเจพเจชเจฆเฉฐเจก เจตเฉ เจฒเฉเจก เจเฉเจคเฉ เจเจ เจนเจจ: เจเฉเจฃเจตเฉฑเจคเจพ เจชเฉเจฐเฉเจซเจพเจเจฒ, เจเจฟเจฐเจฟเจเจธเจผเฉเจฒ เจจเจฟเจฏเจฎ, เจฎเฉเจเฉเจฐเจฟเจเจธ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ, เจธเจฐเจตเจฐ เจจเจฟเจฏเจฎ.
เจจเฉเจ: เจ เจธเฉเจ เจเจธ เจฒเฉเจ เจฆเฉ เจขเจพเจเจเฉ เจฆเฉ เจ เฉฐเจฆเจฐ เจเจนเจจเจพเจ 'เจคเฉ เจตเจฟเจธเจคเจพเจฐ เจจเจพเจฒ เจจเจนเฉเจ เจตเจฟเจเจพเจฐเจพเจเจเฉ, เจชเจฐ เจคเฉเจธเฉเจ เจนเจฎเฉเจธเจผเจพ เจ เจงเจฟเจเจพเจฐเจค เจธเจฐเฉเจคเจพเจ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจ เฉฑเจเฉ, เจซเฉเจฒเจกเจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฐเฉเจเฉ เจธเจญ เจฒเจ เจธเจฐเฉเจค เจซเจพเจเจฒเจพเจ เจฆเฉ เจเจชเจฒเจฌเจงเจคเจพ เจฒเจ (เจเฉเจเจฐ เจเฉเจ เจเจพเจธ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ) เจธเจฎเจฐเจฅเจฟเจค เจญเจพเจธเจผเจพ, เจเจนเจจเจพเจ เจฆเฉ เจฌเจพเจ เจฆ เจฆเฉ เจเฉฐเจกเฉเจเจธเจฟเฉฐเจ เจฆเฉ เจจเจพเจฒเฅค
เจ เฉฑเจเฉ เจตเฉฑเจ-เจตเฉฑเจ เจนเฉเจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจเจเจเจฆเฉ เจนเจจ, เจเจฟเจจเฉเจนเจพเจ 'เจคเฉ เจ เจธเฉเจ เจเจธ เจฒเฉเจ เจตเจฟเจ เจงเจฟเจเจจ เจจเจนเฉเจ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฒเจฟเจจเจเจฟเฉฐเจ, เจเฉเจก เจกเฉเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจฃเจพ, เจเจฆเจฟ)เฅค
เจธเจเฉเจจเจฐ เจฆเฉ เจเฉฐเจฎ เจฆเฉ เจฌเจฟเจฒเจเฉเจฒ เจ เฉฐเจค 'เจคเฉ, เจธเจพเจฐเฉ เจเจเฉฑเจคเจฐ เจเฉเจคเฉ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจชเฉเจฐเจพเจฒเฉเจเจฌเฉฑเจง เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจญเฉเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจ เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ เจเจฟ เจตเฉเจฌ เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจเฉ เจนเฉเจเจ เจนเฉ:
เจเจฟเจตเฉเจ เจเจฟ เจ เจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ, เจเฉเจ เจเฉฐเจฎ เจเฉเจคเจพ, เจ เจคเฉ เจเจฟเจธเฉ เจเจฟเจธเจฎ เจฆเฉ เจเจตเจฐเฉเจ เจตเฉ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจน เจธเจพเจกเฉ เจจเจพเจฒ เจฎเฉเจฒ เจจเจนเฉเจ เจเจพเจเจฆเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ,-เจฐเจฟเจชเฉเจฐเจ.
เจเจ เจเจธ เจจเฉเฉฐ เจฌเจพเจนเจฐ เจเฉฑเจขเฉเจเฅค เจเจ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจนเฉเจฐ เจตเจฟเจธเจคเจพเจฐ เจตเจฟเฉฑเจ เจตเฉเจเฉเจ, เจเจตเจฐเฉเจ เจฎเฉเฉฑเจฒ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ, เจ เจคเฉ เจเฉฑเจ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจซเจพเจเจฒ เจฐเจฟเจชเฉเจฐเจ เจตเจฟเฉฑเจ "เจซเจพเจฒ เจเฉ" เจเจฐเฉ:
เจเฉฑเจฅเฉ เจ เจธเฉเจ เจฎเฉเฉฑเจ, เจเจพเจเจ เจเฉเจคเฉ เจซเจพเจเจฒ เจคเฉเจ เจเจฒเจพเจตเจพ เจฆเฉเจเจฆเฉ เจนเจพเจ HelloWorld.vue, เจเฉฑเจ เจซเจพเจเจฒ เจตเฉ เจนเฉ main.ts, เจเฉ เจเจตเจฐเฉเจ เจฆเฉ เจชเฉเจฐเฉ เจคเจธเจตเฉเจฐ เจจเฉเฉฐ เจตเจฟเจเจพเฉเจฆเจพ เจนเฉเฅค เจชเจฐ เจ เจธเฉเจ เจเจธ เจจเฉเฉฐ เจเจตเจฐเฉเจ เจฆเฉ เจเจฃเจจเจพ เจคเฉเจ เจเจฟเจตเฉเจ เจฌเจพเจนเจฐ เจฐเฉฑเจเจฟเจ. เจนเจพเจ, เจธเจญ เจเฉเจ เจธเจนเฉ เจนเฉ, เจชเจฐ เจเจน เจชเฉฑเจงเจฐ 'เจคเฉ เจธเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ,, เจชเจฐ เจธเจเฉเจจเจฐ เจจเฉ เจเจธเจจเฉเฉฐ เจเฉฐเจกเฉเจเจธ เจเฉเจคเจพ, เจเจธเจฒเจ เจเจน เจเจธเจฆเฉ เจเจฃเจจเจพ เจตเจฟเฉฑเจ เจเจคเจฎ เจนเฉ เจเจฟเจเฅค
เจเจ เจเจธเจจเฉเฉฐ เจ เฉเจ เจเจฐเฉเจ:
sonar-project.properties:
...
sonar.exclusions=src/main.ts
...
เจฎเฉเจ เจเฉฑเจ เจธเจชเจธเจผเจเฉเจเจฐเจจ เจฆเฉเจฃเจพ เจเจพเจนเจพเจเจเจพ: เจเจธ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจ เจเจ เจซเฉเจฒเจกเจฐเจพเจ เจคเฉเจ เจเจฒเจพเจตเจพ, เจชเฉเจฐเจพเจฎเฉเจเจฐ เจตเจฟเฉฑเจ เจธเฉเจเฉเจฌเฉฑเจง เจธเจพเจฐเฉ เจซเฉเจฒเจกเจฐเจพเจ เจจเฉเฉฐ เจตเฉ เจเฉเฉเจฟเจ เจเจฟเจ เจนเฉ sonar.test.inclusions.
เจธเจเฉเจจเจฐ เจฒเจพเจเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, เจ เจธเฉเจ เจธเจนเฉ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉเจเจฆเฉ เจนเจพเจ:
เจเจ เจ เจเจฒเจพ เจจเฉเจเจคเจพ เจตเฉเจเฉเจ - เจเฉเจฃเจตเฉฑเจคเจพ เจชเฉเจฐเฉเจซเจพเจเจฒ. เจฎเฉเจ เจธเจฎเจฐเจฅเจจ เจฌเจพเจฐเฉ เจเฉฑเจชเจฐ เจเฉฑเจฒ เจเฉเจคเฉ เจนเฉ เจธเฉเจจเจพเจฐ'เจเจฎ เจเฉฑเจเฉ เจธเจฎเฉเจ เจเจ เจญเจพเจธเจผเจพเจตเจพเจเฅค เจเจน เจฌเจฟเจฒเจเฉเจฒ เจเจนเฉ เจนเฉ เจเฉ เจ เจธเฉเจ เจฆเฉเจ เจฐเจนเฉ เจนเจพเจเฅค เจชเจฐ เจ เจธเฉเจ เจเจพเจฃเจฆเฉ เจนเจพเจ เจเจฟ เจธเจพเจกเฉ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจเจฟเจ เจนเฉ TS, เจคเจพเจ เจเจฟเจเจ เจฌเฉเจฒเฉเฉเฉ เจนเฉเจฐเจพเจซเฉเจฐเฉ เจ เจคเฉ เจเจพเจเจเจพเจ เจจเจพเจฒ เจธเจเฉเจจเจฐ เจจเฉเฉฐ เจฆเจฌเจพเจเฅค เจ เจธเฉเจ เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉฑเจ เจนเฉเจฐ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจเฉเฉ เจเฉ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ เจญเจพเจธเจผเจพ เจธเฉเจ เจเจฐเจพเจเจเฉ เจธเฉเจจเจพเจฐ'เจ:
sonar-project.properties:
...
sonar.language=ts
...
เจเจฒเฉ เจธเจเฉเจจเจฐ เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจจเจคเฉเจเจพ เจฆเฉเจเจฆเฉ เจนเจพเจ:
เจเจตเจฐเฉเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเจคเจฎ เจนเฉ เจเจ เจธเฉเฅค
เจเฉเจเจฐ เจ เจธเฉเจ เจธเจเฉเจจเจฐ เจฒเฉเจ เจจเฉเฉฐ เจตเฉเจเจฆเฉ เจนเจพเจ, เจคเจพเจ เจ เจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฒเจพเจเจจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ:
เจญเจพเจต, เจธเจพเจกเฉเจเจ เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจเฉฐเจกเฉเจเจธ เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค
เจธเจฅเจฟเจคเฉ เจนเฉเจ เจฒเจฟเจเฉ เจ เจจเฉเจธเจพเจฐ เจนเฉ: เจ เจงเจฟเจเจพเจฐเจค เจคเฉเจฐ 'เจคเฉ เจธเจนเจฟเจฏเฉเจเฉ VueJs เจชเจฒเฉฑเจเจเจจ เจตเจฟเฉฑเจ เจนเฉ SonarJSเจเฉ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉ เจเจพเจตเจพเจธเจเจฐเจฟเจชเจ.
เจชเจฐ เจเจน เจธเจฎเจฐเจฅเจจ เจชเจฒเฉฑเจเจเจจ เจตเจฟเฉฑเจ เจจเจนเฉเจ เจนเฉ SonarTS เจจเฉเฉฐ TS, เจเจฟเจธ เจฌเจพเจฐเฉ เจฌเฉฑเจ เจเจฐเฉเจเจฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจ เจงเจฟเจเจพเจฐเจค เจเจฟเจเจ เจเฉเจฒเฉเจนเจฟเจ เจเจฟเจ เจธเฉ เจธเฉเจจเจพเจฐ'เจ:
เจเจธ เจคเฉฑเจฅ เจฆเฉ เจชเฉเจธเจผเจเฉ เจเจฐเจฆเฉ เจนเฉเจ, SonarQube เจกเจฟเจตเฉเจฒเจชเจฐเจพเจ เจฆเฉ เจชเฉเจฐเจคเฉเจจเจฟเจงเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจฆเฉ เจเฉเจ เจเจตเจพเจฌ เจเฉฑเจฅเฉ เจนเจจเฅค
เจชเจฐ เจนเจฐ เจเฉเจเจผ เจธเจพเจกเฉ เจฒเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเฉ, เจคเฉเจธเฉเจ เจเจคเจฐเจพเจเจผ เจเจฐเจฆเฉ เจนเฉ. เจนเจพเจ เจเจน เจนเฉ, เจเจ เจเจธ เจจเฉเฉฐ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ "เจนเฉเจ".
เจเฉ เจธเจนเจพเจฐเจพ เจนเฉ .vue-เจซเจพเจเจฒเจพเจ เจธเฉเจจเจพเจฐ'เจ, เจซเจฟเจฐ เจเจ เจเจธ เจจเฉเฉฐ เจเจน เจฆเฉฑเจธเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ เจเจฟ เจเจน เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจธเจฎเจเฉ เจเจพเจเจชเจธเจเฉเจฐเจฟเจชเจ.
เจเจ เจเฉฑเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจเฉเฉเฉเจ:
sonar-project.properties:
...
sonar.typescript.file.suffixes=.ts,.tsx,.vue
...
เจเจ เจธเจเฉเจจเจฐ เจฒเจพเจเจ เจเจฐเฉเจ:
เจ เจคเฉ, เจตเฉเจเจฒเจพ, เจธเจญ เจเฉเจ เจเจฎ เจตเจพเจเจ เจนเฉ, เจ เจคเฉ เจธเจฟเจฐเจซ เจเฉฑเจ เจชเฉเจฐเฉเจซเจพเจเจฒ เจฆเฉ เจจเจพเจฒ เจเจพเจเจชเจธเจเฉเจฐเจฟเจชเจ. เจญเจพเจต, เจ เจธเฉเจ เจธเจฎเจฐเจฅเจจ เจตเจฟเฉฑเจ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจตเจฟเฉฑเจ เจเจพเจฎเจฏเจพเจฌ เจนเฉเจ VueJs+TS เจจเฉเฉฐ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ.
เจเจ เจ เฉฑเจเฉ เจเจพเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ เจ เจคเฉ เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจธเฉเจงเจพเจฐเฉเจเฅค
เจ เจธเฉเจ เจนเฉเจฃ เจคเฉฑเจ เจเฉ เจเฉเจคเจพ เจนเฉ:
- เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเฉเจคเจพ เจเจฟเจ เจธเฉเจจเจพเจฐ- เจธเจเฉเจจเจฐ;
- เจธเจฅเจพเจชเจจเจพ เจเจฐเจจเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจฌเจฃเจพเจเจฃ เจฒเจ;
- เจธเฉฐเจฐเจเจฟเจค เจธเฉเจจเจพเจฐ- เจธเจเฉเจจเจฐ;
- เจธเจนเจพเจเจคเจพ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเฉเจคเจพ .vue-เจซเจพเจเจฒเจพเจ + เจเจพเจเจชเจธเจเฉเจฐเจฟเจชเจ.
เจเฉเจธเจ เจเจตเจฐเฉเจ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเฉเจก เจเฉเจฃเจตเฉฑเจคเจพ เจฒเจ เจนเฉเจฐ เจฆเจฟเจฒเจเจธเจช เจเจชเจฏเฉเจเฉ เจฎเจพเจชเจฆเฉฐเจก เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉเจก เจกเฉเจชเจฒเฉเจเฉเจธเจผเจจ เจ เจคเฉ เจฒเจพเจเจจเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ (เจเฉเจก เจฆเฉ เจเฉเฉฐเจเจฒเจคเจพ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจเฉเจฃเจพเจ เจฆเฉ เจเจฃเจจเจพ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ) เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉเฅค
เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจ เจฎเจฒ เจตเจฟเฉฑเจ TS (SonarTS) เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเฉเจเจพ CPD (เจเจพเจชเฉ เจชเฉเจธเจ เจกเจฟเจเฉเจเจเจฐ) เจ เจคเฉ เจเฉเจก เจฆเฉเจเจ เจฒเจพเจเจจเจพเจ เจฆเฉ เจเจฟเจฃเจคเฉ .vue-เจซเจพเจเจฒเจพเจเฅค
เจเฉเจก เจกเฉเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจธเจฟเฉฐเจฅเฉเจเจฟเจ เจธเจฅเจฟเจคเฉ เจฌเจฃเจพเจเจฃ เจฒเจ, เจเฉฐเจชเฉเจจเฉเจเจ เจซเจพเจเจฒ เจจเฉเฉฐ เจตเฉฑเจเจฐเฉ เจจเจพเจฎ เจจเจพเจฒ เจกเฉเจชเจฒเฉเจเฉเจ เจเจฐเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉเจก เจตเจฟเฉฑเจ เจเฉเฉเฉ main.ts เจเฉฑเจ เจกเจฎเฉ เจซเฉฐเจเจธเจผเจจ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจจเจพเจฎ เจจเจพเจฒ เจกเฉเจชเจฒเฉเจเฉเจ เจเจฐเฉเฅค เจเจฟเจตเฉเจ เจเจฟ เจกเฉเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฒเจ .vue, เจ เจคเฉ เจ เฉฐเจฆเจฐ .ts -เจซเจพเจเจฒเจพเจเฅค
main.ts:
...
function name(params:string): void {
console.log(params);
}
...
เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจ เจธเจฅเจพเจ เจคเฉเจฐ 'เจคเฉ เจธเฉฐเจฐเจเจจเจพ เจฒเจพเจเจจ 'เจคเฉ เจเจฟเฉฑเจชเจฃเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
sonar-project.properties:
...
sonar.exclusions=src/main.ts
...
เจเจ เจเฉเจธเจเจฟเฉฐเจ เจฆเฉ เจจเจพเจฒ เจธเจเฉเจจเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเฉเจ:
yarn test && yarn run sonar
เจฌเฉเจธเจผเฉฑเจ, เจธเจพเจกเฉ เจเจตเจฐเฉเจ เจกเจฟเฉฑเจ เจเจพเจตเฉเจเฉ, เจชเจฐ เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจเจธ เจตเจฟเฉฑเจ เจฆเจฟเจฒเจเจธเจชเฉ เจจเจนเฉเจ เจนเฉ.
เจเฉเจก เจฆเฉเจเจ เจกเฉเจชเจฒเฉเจเฉเจเจฟเฉฐเจ เจฒเจพเจเจจเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจฆเฉเจเจพเจเจเฉ:
เจเจพเจเจ เจเจฐเจจ เจฒเจ เจ เจธเฉเจ เจตเจฐเจคเจพเจเจเฉ เจธเฉ.เจชเฉ.เจกเฉ.- เจเจชเจฏเฉเจเจคเจพ - jscpd:
npx jscpd src
เจเฉเจก เจฆเฉเจเจ เจฒเจพเจเจจเจพเจ เจฒเจ:
เจธเจผเจพเจเจฆ เจเจน เจญเจตเจฟเฉฑเจ เจฆเฉ เจชเจฒเฉฑเจเจเจจ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ เจนเฉฑเจฒ เจนเฉ เจเจพเจตเฉเจเจพ SonarJS(TS). เจฎเฉเจ เจเจน เจจเฉเจ เจเจฐเจจเจพ เจเจพเจนเจพเจเจเจพ เจเจฟ เจเจน เจนเฉเจฒเฉ เจนเฉเจฒเฉ เจเจนเจจเจพเจ เจฆเฉ เจชเจฒเฉฑเจเจเจจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจตเจฟเฉฑเจ เจฎเจฟเจฒเจพเจเจฃเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฐเจนเฉ เจนเจจ SonarJS, เจเฉ เจฎเฉเจจเฉเฉฐ เจธเจนเฉ เจฒเฉฑเจเจฆเจพ เจนเฉเฅค
เจนเฉเจฃ เจฎเฉเจ เจเจตเจฐเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจจเฉเฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจเจฃ เจฆเฉ เจตเจฟเจเจฒเจช 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉเฅค
เจนเฉเจฃ เจคเฉฑเจ เจ เจธเฉเจ เจชเฉเจฐเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ, เจ เจคเฉ เจเจพเจธ เจคเฉเจฐ 'เจคเฉ เจซเจพเจเจฒเจพเจ เจฒเจ เจชเฉเจฐเจคเฉเจธเจผเจค เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเฉเจธเจ เจเจตเจฐเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจเฅค เจชเจฐ เจฎเจพเจคเจฐเจพ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจฆเฉ เจจเจพเจฒ เจเจธ เจธเฉเจเจ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ เจฏเฉเจจเจฟเจ- เจชเฉเจฐเฉเจเฉเจเจ เจฒเจ เจเฉเจธเจ, เจจเจพเจฒ เจนเฉ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจ.
เจเฉฑเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจนเฉ เจเฉ เจเจฐ เจธเจเจฆเจพ เจนเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ,- เจฐเจฟเจชเฉเจฐเจ เจจเฉเฉฐ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเฉ เจธเฉเจจเจพเจฐ'เจ:
เจเจฎ เจเฉเจธเจ เจกเจพเจเจพ -
เจเจ เจธเจพเจกเฉ เจชเฉเจฐเฉเจเฉเจเจ เจตเจฟเฉฑเจ เจเจธ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉเจ:
yarn add jest-sonar-reporter
เจ เจคเฉ เจเจธเจจเฉเฉฐ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ,:
package.json:
โฆ
"testResultsProcessor": "jest-sonar-reporter"
โฆ
เจเจ เจนเฉเจฃ เจเฉเจธเจ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ:
yarn test
เจเจฟเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจฐเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจ เจเจพเจตเฉเจเฉ test-report.xml.
เจเจฒเฉ เจเจธเจจเฉเฉฐ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจตเจฐเจคเจฆเฉ เจนเจพเจ เจธเฉเจจเจพเจฐ'เจ:
sonar-project.properties:
โฆ
sonar.testExecutionReportPaths=test-report.xml
โฆ
เจ เจคเฉ เจธเจเฉเจจเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเฉ:
yarn run sonar
เจเจ เจฆเฉเจเฉเจ เจเจฟ เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจเฉ เจฌเจฆเจฒเจฟเจ เจนเฉ เจธเฉเจจเจพเจฐ'เจ:
เจ เจคเฉ เจเฉเจ เจตเฉ เจจเจนเฉเจ เจฌเจฆเจฒเจฟเจ เจนเฉ. เจ เจธเจฒเฉเจ เจค เจเจน เจนเฉ เจเจฟ เจธเฉเจจเจพเจฐ เจเฉเจธเจ เจฐเจฟเจชเฉเจฐเจ เจตเจฟเฉฑเจ เจฆเฉฑเจธเฉเจเจ เจเจเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจซเจพเจเจฒเจพเจ เจจเจนเฉเจ เจฎเฉฐเจจเจฆเจพ เจฏเฉเจจเจฟเจ-เจเฉเจธเจ. เจเจธ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจ เฉเจ เจเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจธเฉฐเจฐเจเจจเจพ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ เจธเฉเจจเจพเจฐ sonar.เจเฉเจธเจ, เจเจฟเจธ เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเฉเจธเจเจพเจ เจตเจพเจฒเฉ เจซเฉเจฒเจกเจฐเจพเจ เจจเฉเฉฐ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ เจฆเจฐเจธเจพเจตเจพเจเจเฉ (เจธเจพเจกเฉ เจเฉเจฒ เจนเฉเจฃเฉ เจฒเจ เจธเจฟเจฐเจซ เจเฉฑเจ เจนเฉ):
sonar-project.properties:
โฆ
sonar.tests=src/components/__tests__
โฆ
เจเจ เจธเจเฉเจจเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเฉเจ:
yarn run sonar
เจเจ เจฆเฉเจเฉเจ เจเจฟ เจเฉฐเจเจฐเจซเฉเจธ เจตเจฟเฉฑเจ เจเฉ เจฌเจฆเจฒเจฟเจ เจนเฉ:
เจนเฉเจฃ เจ เจธเฉเจ เจเจชเจฃเฉ เจเจฟเจฃเจคเฉ เจฆเฉเจเฉ เจนเฉ เจฏเฉเจจเจฟเจ-เจเฉเจธเจ เจ เจคเฉ, เจ เฉฐเจฆเจฐ เจเจฒเจฟเฉฑเจ เจเจฐเจเฉ เจ เจธเจซเจฒ เจนเฉเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจ เจธเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจเจธ เจจเฉฐเจฌเจฐ เจฆเฉ เจตเฉฐเจก เจฆเฉเจ เจธเจเจฆเฉ เจนเจพเจ:
เจธเจฟเฉฑเจเจพ
เจเจธ เจฒเจ, เจ เจธเฉเจ เจจเจฟเจฐเฉฐเจคเจฐ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฒเจ เจเฉฑเจ เจธเจพเจงเจจ เจจเฉเฉฐ เจฆเฉเจเจฟเจ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ. เจ เจธเฉเจ เจเจธ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจเจเฉเจเฉเจฐเจฟเจค เจเฉเจคเจพ VueJs+TS. เจเฉเจ เจ เจจเฉเจเฉเจฒเจคเจพ เจฎเฉเฉฑเจฆเจฟเจเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจฟเจเฅค เจ เจธเฉเจ เจเฉเจธเจ เจเจตเจฐเฉเจ เจธเฉเจเจ เจฆเฉ เจเจพเจฃเจเจพเจฐเฉ เจธเจฎเฉฑเจเจฐเฉ เจจเฉเฉฐ เจตเจงเจพเจเจ เจนเฉเฅค เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจเฉเจก เจเฉเจฃเจตเฉฑเจคเจพ เจฒเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจฎเจพเจชเจฆเฉฐเจก (เจธเจผเจพเจเจฆ เจฎเฉเฉฑเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ) เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจนเฉ, เจชเจฐ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ เจธเฉเจฐเฉฑเจเจฟเจ เจเจพเจเจ เจธเจฎเฉเจค เจนเฉเจฐ เจเฉเจฃเจตเฉฑเจคเจพ เจฎเจพเจชเจฆเฉฐเจกเจพเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจชเจฐ เจเจน เจธเจพเจฐเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเจชเจฒเจฌเจง เจจเจนเฉเจ เจนเจจ เจญเจพเจเจเจพเจฐเฉ-เจตเจฐเจเจจ. เจฆเจฟเจฒเจเจธเจช เจ เจคเฉ เจเจชเจฏเฉเจเฉ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจเจเฉเจเจฐเจฃ เจนเฉ เจธเฉเจจเจพเจฐเจเจฏเฉเจฌ เจตเฉฑเจ-เจตเฉฑเจ เจเฉเจก เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจชเฉเจฐเจฌเฉฐเจงเจจ เจชเฉเจฐเจฃเจพเจฒเฉเจเจ เจฆเฉ เจจเจพเจฒ, เจเจฟเจตเฉเจ เจเจฟ GitLab เจ เจคเฉ BitBucketเฅค เจฐเฉเจเจฃ เจฒเจ เจ เจญเฉเจฆ เจเจฟเฉฑเจ (เจฎเจฟเจฒเจฃ) เจฆเฉ เจฌเฉเจจเจคเฉ'a เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฆเฉ เจฎเฉเฉฑเจ เจธเจผเจพเจเจพ เจจเฉเฉฐ เจเจฆเฉเจ เจเจตเจฐเฉเจ เจเจ เจเจพเจเจฆเฉ เจนเฉเฅค เจชเจฐ เจเจน เจเฉฑเจ เจฌเจฟเจฒเจเฉเจฒ เจตเฉฑเจเจฐเฉ เจฒเฉเจ เจฒเจ เจเฉฑเจ เจเจนเจพเจฃเฉ เจนเฉ.
PS: เจเฉเจก เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจตเจฐเจฃเจฟเจค เจนเจฐ เจเฉเจเจผ เจตเจฟเฉฑเจ เจเจชเจฒเจฌเจง เจนเฉ
เจธเจฟเจฐเจซเจผ เจฐเจเจฟเจธเจเจฐเจก เจเจชเจญเฉเจเจคเจพ เจนเฉ เจธเจฐเจตเฉเจเจฃ เจตเจฟเฉฑเจ เจนเจฟเฉฑเจธเจพ เจฒเฉ เจธเจเจฆเฉ เจนเจจเฅค
เจเฉ เจคเฉเจธเฉเจ SonarQube เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ:
-
26,3%เจนเจพเจ5
-
15,8%เจจเฉฐ 3
-
15,8%เจฎเฉเจ เจเจธ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฌเจพเจฐเฉ เจธเฉเจฃเจฟเจ เจนเฉ เจ เจคเฉ 3 เจจเฉเฉฐ เจตเจฐเจคเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ
-
10,5%เจฎเฉเจ เจเจธ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจฌเจพเจฐเฉ เจธเฉเจฃเจฟเจ เจนเฉ เจ เจคเฉ เจฎเฉเจ 2 เจจเฉเฉฐ เจตเจฐเจคเจฃเจพ เจจเจนเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ/เจเจพเจนเฉเฉฐเจฆเฉ
-
0,0%เจฎเฉเจ เจเฉฑเจ เจตเฉฑเจเจฐเจพ เจชเจฒเฉเจเจซเจพเจฐเจฎ 0 เจตเจฐเจค เจฐเจฟเจนเจพ/เจฐเจนเฉ เจนเจพเจ
-
31,6%เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจฎเฉเจ เจเจธ เจฌเจพเจฐเฉ เจธเฉเจฃเจฟเจ เจนเฉ 6
19 เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจจเฉ เจตเฉเจ เจชเจพเจเฅค 3 เจเจชเจญเฉเจเจคเจพ เจชเจฐเจนเฉเจเจผ เจฐเจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com