πŸ’‘ Tool μ‚¬μš©κΏ€νŒ

[Intellij] SonarLint μ˜λ‚˜λ¦°νŠΈ

bell22 2023. 12. 15. 16:56

 

μ˜€λŠ˜μ€ SonarLintλ₯Ό μ •λ¦¬ν•΄λ³ΌκΉŒ ν•©λ‹ˆλ‹€.

Intellij 툴 쀑 ν•˜λ‚˜μΈ SonarLint둜 μ½”λ“œ κ²€ν† λ₯Ό ν•˜λ‹ˆκΉŒ 였λ₯˜λ„ 쀄어듀고 μ’‹λ‹΅λ‹ˆλ‹€.

더 잘 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ 더 μ•Œμ•„λ³΄κΈ° μœ„ν•΄ μ •λ¦¬ν•˜κ³ μž ν•©λ‹ˆλ‹€ 🦭

 


 

SonarLintλŠ” μ†Œλ‚˜νλΈŒ(SonarQube)와 ν†΅ν•©ν•˜μ—¬ μ½”λ“œ ν’ˆμ§ˆμ„ λΆ„μ„ν•˜κ³  κ°œμ„ ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€. 

주둜 톡합 개발 ν™˜κ²½(IDE)μ—μ„œ μ‚¬μš©λ˜λ©°, μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λ™μ•ˆ μ‹€μ‹œκ°„μœΌλ‘œ 정적 μ½”λ“œ 뢄석을 μˆ˜ν–‰ν•˜μ—¬ 잠재적인 λ²„κ·Έ, μ·¨μ•½μ„±, μ½”λ“œ μŠ€λ©œ, λ³΅μž‘μ„± λ“±μ„ μ‹λ³„ν•©λ‹ˆλ‹€. 

SonarLintλŠ” λ‹€μ–‘ν•œ IDEμ—μ„œ μ‚¬μš© κ°€λŠ₯ν•˜λ©°, IntelliJ IDEA, Eclipse, Visual Studio λ“±μ„ μ§€μ›ν•©λ‹ˆλ‹€.

 

πŸ’‘ SonarQube와 SonarCloudλŠ” 뭐지?
병합 전에 pull requestλ₯Ό λΆ„μ„ν•΄μ„œ μ½”λ“œ λ¬Έμ œμ— λŒ€ν•œ 좔가적인 보호λ₯Ό μ œκ³΅ν•΄μ€€λ‹€. 각 buildμ—μ„œ μ½”λ“œλ₯Ό λΆ„μ„ν•΄μ„œ, CI/CD μ›Œν¬ ν”Œλ‘œμš°μ˜ μΌλΆ€λ‘œ μ‚¬μš©λœλ‹€. λ¬Έμ œκ°€ μžˆλŠ” μ½”λ“œκ°€ λ°°ν¬λ˜λŠ” 것을 방지해쀀닀.

 

πŸ§‘‍πŸŽ„ SonarLint 이름 뜻?

SonarLint의 이름은 μ†Œλ‚˜ (Sonar)와 린트 (Lint)의 κ²°ν•©μœΌλ‘œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€.

1. Sonar (μ†Œλ‚˜)

ν•΄μ–‘ν•™μ—μ„œ μ‚¬μš©λ˜λŠ” 음파λ₯Ό μ΄μš©ν•˜μ—¬ μˆ˜μ€‘μ—μ„œ 물체의 μœ„μΉ˜λ₯Ό κ°μ§€ν•˜λŠ” κΈ°μˆ μ„ μ˜λ―Έν•©λ‹ˆλ‹€. μ΄λŠ” μ†Œλ‚˜κ°€ μ½”λ“œμ˜ ν’ˆμ§ˆμ„ κ°μ§€ν•˜κ³  λΆ„μ„ν•˜μ—¬ λ¬Έμ œμ μ„ μ°Ύμ•„λ‚΄λŠ” 것과 μœ μ‚¬ν•œ 역할을 μˆ˜ν–‰ν•œλ‹€λŠ” 의미λ₯Ό ν•©λ‹ˆλ‹€.

 

