National Settlement Depository á áááºááŸáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááºáá»á¬áž (Alameda ááœá±ááœááºážááŒááºážááŸáá·áº ááœá±á á¬áááºážááŸááºážááŒááºážá áá áºá¡ááŒááº) ááœáẠáá¯ááºá¡áááºá¡ááœá±ážááᯠá ááºáááºáááŒááºááœá²ááŒááºážá áááºááŒá¬ááŒááºážááŸáá·áº ááá¯ááºážáá¬ááŒááºážá¡ááœáẠSonarQube ááááºáá±á¬ááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠáá»áœááºá¯ááºááá¯á·áá¡ááœá±á·á¡ááŒá¯á¶ááᯠáá»áŸáá±ááá¯áá«áááºá
National Settlement Depository (Moscow Exchange Group of Company) ááẠáá°ááẠ50 ááá®áá®áá¶áá»á±á¬áºáááºááá¯ážááŸááá±á¬ áá¯ááŸá¬ážááŸáá·áº ááá¯ááºáá¶ááŒá¬ážáá¯ááºáá°áá»á¬ážá áá¯á¶ááŒá¯á¶áá±ážá¡ááœáẠááááºážáááºážááŒááºážááŸáá·áº á á¬áááºážááá¯ááºááŒááºážá¡ááœáẠá¡ááááá¯áá¹ááá®áá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºá á áá áºá០áá±á¬ááºááœááºáá±á¬ áááºáááºááŸá¯ááá¬á ááá¯ážáá¬ááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬áž á ááºáááºáááŒáẠáá»á²á·ááœááºááŒááºážááá¯á·ááŒá±á¬áá·áº á áá áºáá»á¬ážá á¡áááºá¡ááœá±ážááŒáá·áº á¡áááºážá¡ááŒá áºáá¯ááºááᯠááááºážááááºážáá¬ážááẠááá¯á¡ááºáá«áááºá á€áááºážááá¯ááºááá¯á¡á±á¬ááºááŒááºááẠáááááá¬áá áºáá¯ááŸá¬ SonarQube static analyzer ááŒá áºáááºá á€áá±á¬ááºážáá«ážááœááºáá»áœááºá¯ááºááá¯á·ááá¬áááááºááŸáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááºáá»á¬ážááœáẠSonarQube static analyzer ááá¯áá»á±á¬ááœá±á·á áœá¬á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážáá¡á±á¬ááºááŒááºáá±á¬á¡ááœá±á·á¡ááŒá¯á¶ááá¯áá±á¬áºááŒáá«áááºá
áá¬áá¡ááŒá±á¬ááºáž á¡áá»ááºážáá»á¯ááºáá«á
áá»áœááºá¯ááºááá¯á·áá¡áááºá¡áá»ááºážááœáẠá¡á±á¬ááºáá« module áá»á¬ážáá«áááºáááº- NSD áá±á¬ááºáááºáá»á¬ážá¡ááœáẠááœá±áá±ážáá»á±ááŸá¯áá»á¬ážá á¡á®áááºáááœááºáá áºá á¬ááœááºá á¬áááºážá á®áá¶ááá·áºááœá²ááŸá¯ (EDF)á áá¯ááºááœááºááŸá¯ááá¯ááŸá±á¬ááºáá±ážá á¬ááá¯áá»á¬ážáá¯ááºáá±á¬ááºááŒááºáž (áá±á¬ááºáá¬ááŸááœá±áá±ážááœá±áá°á á¬áááºážááœááºážááŒááºáž)á client ááŸáá·áº NSD á¡ááŒá¬áž á¡á®áááºáááœááºáá Ạá¡ááŒááºá¡ááŸááºáááºááœááºááŸá¯áááºážááŒá±á¬ááºážáá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážá áœá¬ááŸááááºá áá±áá°áá»á¡á¬ážááŒáá·áº áá¯ááºáááºážáááºáááºááŸá¯áá¯ááºáááºážáá»á¬ážááœáẠáááºážááá¬áááºááœáẠáá¯ááºáá±á¬ááºáááá·áº á¡áá¯ááºáá»á¬ážá áœá¬ááŸááááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºážááá¯áá»ááºáá»á¬ážááᯠá¡ááŒá±áá¶á áá¯ááºáá±á¬ááºáá«áááºá á á áºáááºáá±ážá¡áá¬ááŸááá»á¬ážáá¶á០áá»áŸá±á¬ááºááœáŸá¬áá»á¬ážááᯠá¡áá²áááºáá°áá»á¬ážá á á®áá¶áá±á¬ááºááœááºáááº- áááºážááá¯á·ááẠáá±á¬ááºáááºáááá¯á¡ááºáá»ááºáá»á¬ážááᯠá á¯áá±á¬ááºážááŒá®áž áááá¯ááááºááœáẠáááºáá²á·ááá¯á· á¡á¶áááºááœááºáá»ááŒá áºááá·áºáááºáá°áá±á¬ áááºážááá¯á·áá¡ááŒááºááᯠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááºááŒáá«áááºá áá±á¬ááºáá áºáá¯ááá±á¬á· á á¶á¡á á®á¡á ááº- áá¯ááºááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ â á ááºážáááºááŒááºáž â á¡á ááºážáá¯ááºáá±á¬ááºááŒááºáž â áá¯ááºááᯠáá¯ááºáá¯ááºááŸá¯áááºáááºážááá¯á· ááá¯ááºááá¯ááºáá±á¬ááºáááºáᶠáá±ážááá¯á·ááŒááºáž ááŒá áºáááºá
SonarQube á¡áááºááŒá±á¬áá·áºáááºážá
áá¯ááºá¡áááºá¡ááœá±ážááááºážáá»á¯ááºááŸá¯á¡ááœáẠááááºáá±á¬ááºážáá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááá¬áá ááááá¯á¶ážá¡ááœá±á·á¡ááŒá¯á¶ááŒá áºááẠ- ááááºá áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠááá¯ááºááá¯ááºááŒá¯áá¯ááºáá²á·ááŒá®áž áá¯ááºááŒááºáááºáá¯á¶ážáááºááŒááºážáá»á¬ážááá¯áᬠááŒá¯áá¯ááºáá²á·áááºá ááá¯á·áá±á¬áº ááá¯ážááœá¬ážáá¬áá±á¬ á¡áá¯ááºááá¬áááẠá€áá¯ááºáááºážá ááºááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáááºá ááá¯á·á¡ááŒááºá á¡ááœá²á·ááœáẠáá¬áááœááºážááœá¶á·ááŒáá¯ážááŸá¯á ááºážáá»ááºážáá»á¬ážááŸáá·áº áá¯á¶ážáá¡áá»áœááºážááááºáááŸááá±á¬ á¡ááœá±á·á¡ááŒá¯á¶áááŸááá±á¬ áááºáááºážáá»á¬ážáááºáž áá«áááºááŒá®áž á¡ááŸá¬ážá¡ááœááºážááá¯áá»á¬ážáááºáááºá áá¯ááºá á¡áááºá¡ááœá±ážááᯠááááºážáá»á¯ááºáááºá static analyzer ááᯠá¡áá¯á¶ážááŒá¯ááẠáá¯á¶ážááŒááºáá²á·áááºá SonarQube ááᯠá¡áá»áá¯á·áá±á¬ NSD á áá áºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá¬ážááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº ááœá±ážáá»ááºááẠá¡áá»áááºá¡ááŒá¬ááŒá®áž áááá¯á¡ááºáá«á ááááºá á¡ááŒá¬ážáá¬ááá»á¬ážá០áá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážááẠAlameda á áá Ạ(NSD á ááá¯ááºááá¯ááºááœá±ááœááºážááŒááºážááŸáá·áº ááœá±á á¬áááºážááŸááºážááŒááºážá áá áº)á CFT (á á¬áááºážááá¯ááºááááºážááááºážááẠá¡áá»ááºá¡áááºá áá áºá áááºáá»ááºááŸááºážáááºážáá»á¬ážá áááŒá áºááá±ááŒááºáááºááŒááºážááŸáá·áº áá¬áááœááºážá¡á á®áááºáá¶ááŒááºáž)á á¡áá»áá¯á·ááœááºá á¡ááŒá¬ážá áá áºáá»á¬ážá á ááºážáááºááŸá¯áá»á¬ážá¡ááœáẠSonarQube á á¡ááá²á·áá¬ážááŸááºážááŒáá·áº á áááºááẠáá¯á¶ážááŒááºáá²á·áááºá áá«ááᯠáá«ááá¯á·ááá á¹á áááºááœá¬ážáá¡á±á¬ááºá
á¡áá±á¬ááºá¡áááºáá±á¬áºáá±ážáá¯ááºáááºážá ááº
áá«ááá¯á·ááŸá¬ááŸááááº:
- TeamCity ááœáẠá¡ááá¯á¡áá»á±á¬ááºá áá ẠáááºáááºááŒááºážá
- á¡ááºá¹áá«áááºáá¬áááœá²á០GitLab ááŸá áá¬á áá¬áá¬áááœá²ááá¯á· MergeRequest ááŸáá áºááá·áº áá¯ááºááᯠá¡ááºáá¯ááºáááºááŒááºážáá¯ááºáááºážá ááºááᯠááŒááºáááºáááºááŸááºáá¬ážááŒá®áž (GitHub Flow á¡á ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááº)á
- SonarQubeá DPO á áá áºá¡ááœáẠáá¯ááºááᯠááœá²ááŒááºážá áááºááŒá¬ááẠá á®á ááºáá¬ážáááºá
áá«ááá¯á·áá²á·áááºážááá¯ááºDPO á CI/CD áá¯ááºáááºážá ááºáá»á¬ážááœáẠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá«á
configure áá¯ááºáááºááá¯áááºá: áááºááá¬áááœá²ááá¯á· MergeRequest áá áºáá¯á á®ááŒáá·áº static analyzer ááŒáá·áº áá¯ááºááᯠá¡ááá¯á¡áá»á±á¬ááºá á áºáá±ážááá·áº áá¯ááºáááºážá ááºá
á¡á²áá«ááœá±á áá áºááŸááºáá¯á¶ááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááº- áá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬ááẠá¡ááºá¹áá«áááºáá¬áááœá²ááá¯á· á¡ááŒá±á¬ááºážá¡áá²áá»á¬áž á¡ááºáá¯ááºáááºáááºááŸáá·áº áááŒáá¯ááºáááºá áá¯ááºááŸá á¡ááŸá¬ážá¡ááœááºážá¡áá áºáá»á¬ážá¡ááœáẠá¡ááá¯á¡áá»á±á¬áẠá á áºáá±ážááŒááºážááᯠá áááºáááºá á¡ááŸá¬ážá¡ááœááºážáá»á¬ážáááŸááá«á á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáááºáá¶ááœáá·áºááŒá¯áááºá ááá¯ááºáá«á á¡ááŸá¬ážáá»á¬ážááᯠááŒááºááá«áááºá áááŠážá¡ááá·áºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááœáẠá¡ááŸá¬ážá¡ááœááºážá¡áá»áá¯á·ááᯠááŸá¬ááœá±áá±á¬áºáá¯ááºááá¯ááºáá²á·áááºá á áá áºááœáẠá¡ááœááºááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬ áááºáááºáá»á¬ážáá«ááŸááááº- áááºážááᯠdeveloper áá»á¬ážá áá®ážááŒá¬ážáá¯ááºáááºážáá¬áááºáá»á¬ážá á áá áºáá áºáá¯á á®ááŸáá·áº áááá¯ááááºážáááºážáá¯á¶á á¶áá áºáá¯á á®á¡ááœáẠáááºážááᯠá€áá²á·ááá¯á· configure áá¯ááºááá¯ááºáá«áááºá
SonarQube ááœáẠQualityGate ááᯠá áá áºááá·áºááœááºážááŒááºážá
QualityGate ááœá²ááŒááºážá áááºááŒá¬áá»ááºááẠáá»áœááºá¯ááºááá¯á· á¡ááºáá¬áááºá áááºáá²áá±á¬áá±áá¬ááœáẠáááºááá±á¬á¡áá¬ááŒá áºáááºá á¡á ááá¯ááºážááœááºá áá»áœááºá¯ááºááá¯á·ááẠááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬áá»ááºážáááºáááºážááᯠá¡áá¯á¶ážááŒá¯áá²á·ááŒá®áž ááá¯ááá¯ááŸá¯ááºááœá±ážáᬠá¡áá»áá¯á·áá±á¬áááºážáááºážáá»á¬ážááœáẠáá¯á¶ážáá¯á¶ážááŸááºáááºááŒááºážáááŸááá«á ááááŠážá áœá¬á áá»áœááºá¯ááºááá¯á·ááẠSonarQube ááŸáááá·áº á áááºááºááᯠááŸá áºááŒáááºáá¯ááºáá±á¬ááºáá²á·áááº- áá»áœááºá¯ááºááá¯á·ááẠá¡ááºá¹áá«áááºáá¬áááœá²ááŸáá·áº á¡ááºá¹áá«áááºáá¬áááœá²ááᯠáá±á«ááºážá ááºážááá·áºáá¬áááœá²ááᯠá áááºááºáááºááŒá®áž á¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœááºááᯠááŸáá¯ááºážááŸááºáá«áááºá á€áááºážáááºážááẠáááºááŒáááºááŸá¯áááŸáá ááŸááºáááºáá±á¬ááááºááᯠá¡ááŒá²ááááŸááá±á ááá¯á·áá±á¬áẠSonarQube ááᯠááŸá áºááŒáááºáá¯ááºáá±á¬ááºááá·áºá¡á á¬ážá ááŒá¯áá¯ááºáá¬ážáá±á¬ á¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœáẠ(QualityGate) áá±á«áºááœáẠááá·áºáááºáá»ááºáá áºáᯠáááºááŸááºááá¯ááºááŒá®áž ááẠupload áá¯ááºááŒá®áž ááŸáá¯ááºážááŸááºáá¬ážááá·áº áá¬áááœá²ááá¯áᬠááá¯ááºážááŒá¬ážá áááºááŒá¬ááá¯ááºáááºááᯠááœá±á·ááŸááá²á·áááºá
ááá¯á¡áá»áááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá°ááá¯ááºááŒááºáááºáá¯á¶ážáááºááŒááºážááᯠá¡áá¯á¶ážááŒá¯áá±áá²ááŒá áºáááºá SonarQube ááẠDelphi á¡áá«á¡ááẠá¡áá»áá¯á·áá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬ážááŸáá·áº ááá¯ááºáá®ááŸá¯áááŸááááºááᯠáááááŒá¯ááá·áºáááºá áá±á¬áá±á¬áááºááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áá áá áºá¡ááœáẠPLSql áá¯ááºááá¯áᬠááá¯ááºážááŒá¬ážá áááºááŒá¬áá«áááºá
áááºážááẠá€áá²á·ááá¯á· áá¯ááºáá±á¬ááºáááº-
- áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áááá±á¬áá»ááºá¡ááœáẠPL/SQL áá¯ááºáá»á¬ážááá¯áᬠááá¯ááºážááŒá¬ážá áááºááŒá¬áá«áááºá
- SonarQube ááœáẠQualityGate ááœáẠá¡ááŸá¬ážá¡ááœááºážáá»á¬áž á¡áá±á¡ááœáẠáááá¯ážá á±ááẠááŒááºáááºáá¬ážáá«áááºá
- áááá¡ááŒáááºááœáẠá¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœááºááŸá¬ 229 ááŒá áºáááºá
- ááá¯á·á¡ááŒáẠá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááŒá¯ááŒááºáá«áá QualityGate ááᯠááŒááºáááºááŒááºáááºááá¯ááºáááºááŒá áºáááºá
- ááœá²ááŒááºážá áááºááŒá¬ááŸá¯á¡ááœáẠá¡ááŸááºá¡áá áºáá»á¬áž á¥ááá¬á á ááºážáááºááŸá¯áá»á¬ážááŸáá·áºá¡áá° áá¯ááºá¡áá»á¯á¶ážáááºááŸá¯ á áááºááŒáá·áºáááºáž áá±á«ááºážááá·áºááá¯ááºáááºá
á¡áá¯ááºá¡á á®á¡á ááº-
áá¬ááºááœáŸááºážáááŸááºáá»ááºáá»á¬ážááẠá¡ááºá¹áá«áááºáá¬áááœá²ááŸá á¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœáẠááá¯ážááá¬ááŒá±á¬ááºáž ááŒááááºá áá«ááᯠá¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá®áá±á«á·á
áá±á«ááºážá ááºážááŒááºážááá¯ááºááᯠáááá¯ááºáá«ááŒá®á
áá¬ááºááœáŸááºážáááŸááºáá»ááºáá»á¬ážááœááºá á¡ááºá¹áá«áááºáá¬áááœá²ááŸá á¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœááºááẠáááºáá¶ááá¯ááºáááºááẠááá¯ááá¯áá»á¬ážááŒá¬ážáá¬áááºááᯠáááºááœá±á·ááŒááºááá¯ááºáá«áááºá áá®áá±á¬á· á¡áá¬á¡á¬ážáá¯á¶ážá ááá±á¬ááºážáá°ážá
áá±á«ááºážá ááºážááŒááºážááá¯ááºááẠá¡áá®áá±á¬ááºááŒá áºáááºá áá±á¬áá±á¬áááºááœááºá ááŸá¬ážááœááºážáá±á¬áá¯ááºááá¯á¡ááŒá±áá¶á á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááœáŸáá·áºáááºááŒááºážááᯠáá¬ážááŒá áºáá¬ážááŒááºáž áááŸááá±á¬áºáááºáž áááºážááᯠáá¬áááºááŸá developer á áá¯á¶ážááŒááºáá»ááºá¡á áá¯ááºáá±á¬ááºáá«áááºá áá±á¬ááºááœááºá ááá¯ááá¯á·áá±á¬ áááááááºáá»á¬ážááᯠáááºááá¬áááœá²ááá¯á· ááá·áºááœááºážááŒááºážá០áá¬ážáá®ážááá¯ááºáááºá
á¡ááŸá®á¡ááá¯áááºážáá²á·á¡áá¯ááºáá±á«á·áá»á¬á
ááá¯á·áá±á¬ááºá SonarQube ááẠáááºážááááºážáá»ááºáá±á¬á á¶ááŸá¯ááºážáá»á¬ážá¡ááá¯ááºáž ááœá²ááŒááºážá áááºááŒá¬áá±á¬ááŒá±á¬áá·áº á áá áºááŸááœá±á·ááŸááá¬ážáá±á¬ á¡ááŸá¬ážá¡ááœááºážá¡á¬ážáá¯á¶ážááᯠá á áºáá±ážááẠááá¯á¡ááºáá«áááºá á¡ááŸá¬ážáá áºáá¯áᯠáá°áá°ááá±á¬á¡áá¬ááẠáá»áœááºá¯ááºááá¯á·ááá¯ááºááœáẠá¡ááŸááºááááºááá¯ááºááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áºá áááºážááẠá¡ááŸááºáááẠá¡ááŸá¬ážá¡ááœááºážáá¯ááºá ááá¯á·ááá¯áẠáá»áœááºá¯ááºááá¯á·á á¡ááŒá±á¡áá±áá»á¬ážááœáẠáááºážááŒááºááẠáááá¯á¡ááºááŒá±á¬ááºáž á á áºáá±ážááŸááºáá¬ážááẠááá¯á¡ááºáá«áááºá á€áááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡ááŸá¬ážá¡ááœááºážá¡áá±á¡ááœááºááᯠáá»áŸá±á¬á·áá»áá±ážáááºá á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá á áá áºááẠá€áá°ážááŒá¬ážáá»ááºáá»á¬ážááᯠáá¬ážáááºááááŸááá¬áááºááŒá áºáááºá
áá«ááá¯á·áá¬ááœá±áá±á¬ááºáá¬áá¬áá²á
áá»áœááºá¯ááºááá¯á·ááááºááœááºáá»ááºááŸá¬ áá¯ááºááŒááºáááºáá¯á¶ážáááºááŒááºážááᯠá¡ááá¯á¡áá»á±á¬ááºá áá áºááá¯á·ááœáŸá²ááŒá±á¬ááºážááẠáá»áœááºá¯ááºááá¯á·áááá á¹á ááœáẠá¡ááŒá¶ááŒá¯ááá¯áááºááŸááááŸá áá¬ážáááºáááºááŒá áºáááºá ááŒá®ážáá±á¬á· ááááºá áá»áŸá±á¬áºááŸááºážáá»ááºá¡ááá¯ááºáž ááŸááºáááºáá²á·áááºá SonarQube ááẠáá»áœááºá¯ááºááá¯á·ááᯠááá¯á¡ááºáá±á¬ áá¬áá¬á áá¬ážáá»á¬ážááŒáá·áº á¡áá¯ááºáá¯ááºáááºá áá»áŸáá áœá¬ á¡áááºá¡áá»ááºážááŒáá·áºáá®áá±á¬ ááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááᯠáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž developer á¡ááŒá¶áá±ážáá»ááºáá»á¬ážáá¶á០áááºáá°ááá¯ááºááá·áº á¡áá¬ážá¡áá¬ááŸááááºá áá±áá°áá»á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠSonarQube ááá¯á¡áá¯á¶ážááŒá¯ááá·áº ááááá¯á¶ážá¡ááœá±á·á¡ááŒá¯á¶ááᯠáá»á±áááºááŸá áºáááºááŒá®áž á€áááºážááœáŸááºáá»ááºá¡ááá¯ááºáž áááºáááºáá¯ááºáá±á¬ááºááẠá¡á á®á¡á ááºááŸááááºá á¡áá¬áááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááŒááºáááºáá¯á¶ážáááºááŒááºážá¡ááœáẠá¡áá»áááºááŸáá·áº á¡á¬ážá áá¯ááºáá¯ááºááŸá¯ááᯠááá¯ááá¯áááºáá¬á á±ááŒá®áž áá°á·á¡áá»ááºááᯠáááºááŸá¬ážááŒááºážááŒáá·áº áááºážááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºááá¯ááºáááºáᯠáá»áœááºá¯ááºááá¯á· áá»áŸá±á¬áºááá·áºáá«áááºá áá¯ááºáááºážá ááºááœáẠáá»áœááºá¯ááºááá¯á·ááẠááááºáá±á¬ááºážá áá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠááŸá¬ááœá±ááœá±á·ááŸááááá·áºááẠááá¯á·ááá¯áẠá¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áº á€á¡áá¬ááẠá¡ááœááºáá±á¬ááºážááœááºáá±á¬ á¡áá¬ážá¡áá¬ááŸááá±á¬ á¡áá¬ááŒá áºáááºááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áá¯á¶ááŒááºáá¬áá«áááá·áºáááºá
á€áá¯á¶ážáááºáá»ááºáá±á¬ááºážáá«ážááœáẠSonarQube static analyzer ááŸáá·áºáá»áœááºá¯ááºááá¯á·áá¡ááá¡áá»áœááºážá¡ááŒá±á¬ááºážááŒá±á¬áá²á·áááºá ááá·áºááœááºáá±ážááœááºážáá»á¬ážááŸááá«á comment ááœááºáá±ážáá±ážáá«á á€á¡ááŒá±á¬ááºážá¡áá¬ááᯠáááºá áááºáááºá á¬ážáá«áá áá¯ááºáá±ááŸá¯á¡áá áºááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠááŸááºáááºá áœá¬áááºááŸááºáááºážááŸáá·áº á á áºáá±ážááŸá¯ááŒá¯áá¯ááºááẠáá¯ááºáá±ážáááºážááᯠá¡áá±ážá áááºáá±á¬áºááŒáá«áááºá
á
á¬áá¬ážáá±ážáá¬ážáá°-
source: www.habr.com