Last updated 3 years ago
์ดํํฐ๋ธ ์๋ฐ 3ํ Github
ITEM 1: Static Factory Method(์ ์ ๋ฉ์๋)
ITEM 2: Builder Pattern
ITEM 3: Singleton
ITEM 4: Private Constructor
ITEM 5: Dependency Injection
ITEM 6: Avoid Unnecessary Object
ITEM 7: Eliminate Object Reference
ITEM 8: Avoid finalizer and cleaner
ITEM 9: try-with-resources
ITEM 10: The gerneral contract when overriding equlas
ITEM 11: Overriding hashCode
ITEM 12: overriding toString
ITEM 13: overriding clone judiciously
ITEM 14: Consider implementing comparable
ITEM 15: ํด๋์ค์ ๋ฉค๋ฒ์ ์ ๊ทผ์ ์ต์ํํด๋ผ
ITEM 16: Use Accessor methods
ITEM 17: ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ต์ํํด๋ผ(๋ถ๋ณ ํด๋์ค)
ITEM 18: ์์๋ณด๋จ ์ปดํฌ์ง์ ์ ์ฌ์ฉํด๋ผ
ITEM 19: ์์์ ๊ณ ๋ คํด ์ค๊ณํ๊ณ ๋ฌธ์ํํด๋ผ
ITEM 20: ์ถ์ ํด๋์ค๋ณด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ
ITEM 21: ์ธํฐํ์ด์ค๋ ๊ตฌํํ๋ ์ชฝ์ ์๊ฐํด ์ค๊ณํด๋ผ.
ITEM 22: ์ธํฐํ์ด์ค๋ ํ์ ์ ์ ์ํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํด๋ผ
ITEM 23: ํ๊ทธ ๋ฌ๋ฆฐ ํด๋์ค๋ณด๋ค ํด๋์ค ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ํ์ฉํด๋ผ
ITEM 24: ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๊ตฌํํด๋ผ
ITEM 25: ํฑ๋ ๋ฒจ ํด๋์ค๋ ํ ํ์ผ์ ํ๋๋ง ์์ฑํด๋ผ.
ITEM 26: Raw type์ ์ฌ์ฉํ์ง ๋ง๋ผ
ITEM 27: ๋น๊ฒ์ฌ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํด๋ผ
ITEM 28: ๋ฐฐ์ด๋ณด๋ค๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 29: ์ด์์ด๋ฉด ์ ๋ค๋ฆญ ํ์ ์ผ๋ก ๋ง๋ค์ด๋ผ
ITEM 30: ์ด์์ด๋ฉด ์ ๋ค๋ฆญ ๋ฉ์๋๋ก ๋ง๋ค์ด๋ผ
ITEM 31 : ํ์ ์ ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํด API ์ ์ฐ์ฑ์ ๋์ฌ๋ผ
ITEM 32: ์ ๋ค๋ฆญ๊ณผ ๊ฐ๋ณ์ธ์๋ฅผ ํจ๊ป ์ธ ๋๋ ์ ์คํด๋ผ
ITEM 33: ํ์ ์์ ์ด์ข ์ปจํ ์ด๋๋ฅผ ๊ณ ๋ คํด๋ผ
ITEM 34: int ์์ ๋์ ์ด๊ฑฐ ํ์ ์ ์ฌ์ฉํด๋ผ
ITEM 35: ordinal ๋ฉ์๋ ๋์ ์ธ์คํด์ค ํ๋๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 36: ๋นํธ ํ๋ ๋์ EnumSet์ ์ฌ์ฉํด๋ผ
ITEM 37: ordinal ์ธ๋ฑ์ฑ ๋์ EnumMap์ ์ฌ์ฉํด๋ผ
ITEM 38: ํ์ฅํ ์ ์๋ ์ด๊ฑฐํ์ ์ด ํ์ํ๋ฉด ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 39: ๋ช ๋ช ํจํด๋ณด๋ค ์ ๋ํ ์ด์ ์ ์ฌ์ฉํด๋ผ
ITEM 40: @Override ์ด๋ ธํ ์ด์ ์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํด๋ผ
ITEM 41: ์ ์ํ๋ ค๋ ๊ฒ์ด ํ์ ์ด๋ผ๋ฉด ๋ง์ปค ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 42: ์ต๋ช ํด๋์ค๋ณด๋ค๋ ๋๋ค๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 43: ๋๋ค๋ณด๋ค๋ ๋ฉ์๋ ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 44: ํ์ค ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 45: ์คํธ๋ฆผ์ ์ฃผ์ํด์ ์ฌ์ฉํด๋ผ
ITEM 46: ์คํธ๋ฆผ์์ ๋ถ์์ฉ ์๋ ํจ์๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 47: ๋ฐํ ํ์ ์ผ๋ก๋ ์คํธ๋ฆผ๋ณด๋ค ์ปฌ๋ ์ ์ด ๋ซ๋ค.
ITEM 48: ์คํธ๋ฆผ ๋ณ๋ ฌํ๋ ์ฃผ์ํด์ ์ฌ์ฉํด๋ผ
ITEM 49: ๋งค๊ฐ๋ณ์๊ฐ ์ ํจํ์ง ๊ฒ์ฌํด๋ผ
ITEM 50: ์ ์์ ๋ฐฉ์ด์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค์ด๋ผ
ITEM 51: ๋ฉ์๋ ์๊ทธ๋์ฒ๋ฅผ ์ ์คํ ์ค๊ณํด๋ผ
ITEM 52: ๋ค์ค์ ์๋ ์ ์คํ ์ฌ์ฉํด๋ผ
ITEM 53: ๊ฐ๋ณ์ธ์๋ ์ ์คํ ์ฌ์ฉํด๋ผ
ITEM 54: null์ด ์๋, ๋น ์ปฌ๋ ์ ์ด๋ ๋ฐฐ์ด์ ๋ฐํํด๋ผ
ITEM 55: Optional ๋ฐํ์ ์ ์คํ๊ฒ ํด๋ผ
ITEM 56: ๊ณต๊ฐ๋ API ์์์๋ ํญ์ ์ฃผ์์ ์์ฑํด๋ผ
ITEM 57: ์ง์ญ๋ณ์์ ๋ฒ์๋ฅผ ์ต์ํํด๋ผ
ITEM 58: ์ ํต์ ์ธ for ๋ฌธ๋ณด๋ค๋ for-each๋ฌธ์ ์ฌ์ฉํด๋ผ
ITEM 59: ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ตํ๊ณ ์ฌ์ฉํด๋ผ
ITEM 60: ์ ํํ ๋ต์ด ํ์ํ๋ค๋ฉด float์ double์ ํผํด๋ผ
ITEM 61: ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์ ๋ณด๋ค๋ ๊ธฐ๋ณธ ํ์ ์ ์ฌ์ฉํด๋ผ
ITEM 62: ๋ค๋ฅธ ํ์ ์ด ์ ์ ํ๋ค๋ฉด ๋ฌธ์์ด ์ฌ์ฉ์ ํผํด๋ผ
ITEM 63: ๋ฌธ์์ด ์ฐ๊ฒฐ์ ๋๋ฆฌ๋ ์ฃผ์ํด๋ผ
ITEM 64: ๊ฐ์ฒด๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด ์ฐธ์กฐํด๋ผ
ITEM 65: ๋ฆฌํ๋ ์ ๋ณด๋ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด๋ผ
ITEM 66: ๋ค์ดํฐ๋ธ ๋ฉ์๋๋ ์ ์คํ ์ฌ์ฉํด๋ผ
ITEM 67: ์ต์ ํ๋ ์ ์คํ ํด๋ผ
ITEM 68: ์ผ๋ฐ์ ์ผ๋ก ํต์ฉ๋๋ ๋ช ๋ช ๊ท์น์ ๋ฐ๋ผ๋ผ