2. Lint (린트)

μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμ—μ„œ μ½”λ“œμ˜ 였λ₯˜λ‚˜ 잠재적인 문제λ₯Ό μ°Ύμ•„λ‚΄κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 도ꡬλ₯Ό κ°€λ¦¬ν‚€λŠ” 일반적인 μš©μ–΄μž…λ‹ˆλ‹€. μ½”λ“œ λ¦°νŠΈλŠ” μ½”λ“œμ˜ μŠ€νƒ€μΌ, 였λ₯˜, 버그, λ³΄μ•ˆ 문제 등을 μ‹λ³„ν•˜μ—¬ κ°œλ°œμžμ—κ²Œ μ•Œλ €μ£ΌλŠ” 쒋은 λ…€μ„μž…λ‹ˆλ‹€.

λ”°λΌμ„œ μ΄λ¦„μœΌλ‘œλ§Œ 봐도! SonarLintλŠ” μ½”λ“œ ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ μ½”λ“œλ₯Ό 음파 νƒμ§€κΈ°μ²˜λŸΌ μŠ€μΊ”ν•˜κ³  λΆ„μ„ν•˜λŠ” 정적 μ½”λ“œ 뢄석 도ꡬλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. SonarLintλ₯Ό 톡해 κ°œλ°œμžκ°€ μ½”λ“œ μž‘μ„± 쀑에 λ°œμƒν•  수 μžˆλŠ” 문제λ₯Ό κ°μ§€ν•˜μ—¬ 높은 ν’ˆμ§ˆμ˜ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 


πŸŽ„SonarLint의 νŠΉμ§•

SonarLintλŠ” 크게 6가지 νŠΉμ§•μ΄ μžˆμŠ΅λ‹ˆλ‹€.

1. 정적 μ½”λ“œ 뢄석
μ½”λ“œλ₯Ό μ •μ μœΌλ‘œ λΆ„μ„ν•˜μ—¬ 일반적인 μ½”λ”© ν‘œμ€€μ„ μ€€μˆ˜ν•˜κ³  μ½”λ“œ ν’ˆμ§ˆμ„ ν–₯μƒμ‹œν‚¬ 수 μžˆλŠ” 잠재적인 문제λ₯Ό μ‹λ³„ν•΄μ€λ‹ˆλ‹Ή.

2. λ‹€μ–‘ν•œ μ–Έμ–΄ 지원
java, JavaScript, C#, Python λ“± λ‹€μ–‘ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό 지원함

3. μ‹€μ‹œκ°„ ν”Όλ“œλ°±
μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” λ™μ•ˆ SonarLintλŠ” IDEμ—μ„œ μ‹€μ‹œκ°„μœΌλ‘œ ν”Όλ“œλ°±μ„ μ œκ³΅ν•˜μ—¬ μ½”λ“œ ν’ˆμ§ˆμ„ μœ μ§€ν•˜κ³  ν–₯μƒμ‹œν‚¬ 수 μžˆλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.

 

4. ν’ˆμ§ˆ ν”„λ‘œνŒŒμΌ
μ½”λ“œ ν’ˆμ§ˆμ„ μΈ‘μ •ν•˜λŠ” μ—¬λŸ¬ ν”„λ‘œνŒŒμΌμ„ μ œκ³΅ν•˜μ—¬ ν”„λ‘œμ νŠΈμ— μ ν•©ν•œ ν”„λ‘œνŒŒμΌμ„ 선택할 수 있음

5. SonarQube 톡합
SonarLintλŠ” SonarQube μ„œλ²„μ™€ ν†΅ν•©λ˜μ–΄ ν”„λ‘œμ νŠΈλ₯Ό μ§€μ†μ μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜κ³  더 넓은 λ²”μœ„μ˜ ν’ˆμ§ˆ 관리λ₯Ό 지원함

