Intellij 100% ํ์ฉํ๊ธฐ (ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง, ์ฝ๋ ์ ๋ ฌ)
by JiwonDev๐ญ EffectiveJava ๋ฟ์๊ธฐ - Sonarlint ํ๋ฌ๊ทธ์ธ
SonarQube๋ ์๋์ฌ๋์ด ์๊ทผ ๋ง๋ค. ์๋์ ๊ฐ์ด ์ฝ๋ํ์ง์ ๊ฒ์ฌํด์ฃผ๋ ์ฑ์ด๋ค.
IntelliJ์๋ SonarQube์ฌ์์ ๋ง๋ SonarLint ํ๋ฌ๊ทธ์ธ์ด ์กด์ฌํ๋ค.
๊ตณ์ด ์๋ํ๋ธ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ผ๋, IntelliJ ์์ฒด์์ ์ฝ๋ํ์ง์ ๊ฒ์ฌํ ์ ์๋ค.
๋งค๋ฒ Sonarlint ํญ์ ๋๋ฌ์ ํ์ธํ์ง ์๋๋ผ๋, Git Commit ์ ์๋ํ์ธํด์ฃผ๋ ์ค์ ์ ํ ์ ์๋ค..
๐ญ ์๋์ ๋ ฌ & 2๋ฒ ๋๋ ์ ๋ ์ค๋ฐ๊ฟ ์ฌ๋ผ์ง ์ทจ์
Ctrl+ Alt+ L์ ๋๋ฅด๋ฉด ์๋์ ๋ ฌ์ด ๋๋ค, (๊ฐ์ธ์ ์ผ๋ก Ctrl + Shift + S์ฒ๋ผ ํ์์ผ๋ก ๋๋ฅผ์ ์๊ฒ ๋ณ๊ฒฝ)
๋ค๋ง ์ฐ๋ฌ์ ๋๋ฅด๋ฉด ๋ณด๊ธฐ์ข๊ฒ ๋๋ ๋๊ฑธ ๊ฐ์ ๋ก ํ์ค๋ก ๋ง๋ค์ด๋ฒ๋ ค์ ์ง์ฆ๋๋ค. ์ด๋ ์ค์ ์์ ๋ ์ ์๋ค.
์ฐธ๊ณ ๋ก Code Style ํญ์์๋ Intellij์ ๊ธฐ๋ณธ ์ฝ๋ํฌ๋งทํ ์ ๋ฐ๊ฟ ์ ์๋ค. ํ์ฌ GoogleStyle ์ฌ์ฉ์ค.
์ฐธ๊ณ ๋ก ์ธํ ๋ฆฌ์ ์ด๋ .editorConfig ํ์ผ์ ๋ง๋ค์ด ํ๋ก์ ํธ์์ ํน์ ์ฝ๋ํฌ๋งทํ ์ ๊ณ ์ ํด์ ์ฐ๋๋ก ์ค์ ํ ์ ์๋ค.
์ด๋ฅผ ๋น๋ํ๊ธฐ์ ์ ๊ฐ์ ํ๊ณ ์ถ๋ค๋ฉด ์๋ฐ์ CheckStyle ์ ์ฐ๋ ๋ฐฉ๋ฒ๋ ์๊ธดํ๋ค.(+IntelliJ Plugin Checkstyle ๋ ์์)
๐ญ ์ฌ์ฉ์ค์ธ ํ๋/ํด๋์ค ๊ฐ์ ํ์
ํด๋น ์ธํฐํ์ด์ค(ํน์ ํด๋์ค๋ ํ๋)๊ฐ ์ด๋์ ์ฌ์ฉ์ค์ธ์ง ๊ถ๊ธํ๋ค๋ฉด, ๋ณดํต Ctrl+Click์ผ๋ก ํ์ธ์ ๋ง์ดํ๋ค.
๊ทผ๋ฐ ๊ทธ๋ฅ Code Vision ์ต์ ์ ์ผ์ฃผ๋ฉด, ์๋์ ๊ฐ์ด ๋์ผ๋ก ๋ฐ๋ก ํ์ธํ ์ ์๋ค.
๐ญ AutoImport
๋งค๋ฒ ์ฝ๋๋ฅผ ์ง์ฐ๊ณ ์ญ์ ํ ๋ ๋ง๋ค Import๋ฅผ ํด์ฃผ๋๊ฒ ๊ท์ฐฎ๋ค๋ฉด, ์๋์ ๊ฐ์ด ์๋์ผ๋ก ์ฒ๋ฆฌ๋๊ฒ ํ ์ ์๋ค.
+ ์์ฃผ ์ฌ์ฉํ๋๋ฐ, ๋๊ฐ์ ์ด๋ฆ์ด ์์ด์ ๋งค๋ฒ ์๋importํด์ฃผ๋๊ฒ ๊ท์ฐฎ๋ค๋ฉด ์ฌ๊ธฐ์์ ์ ์ธ์ํฌ ์ ์๋ค.
๋๋ List<...> ๋ฅผ ์ฌ์ฉํ๋๋ฐ ์๊พธ awt.List๊ฐ ๊ฒ์๋์ ์ด๋ฅผ ์ ์ธ์์ผ์คฌ๋ค.
์ฐธ๊ณ ๋ก ์ด๋ IntelliJ Commit ์ต์ ์๋ ์กด์ฌํ๋ค.
๐ญ ๋ด๊ฐ๋ง๋๋ ์๋์์ฑ- Live Template
Intellij์์๋ ์๊ธ์๋ง ์จ๋ ์๋์ผ๋ก ์์ฑํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋ค. ์๋ฅผ ๋ค์ด sout โก System.out ์ด๋ผ๋๊ฐ
๊ฐ๋์ ์์๊ฑฐ๊ฐ์๋ฐ ์์ด์ ๋ถํธํ ์๋์์ฑ ์ถ์ฝ์ด๋ค์ด ์๋ค. ์ด๋ฐ๊ฑด ์ง์ ์ถ๊ฐํด์ ์ฌ์ฉํด์ฃผ์
๋๋ ์๋์ ๊ฐ์ ์ถ์ฝ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. ์ฒ์๋ถํฐ ๋ค ์ค์ ํ์ง๋์๊ณ ์์๋ฒํ๋ฐ ์์ผ๋ฉด ์ง์ ์ถ๊ฐํ๊ณ ์๋ค.
- tdd -> Junit ํ ์คํธ ํ ํ๋ฆฟ
- pf -> private final
- pv -> public void method
- psvm -> public static void main (๊ธฐ๋ณธ ํ ํ๋ฆฟ)
๐ญ ์ฝ๋์ ์๋์ผ๋ก final ๋ถ์ด๊ธฐ (์ปค์คํ )
ํด๋ฆฐ์ฝ๋๋ฅผ ๋ฐฐ์ฐ๊ณ , ์ฝํ๋ฆฐ ๊ฐ์ ๊ฑธ ๋ณด๋ค๋ณด๋ ์์ํ ์ผ์ด ์๋ ๊ฐ์ฒด์๋ final์ ์ด์ฉํด์ ๋ง์๋๊ณ ๋ ํ๋ค.
๊ทผ๋ฐ ๋งค๋ฒ final์ ์ ๋ ฅํ๋๊ฒ ๋ฒ๊ฑฐ๋กญ๊ธฐ๋ํ๊ณ , ๊ท์ฐฎ์๋ฐ ์ด๋ Code Templates์์ ์ปค์คํ ํด์ค ์ ์๋ค.
GenrPreferences/Settings > Editor > Inspections > Java > Code style issues > Local variable or parameter can be final
๋ง์ฝ ์๋กญ๊ฒ ์์ฑํ๋ ํ์ผ๋ง๊ณ , ํ๋๋ ์ง์ญ๋ณ์์๋ ์๋์ผ๋ก final์ ๋ถ์ด๊ณ ์ถ๋ค๋ฉด
Editor - CodeStyle -> Java -> ์ฐ์ธก ๋ฒํผํ์ฅํญ -> Code Generationํญ ์ค์ ์ ๋ค์ด๊ฐ์.
๐ญ Intellij ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ์๊ฐํํ๊ธฐ
IntelliJ ์์ฒด์ ์ฝ๋์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ฒดํฌํด์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋๊ฑด, ์์ธ๋ก ๋ง์ด ์๊ณ ์๋ค.
๊ทผ๋ฐ ๋งค๋ฒ ํ๊ธฐ ๊ท์ฐฎ์์ ์ฌ์ฉ์ ์ํ๋๋ฐ, ์ด๋ฅผ ์๋์ผ๋ก ์๊ฐํํ๋๋ก ์ค์ ํ ์ ์๋ค.
+ ์ฐ์ธก์ Code Coverage Options๋ ์ฐ์ธก ์๋จ์คํ๋ฒํผ์ Edit Configurations - Modify Optoins์ ์๋ค.
'๐์ ์ฉํ ํ, ๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Intellij ์์ ํน์ ํด๋์ค๊ฐ ์ํฌํธ๋์ง ์์ ๋ (java.util.list) (0) | 2021.08.08 |
---|---|
IntelliJ ์์ฃผ ์ฐ๋ ๋จ์ถํค (์ถ๊ฐ์์ ) (0) | 2021.07.24 |
JetBrain ์ถ์ฒ ํ๋ฌ๊ทธ์ธ ๋ชจ์ (0) | 2021.03.21 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev