-
Notifications
You must be signed in to change notification settings - Fork 5
π οΈ BE μ½λ 컨벀μ
jinwoo22 edited this page Aug 2, 2024
·
6 revisions
- μμ : μΈν
리μ μ΄
Code Style - Java - Import Layout
μμ Layout static imports separately μ μ©νλ€.
import all other imports
import javax.*
import java.*
<blank line>
import static all other imports
- wildcard : μΈν
리μ μ΄
Code Style - Java - Classcount to use β¦
λ°Names count to use β¦
99λ‘ μ€μ νλ€.
- μΈν
리μ μ΄
Code Style - Java - Schema
μμ WootecoStyle μ μ©νμ¬ μΌκ΄μ μΌλ‘ μ½λ μ€νμΌμ λ§μΆλ€.
-
ν¨ν€μ§ ꡬ쑰λ λλ©μΈνμΌλ‘ νλ€.
- κ³μΈ΅νμΌλ‘ νμ λμ ν¨ν€μ§ μμ ν΄λμ€κ° μμ΄λ©° κ°λ μ±μ΄ λ¨μ΄μ§ κ²½νμ΄ μλ€.
- λλ©μΈμΌλ‘ λλ κ²½μ° κ° κΈ°λ₯μ λ°λΌ λλμ΄ μμ΄μ μ²μλΆν° νμ νκΈ° μ©μ΄νλ€.
-
ν¨ν€μ§ μ΄λ¦μ λ€μκ³Ό κ°λ€.
- domain - controller - service - domain - repository
- μν μ½λ μ½κ² μ€μ νκΈ° μν΄ ResponseEntityλ₯Ό μ¬μ©νλ€.
- DTOλ₯Ό νλΌλ―Έν°λ‘ λ°κ³ , DTOλ₯Ό λ°ννλ€.
- λ³κ²½ κ°μ§ κΈ°λ₯ νμ©νλ€.
- equals & toString & hashcode
- domain λ° entityμμ λͺ¨λ μ¬μ μνλ€.
- equals μ idλ§ λΉκ΅νλ€.
- idλ Long νμ μ μ¬μ©νλ€.
- repository element μμ λ get ν¨μλ₯Ό μΆκ°λ‘ μμ±ν΄ findμ emptyμΌ κ²½μ° μμΈλ₯Ό λ°μμν¨λ€.
- from : νλΌλ―Έν°μ κ°μκ° 1κ°μΌ κ²½μ° μ¬μ©νλ€.
- of : νλΌλ―Έν°μ κ°μκ° 2κ° μ΄μμΌ κ²½μ° μ¬μ©νλ€.
- toEnity, toDamain μ¬μ©νλ€.
- handlerλ₯Ό μ¬μ©νμ¬ μ²λ¦¬νλ€.
- μλ¬ λ©μμ§λ EnumμΌλ‘ κ΄λ¦¬νλ€. λ°λ‘ 컀μ€ν μμΈ ν΄λμ€λ₯Ό μμ±νμ§ μλλ€.
- ErrorHandlerλ‘ λ€μ΄μ€λ κ²λ€μ λ‘κ·Έλ₯Ό λ¨κΈ°κ³ , μΆν νμν κ²λ€μ λν΄μλ κ°μΈμ νλ¨μΌλ‘ λ‘κ·Έλ₯Ό λ¨κΈ΄λ€.
- public λ©μλλ΄μ private λ©μλλ public λ©μλμ κ°κΉμ΄ μλ μμΉμν¨λ€.
- privateμ΄ κ³μ μ¬μ©λ κ²½μ°, κ°μ₯ μ²μ μ¬μ©ν public λ©μλ μλμ μμΉνλ€.
- 컨νΈλ‘€λ¬μ μλΉμ€μμ λͺ¨λ create, read, update, deleteλ‘ μμ±νκ³ , CRUD μμλλ‘ μ λ ¬νλ€.
- νμ ν λ μ²μ ν΄λΉ μ½λλ₯Ό 보λ μ¬λμ΄ μμ°¨μ μΌλ‘ μ½λ μλ―Έ νμ νκΈ°κ° λ μ©μ΄νλ€.
- class 첫 νλλ ν μ€ κ°ν ν μμ±νλ€.
- class λ§μ§λ§ μ€κ΄νΈλ method λ§μ§λ§ μ€κ΄νΈ ν μ€ μλ μμΉνλλ‘ νλ€.
- λ©μλ λ΄μ κ°νμ λ Όλ¦¬μ λ¨μλ‘ μ½μ νλ€.
- μ΄λ Έν μ΄μ μ λ ¬ μμλ μ€μλκ° λμ κ²λΆν° ν΄λμ€ κ°κΉμ΄ λλ€.
- 둬볡 λ± getter, setter μλ μμ± μ΄λ Έν μ΄μ μ μ¬μ©νμ§ μλλ€.
- OSIV μ€μ λκ³ μμνλ€.
- [κΈ°λ₯] μ±κ³΅ : ~ κ²½μ° (μλ΅ κ°λ₯)
- ex) νμκ°μ μ±κ³΅, νμκ°μ μ€ν¨: μ΄λ©μΌ μ€λ³΅μΈ κ²½μ°
- (κΈμ ) λ©μλλͺ
+ μν© μμ κ²½μ° _μν©
- ex) login / save
- (λΆμ ) λ©μλλͺ
_μ€ν¨μ΄μ _exception
- ex) login_passwordMismatch_exception / save_duplicatedName_exception
- TDDμ κ²½μ°, ν¬λ§νλ μΈμλ§ μ§ννλλ‘ νλ€.
- domain
- μ λ ν μ€νΈ μ§ννλ€.
- service
- fixture λ§λ€μ΄μ μ¬μ©νλ€.
- ν μ€νΈμ© DBλ₯Ό μ¬μ©νλ€.
- controller
-
fixture λ§λ€μ΄μ μ¬μ©νλ€.
-
E2Eλ‘ μ§ννλ€.
-
λ€μ΄λλ―Ή ν μ€νΈλ₯Ό μ νμ μΌλ‘ λμ νλ€.
-
repository
- 쿼리문μ λ°λ‘ μμ±νλ κ²½μ°μλ§ ν μ€νΈμ© DBλ‘ μμ±νλ€.
-
- μΌμ£ΌμΌ λμ νμ΄λ₯Ό μ§νν΄ λ³Έ ν, μΆν μ§μ μ¬λΆλ₯Ό κ²°μ νλ€.
- λ¬Έμνλ λ Έμ κ³Ό swagger UIλ‘ μ§ννλ€.
- π μλΉμ€ μκ°
- π¨βπ©βπ§βπ¦ λ°©λ μ μ£Όλ―Ό μκ°
- ποΈ 608λ κ·μΉ
- π₯ κΉ μ»¨λ²€μ
- π€ μ¬μ©μ μλ리μ€
- π κΈ°λ₯ 리μ€νΈ