6. μžλ™ μˆ˜μ • μ œμ•ˆ
일뢀 λ¬Έμ œμ— λŒ€ν•΄ SonarLintλŠ” μžλ™μœΌλ‘œ μ½”λ“œ μˆ˜μ •μ„ μ œμ•ˆν•˜μ—¬ ν–₯ν›„ λ°œμƒν•  수 μžˆλŠ” λ²„κ·Έλ‚˜ 취약성을 방지함

 


β˜ƒοΈ SonarLint μ‚¬μš© 방법 (간단)


Intellij ν”ŒλŸ¬κ·ΈμΈ μ„€μ • λ©”λ‰΄λ‘œ 가보면! SonarLint ν”ŒλŸ¬κ·ΈμΈμ„ μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


그리고 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄, μ‹€μ‹œκ°„μœΌλ‘œ SonarLintκ°€ ν”Όλ“œλ°±μ„ ν•΄μ€λ‹ˆλ‹€.

 

μ•„λž˜ 그림은 sonarlint ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ κ°„λ‹¨ν•œ JUnit μ½”λ“œμž…λ‹ˆλ‹€. 

λͺ» λ―Έλ”μš΄ μ–΄ν”ΌμΉ˜ 머리 μœ„λ₯Ό λ³΄μ‹œλ©΄, 빨간색 μ•„μ΄μ½˜κ³Ό 3μ΄λΌλŠ” 숫자 λ³΄μ΄μ‹œμ£΅? 

이게 Sonarlintκ°€ 이슈둜 λ“±λ‘ν•œ 개수 μž…λ‹ˆλ‹€.

 

 

λˆ„λ₯΄λ©΄ μ•„λž˜μ— CurrentFile νƒ­μ—μ„œ 이슈λ₯Ό 확인할 수 μžˆλŠ”λ°μš”,

μ–΄λ–€ κ·œμΉ™μ— μ˜ν•΄μ„œ 이슈둜 μž‘μ•˜κ³ , μ–΄λ–»κ²Œ κ³ μ³μ•Όν•˜λŠ”μ§€λ„ μΉœμ ˆν•˜κ²Œ 리뷰λ₯Ό ν•΄μ£Όκ³  μžˆμŠ΅λ‹ˆλ‹€.

 

이 μ΄μŠˆλ“€μ€ Plugin μ„€μ •μ—μ„œ 확인할 수 μžˆλŠ”λ°, λ§Œμ•½ λ³ΈμΈμ—κ²ŒλŠ” λΆˆν•„μš”ν•œ κ·œμΉ™μ΄λΌλ©΄ 이슈둜 μž‘νžˆμ§€ μ•Šκ²Œ μ„€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€λ©΄, νšŒμ‚¬μ—μ„œ ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” νŒ¨ν‚€μ§€ 이름에 λŒ€ν•΄ μ΄μŠˆκ°€ μž‘ν˜”λŠ”λ° νŒ€μ—μ„œ μ •ν•œ 넀이밍 κ·œμΉ™μ΄λΌ 이슈라고 λ³Ό μˆ˜λŠ” μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

 

μ„€μ •λœ κ·œμΉ™λ“€μ€ Settings-Tools-SonarLint-Rulesμ—μ„œ 확인 κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

 

μ•„λž˜ μ‚¬μ§„μ²˜λŸΌ, 고치고 싢지 μ•Šμ€ μ΄μŠˆκ°€ 발견되면 κ·Έ λ•Œ κ·Έ λ•Œ disable μ‹œν‚¬ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

 


β˜ƒοΈ SonarLint의 Clean Code 

Sonar μΉœκ΅¬λŠ” Clean Code 방법둠을 μ μš©ν•΄μ„œ ν”Όλ“œλ°±μ„ μ œκ³΅ν•œλ‹€. 곡식 λ¬Έμ„œμ—μ„œ μ œκ³΅ν•˜λŠ” μ†”λ£¨μ…˜μ„ 정리해보렀 ν•œλ‹€.

 

1. SonarLint의 컨셉 

μ•„λž˜ 3가지 λ‚΄μš©μ„ λ§Œμ‘±ν•˜λŠ” Clean Code μƒνƒœλ₯Ό λ‹¬μ„±ν•˜λŠ”λ° λͺ©ν‘œλ₯Ό 두고 μžˆμŠ΅λ‹ˆλ‹€.

 

