๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Comment ๋? Code์ ๋ํ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ถ๊ฐ ์ค๋ช
. ์ฌ๋์ด Code๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๊ฒ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค. โถ Clean Commet ์์น 1. Comment๋ ํ์์
์ด๋ค 2. Comment๋ ๋๋ถ๋ถ์ ์ํฉ์์ ์ฌ์ฉํ์ง ๋ง์์ผ ํ๋ค. (๊ทธ๋ฌ๋ Comment๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๋ช ๊ฐ์ง ์์ธ ์ํฉ์ด ์๋ค) * ์ ์ต๋ํ ์ฝ๋ฉํธ๋ฅผ ํผํด์ผํ ๊น? >> Comment ๋ณด๋ค Code ๊ทธ ์์ฒด๊ฐ ์๋ฏธ ์์ด์ผ ํ๋ค. - Comment๋ก ๋ถ๊ฐ ์ค๋ช
์ด ํ์ํ๋ค๋ฉด Code๊ฐ ์ถฉ๋ถํ ์๋ฏธ ์์ง ๋ชปํ๋ค๋ ๊ฒ์ด๋ค. - Comment์ ์์งํ๊ธฐ ๋ณด๋ค ์๋ฏธ์๋ Code๋ฅผ ์์ฑํ๋ ๋
ธ๋ ฅ์ด ํ์ํ๋ค >> Comment๋ ์ต์ ์ ๋ณด๋ฅผ ๋ด์ง ๋ชปํ๋ค. - Code๋ฅผ ๋ณ๊ฒฝํ๋ค๊ณ Comment ๋ณ๊ฒฝ๋ ํ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
โซ ์ ์ง๋ณด์์ฑ ๋์ Clean Method์ ์กฐ๊ฑด 1. Method๋ฅผ ํธ์ถํ๋ ์ฌ๋์ด ์ฌ์ฉํ๊ธฐ ์ฉ์ดํด์ผ ํ๋ค. 2. Method๋ฅผ ์ ์ง๋ณด์ ํ๋ ์ฌ๋์ด ์ดํดํ๊ณ , ๋ณ๊ฒฝํ๊ธฐ ์ฉ์ดํด์ผ ํ๋ค. 3. Method๋ฅผ ์ ์ง๋ณด์ ํ๋ ์ฌ๋์ด ํ
์คํธํ๊ธฐ ์ฉ์ดํด์ผ ํ๋ค. โถ Clean Method์ ์์น · ๊ฐ๋ฅํ ํ ์ถฉ๋ถํ ์์์ผ ํ๋ค. · ํ ๊ฐ์ง๋ฅผ ํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ ๊ฐ์ง๋ฅผ ์ ํด์ผ ํ๋ค. · ํ
์คํธ ๊ฐ๋ฅํด์ผ ํ๋ค. · ์ค๋ณต์ด ์์ด์ผ ํ๋ค. Method๋ฅผ ๋ง๋ค ๋ Method๋ฅผ ํธ์ถํ๋ ์ฌ๋์ ์ธ์ง์ ๋ถํ๋ฅผ ์ต์๋ก ๋ง๋ค์ด ์ฃผ์ด์ผ ํ๋ค. ์ฆ, Method๋ฅผ ํธ์ถํ ๋๋ง๋ค ๋ด๋ถ ์ฝ๋๋ฅผ ๋ณด๊ฑฐ๋ API ๋ฌธ์๋ฅผ ๋ณด์ง ์๊ฒ๋ ํด์ผํ๋ค๋ ๊ฒ์ด๋ค. ์ธ์ง์ ๋ถํ๋ฅผ ๋ฎ์ถ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ Method์ Parameter์ ..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Clean Naming์ ์์๋ณด๊ธฐ์ ์์ Clean Code๋ ๋ฌด์์ผ๊น? Clean Code๋? ์ดํดํ๊ธฐ ์ฝ๊ณ , ๋ณ๊ฒฝํ๊ธฐ ์ฌ์ด Code. ์ฌ๋์ด ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ณ , ๋ช
ํํ ํ๊ฐ์ง ์ญํ ์ ํ๋ฉฐ, ์ด ์ญํ ์ ์๋ฏธ์๊ฒ ํํํ๊ณ , ์ค๋ณต์ด ์๊ณ ํ
์คํธ ์ผ์ด์ค๊ฐ ์กด์ฌํ๋ Code ์ด๋ค. Clean Naming์ ๊ฐ๋
์ฑ ํฅ์์ ๊ฐ์ฅ ์ค์ํ ์์์ด๋ค. ๊ฐ๋ฐ์ ๋๋ถ๋ถ์ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์์ ํ๋ ํ์์ด๋ค. ๋ง์ฝ ๊ทธ๊ฒ ์๋ฐฑ ๋ผ์ธ์ ์ฝ๋๋ผ๋ฉด ํฌ๊ฒ ์ด๋ ค์ด ์ผ์ด ์๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์์ญ, ์๋ฐฑ๋ง ๋ผ์ธ์ ์ฝ๋๋ฅผ ์ฝ๊ณ ์ดํดํ๊ณ ์์ ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ด ์ผ์ด๋ค. ๊ทธ๋ ๊ธฐ์ Clean Naming์ ๋ํ ์์ ํฌ์๋ ์ฅ๊ธฐ์ ์ผ๋ก๋ ํ์ ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์์ ํฌ๊ฒ ๊ธฐ์ฌ๊ฐ ๋ ์ ์๋ ๋ถ๋ถ์ด๋ค. SW์ ์ฃผ์ ์์๋ค์ ๋ชจ๋ ์๋์ ๊ฐ์ด Cl..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
List ์ธํฐํ์ด์ค : List ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ํด ์ ์๋ ์ธํฐํ์ด์ค - ์ฌ๋ฌ ๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๊ฐ์ฒด๋ก ๊ด๋ฆฌํ๋ค. - ์
๋ ฅ๋ ๋ฐ์ดํฐ์ ์์๊ฐ ์กด์ฌํ๋ค. (์์ ์ ๋ณด์ ๊ด๋ฆฌ๋ฅผ ์ํด ์ธ๋ฑ์ค ๊ฐ๋
์ด ์กด์ฌ) - ์
๋ ฅ๋ ๋ฐ์ดํฐ๋ค์ ์ค๋ณต์ ํ์ฉํ๋ค. โซ Collection ์ธํฐํ์ด์ค๋ฅผ ์์ํ์ฌ ์ ์๋ ์ธํฐํ์ด์ค Collection ์ธํฐํ์ด์ค์์ ์ ์๋ ๋ฉ์๋์ List ์๋ฃ๊ตฌ์กฐ์ ํ์ํ ๋ฉ์๋๊ฐ ์ถ๊ฐ๋ก ์ ์ ๋๋ค. โซ ๋ํ์ ์ธ List ์๋ฃ๊ตฌ์กฐ์ ์ปฌ๋ ์
ํด๋์ค → ArrayList๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํด๋์ค ArrayList ํด๋์ค๋? · Array์ ๊ฐ์ฅ ์ ์ฌํ ์ปฌ๋ ์
ํด๋์ค์ด๋ค. · Array์ฒ๋ผ ๊ฐ์ฒด ๋ด๋ถ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํ ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ๋ค. · Array์ ๋ค๋ฅด๊ฒ ์์ฑ๋ ๊ฐ์ฒด์์ ๋ฐ์ดํฐ์ ์ถ๊ฐ, ์ญ์ ..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
์ปฌ๋ ์
ํ๋ ์์ํฌ (Collection framework) ๋ค์ํ ์๋ฃ๊ตฌ์กฐ์ ๊ตฌํ์ ์ํ ํด๋์ค์ ์ธํฐํ์ด์ค์ ์งํฉ โซ ์ปฌ๋ ์
ํ๋ ์์ํฌ ํด๋์ค์ Array์ ์ฐจ์ด์ 1. Array๋ ์ ์ํ ๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ์ ํ์ฌ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ์ง๋ง, ์ปฌ๋ ์
ํ๋ ์์ํฌ ํด๋์ค๋ ๋ฐ์ดํฐ ๊ฐ์์ ๋์ ์ธ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค. 2. Array๋ Object๋ int, charํ ๋ฑ์ Primitive Type์ ์์๋ก ๊ฐ์ง ์ ์์ง๋ง, ์ปฌ๋ ์
ํ๋ ์์ํฌ ํด๋์ค๋ ๊ฐ์ฒด๋ง์ ์์๋ก ๊ฐ์ง๋ค. ์ปฌ๋ ์
ํ๋ ์์ํฌ์ ์ฃผ์ ์ธํฐํ์ด์ค 1. List ์ธํฐํ์ด์ค 2. Set ์ธํฐํ์ด์ค 3. Map ์ธํฐํ์ด์ค (* List์ Set ์ธํฐํ์ด์ค๋ ๋ชจ๋ Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ ์ ์ํ์ง๋ง, Map ์ธํฐํ์ด์ค๋ ๊ตฌ์กฐ์์ ์ฐจ์ด๋ก Col..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
์์ (inheritance) ์ผ๋ฐํ๋ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ์๋ก์ด specific ํ ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ ์์์ ํ๋ ํด๋์ค(User)๋ฅผ '๋ถ๋ชจ(Parent) ํด๋์ค, ์์(Super) ํด๋์ค, ๊ธฐ๋ฐ(Base) ํด๋์ค'๋ผ๊ณ ํํํ๊ณ , ์์์ ๋ฐ๋ ํด๋์ค(PaidUser)๋ฅผ '์์(Child) ํด๋์ค, ํ์(Sub) ํด๋์ค, ํ์(Derived) ํด๋์ค'๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค. - ์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค์ ๋ชจ๋ ๋ฉค๋ฒ๋ณ์์ ๋ฉ์๋๋ฅผ ์์๋ฐ๋๋ค (But, Java๋ ๋จ์ผ์์๋ง ํ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋์ ํด๋์ค๋ก๋ถํฐ๋ง ์์์ ๋ฐ์ ์ ์๋ค) - ์์์ ์ฌ์ฉํ๋ฉด ํด๋์ค ๊ฐ์ ๊ณ์ธต์ ๋ถ๋ฅ(hierarchical classifications)๊ฐ ๊ฐ๋ฅํด์ง๋ค โท Java์์๋ extends๋ฅผ ์ฌ์ฉํ์ฌ ๋ถ๋ชจ ํด๋์ค์ ๋ฉค๋ฒ..