1) Clean Code Attributes: Clean Code νŠΉμ„±μ„ λ§Œμ‘±ν•˜λŠ”κ°€

consistent, intentional, adaptable, responsible 주둜 4κ°€μ§€λ‘œ μΉ΄ν…Œκ³ λ¦¬λ₯Ό λ‚˜λˆ•λ‹ˆλ‹€. 이λ₯Ό λ§Œμ‘±ν•˜λ©΄ 클린 μ½”λ“œκ°€ λ©λ‹ˆλ‹€.

 

2) Software quality: μ†Œν”„νŠΈμ›¨μ–΄ ν’ˆμ§ˆμ— κΈ°μ—¬ν•˜λŠ”μ§€

security, reliability, maintainabilityλ₯Ό λ§Œμ‘±ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μΈμ§€.

 

3) Issue: μ½”λ“œ λ‚΄ μ΄μŠˆκ°€ μžˆλŠ”μ§€

 

2. SonarLint λ™μž‘ 방식

λ§Œμ•½ μ΄μŠˆκ°€ μžˆλ‹€λ©΄, κ·Έ μ½”λ“œλŠ” μœ„μ—μ„œ μ •λ¦¬ν•œ SonarLint의 컨셉에 λ§žμ§€ μ•ŠλŠ” μ½”λ“œμΈ 것이닀. 예λ₯Ό λ“€μ–΄, μ˜λ„κ°€ μ—†μ–΄ λ³΄μΈλ‹€κ±°λ‚˜ 일관성이 μ—†κ±°λ‚˜.

 

3. Clean Code Attributes

Clean code의 νŠΉμ„±μ˜ μ£Όμš” μΉ΄ν…Œκ³ λ¦¬λ₯Ό 쑰금 더 봐보자.

 

1) Consistent(일관성)

μ½”λ“œλŠ” uniform, conventional적인 λ°©λ²•μœΌλ‘œ μž‘μ„±λœλ‹€. λͺ¨λ“  μ½”λ“œλŠ” λΉ„μŠ·ν•˜κ²Œ 보이고, μ •κ·œμ μΈ νŒ¨ν„΄μ„ λ”°λ₯΄κ³  μ—¬λŸ¬ κ°œλ°œμžκ°€ μ½”λ“œμ— 기여해도 κ·Έ μ½”λ“œλŠ” μΌκ΄€λ˜μ–΄μ•Ό ν•œλ‹€.

- formatted: 간격, λ“€μ—¬μ“°κΈ° λ“±λ“± μ½”λ“œλ² μ΄μŠ€μ—μ„œ μΌκ΄€λ˜κ²Œ μœ μ§€ν•΄μ„œ, 파일과 μ—¬λŸ¬ μž‘μ„±μžκ°„ 톡일성을 μœ μ§€ν•˜μž.

- conventinal: μ½”λ“œλ₯Ό μ˜ˆμƒ κ°€λŠ₯ν•˜κ²Œ μ§„ν–‰ν•˜λ„λ‘ ν•˜μž. μΈμŠ€ν„΄μŠ€λŠ” 단일 선택을 κ³ μˆ˜ν•˜κ³ , μ μ ˆν•œ ν”„λ‘œκ·Έλž˜λ° μΈν„°νŽ˜μ΄μŠ€μ™€ μ–Έμ–΄ κΈ°λŠ₯을 μ‚¬μš©ν•˜μž.

- Identifiable: 넀이밍 κ·œμΉ™μ„ 기반으둜 일반적인 ꡬ쑰λ₯Ό λ”°λ₯΄κ²Œ ν•˜μž. λŒ€/μ†Œλ¬Έμž, 접미사, 접두사 λ“±λ“±

 

2) Intentional (μ˜λ„μ )

μ½”λ“œλŠ” λͺ…ν™•ν•˜κ³  λͺ©μ μ„ 가진닀. μ˜λ―Έκ°€ 있고 μ μ ˆν•˜κ²Œ κ΅¬μ„±λ˜κ²Œ ν•˜μž. μ˜λ„μ μΈ μ½”λ“œλŠ” λͺ…ν™•ν•˜κ³  효율적인 μ½”λ“œμΈ 것이닀.

- Clear

- Logical

- Complete

- Efficient

 

3) Adaptable

μ½”λ“œλŠ” ν™•μž₯ 및 개발이 쉽도둝 ꡬ쑰화 λ˜μ–΄μžˆκ²Œ λ§Œλ“€μž. ν™•μž₯/μž¬μ‚¬μš©μ΄ 쉽도둝 λ§Œλ“œλŠ” 것이 μ’‹λ‹€. 즉, λͺ¨λ“ˆν™”κ°€ λ˜μ–΄μžˆμ–΄μ•Όν•˜κ³  ν…ŒμŠ€νŠΈκ°€ λ˜μ–΄μžˆμ–΄μ•Όν•œλ‹€.

- Focused

- Distinct

- Modular

- Tested

 

4) Responsible

데이터에 λŒ€ν•΄ μ±…μž„μ„ μ§€μž.

- Lawful

- Trustworthy

- Respectful

 

4. Software qualities

secure, reliable, maintainable 이 3가지 츑면은 Sonar μ†”λ£¨μ…˜μ—μ„œ Software qualities라고 λΆ€λ¦…λ‹ˆλ‹€. μ½”λ“œμ—μ„œ μ΄μŠˆκ°€ κ°μ§€λ˜λ©΄ μ†Œν”„νŠΈμ›¨μ–΄ ν’ˆμ§ˆμ— 영ν–₯이 μžˆλ‹€κ³  νŒλ‹¨ν•˜μ—¬ 이슈의 심각도λ₯Ό κ²°μ •ν•œλ‹€.

 

 

이λ₯Ό IDEμ—μ„œ 이슈둜 λ“±λ‘λ˜μ–΄ μš°λ¦¬κ°€ 확인할 수 μžˆλŠ” 것이닀.

 

 

 


β˜ƒοΈ Clean as You Code

'Clean as You Code'은 전톡적인 λ°©λ²•λ‘ μ—μ„œ λ°œμƒν•˜λŠ” λ§Žμ€ λ„μ „κ³Όμ œλ₯Ό μ œκ±°ν•˜λŠ” μ½”λ“œ ν’ˆμ§ˆμ— λŒ€ν•œ μ ‘κ·Ό λ°©μ‹μž…λ‹ˆλ‹€. κ°œλ°œμžλ‘œμ„œ, 당신은 높은 기쀀을 μœ μ§€ν•˜κ³  특히 μž‘μ—… 쀑인 μƒˆλ‘œμš΄ μ½”λ“œμ— λŒ€ν•΄ μ±…μž„μ„ μ Έμ•Όν•œλ‹€.

 

Focus on new code

μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ 항상 new codeλ₯Ό 신경쓰도둝 ν•˜μž. 클린~ν•˜κ³  μ•ˆμ „ν•˜κ²Œ μƒˆλ‘œμš΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μž.

 

Sonarμ—μ„œ Clean as You Code μ ‘κ·Ό 방식에 λŒ€ν•œ νŒŒμΌμ„ μ œκ³΅ν•˜λ”λΌκ΅¬μš”. -> 링크 

인상 깊게 λ³Έ λ‚΄μš©λ§Œ κ°„λ‹¨νžˆ μ •λ¦¬ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

 

What is Clean as You Code?

μ½”λ“œλ² μ΄μŠ€κ°€ 문제 μ—†λŠ” μƒνƒœλ‘œ λ˜μ–΄, 개발 및 μ œν’ˆν™”μ— μ ν•©ν•œ μƒνƒœλ₯Ό μ˜λ―Έν•œλ‹€. μ½”λ“œ ν’ˆμ§ˆμ„ 점차적으둜 ν–₯μƒμ‹œν‚€λŠ”λ° κΈ°μ—¬ν•œλ‹€.

 

Why is Clean as You Code important?

κ°œλ°œμžλ“€μ΄ clean codeλ₯Ό κ΄€ν–‰μœΌλ‘œ μ‚¬μš©ν•˜λ©΄, νŒ€μ΄ μ˜ˆμ „ 문제λ₯Ό ν•΄κ²°ν•˜κ±°λ‚˜ μƒˆλ‘­κ²Œ λ§Œλ“  문제λ₯Ό λ‹€μ‹œ μž‘μ—…ν•˜λŠ” 데 적은 μ‹œκ°„μ„ μ‚¬μš©ν•˜λ©΄ μƒˆλ‘œμš΄ κΈ°λŠ₯을 λ§Œλ“€ λ•Œ λΆˆν•„μš”ν•œ μž¬μž‘μ—… λΉ„μš©μ„ ν”Όν•  수 μžˆλ‹€. 

μƒˆλ‘œμš΄ μ½”λ“œλ₯Ό λ§Œλ“€λ©΄μ„œ, κΈ°μ‘΄ μ½”λ“œλ„ κ°œμ„ ν•΄λ‚˜κ°„λ‹€λ©΄ 전체 ν”„λ‘œμ νŠΈλŠ” 결과적으둜 μ–Έμ œλ‚˜ κΉ¨λ—ν•˜κ²Œ μœ μ§€λ  수 μžˆλ‹€.

 

What you acieve with Clean as You Code (μž₯점)

  • The state of clean code
  • developer ownership of the codebase
  • organization-wide standard for clean code
  • reduced effor on rework

What makes Clean as You Code different? (νŠΉμ§•)

  • μƒˆλ‘œμš΄ 문제λ₯Ό μΆ”κ°€ν•˜μ§€ μ•ŠμœΌλ©΄μ„œ μ‹œκ°„μ΄ 지남에 따라 이전 문제λ₯Ό μˆ˜μ •ν•¨μœΌλ‘œμ¨ μ½”λ“œλ² μ΄μŠ€ μ „λ°˜μ˜ ν’ˆμ§ˆμ„ λ†’μž„
  • μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κΈ° 쉽고 μ–Έμ œλ“ μ§€ μ–΄λ–€ κ°œλ°œμžλ“  μˆ˜λ¦¬ν•˜κ³  ν–₯μƒμ‹œν‚¬ 수 μžˆλ„λ‘ μœ μ§€ κ°€λŠ₯ν•˜κ²Œ λ§Œλ“¦
  • λΉ„μ¦ˆλ‹ˆμŠ€μ— λΉ„μš©μ΄ 많이 듀지 μ•Šλ„λ‘ κ³„μ†ν•΄μ„œ 가동 κ°€λŠ₯ν•˜κ²Œ μœ μ§€ν•˜κ³  μž₯기적인 신뒰성을 보μž₯함

SonarQubeλ‚˜ SonarCloudλ₯Ό μ—°λ™ν•˜μ—¬ 같이 μ‚¬μš©ν•˜λ©΄ μ½”λ“œ ν’ˆμ§ˆμ„ ν™•μΈν•˜λŠ” UI도 μžˆλŠ”κ°€λ΄…λ‹ˆλ‹€.

SonarLintλ₯Ό μ‚¬μš©ν•΄μ„œ Quality gateλ₯Ό 톡과해보도둝 λ…Έλ ₯ν•΄μ•Όκ² μŠ΅λ‹ˆλ‹€.

 

 


Rules

SonarLintμ—μ„œ μ–Έμ–΄λ³„λ‘œ λ‹€λ£¨λŠ” κ·œμΉ™λ“€μ€ μ•„λž˜ μ‚¬μ΄νŠΈμ—μ„œλ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

 

https://rules.sonarsource.com/java/

 

Java static code analysis

Unique rules to find Bugs, Vulnerabilities, Security Hotspots, and Code Smells in your JAVA code

rules.sonarsource.com

 

 


참고 자료


https://docs.sonarsource.com/sonarlint/intellij/concepts/clean-code/

 

Clean Code - SonarLint for IntelliJ

 

docs.sonarsource.com