-
Notifications
You must be signed in to change notification settings - Fork 6
π οΈ BE μ½λ 컨벀μ
-
κ°ν
- class 첫 νλλ ν μ€ κ°ν ν μμ±νλ€.
- class λ§μ§λ§ μ€κ΄νΈλ method λ§μ§λ§ μ€κ΄νΈ ν μ€ μλ μμΉνλλ‘ νλ€.
- λ©μλ λ΄μ κ°νμ λ Όλ¦¬μ λ¨μλ‘ μ½μ νλ€.
-
import
- μμ :
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λ‘ μ€μ
- μμ :
-
λ©μλ μμ
-
public-private μ λ ¬ μμ
- public λ©μλλ΄μ private λ©μλλ public λ©μλμ κ°κΉμ΄ μλ μμΉμν¨λ€.
- privateμ΄ κ³μ μ¬μ©λ κ²½μ°, κ°μ₯ μ²μ μ¬μ©ν public λ©μλ μλμ μμΉνλ€.
-
λ©μλ μ λ ¬ μμ
- 컨νΈλ‘€λ¬μ μλΉμ€μμ CRUD μμλλ‘ μμ±
- νμ ν λ μ²μ ν΄λΉ μ½λλ₯Ό 보λ μ¬λμ΄ μμ°¨μ μΌλ‘ μ½λ μλ―Έ νμ νκΈ°κ° λ μ©μ΄νλ€.
-
-
μ€νμΌ νμΌ
-
Code Style - Java - Schema
μμ WootecoStyle μ μ©νμ¬ μΌκ΄μ μΌλ‘ μ½λ μ€νμΌμ λ§μΆλ€.
-
-
final
- fieldμλ§ μ¬μ©νλ€.
- λͺ¨λ κ³³μ finalμ μ¬μ©νλλ° μμ©λλ 리μμ€κ° λ ν¬λ€. νΉμ μν©μμλ§ λͺ μνλ κ²μ΄ λ ν¨μ¨μ μ΄κ³ μλ―Έ μ λ¬μ΄ κ°λ₯νλ€.
-
equals & toString & hashcode
- domain λ° entityμμ λͺ¨λ μ¬μ μνλ€.
- equals μ idλ§ λΉκ΅νλ€.
-
service layer λ°ν νμ
- DTOλ₯Ό νλΌλ―Έν°λ‘ λ°κ³ , DTOλ₯Ό λ°ννλ€.
-
repository element μμ λ μ²λ¦¬
- repositoryμμ get ν¨μλ₯Ό μΆκ°λ‘ μμ±ν΄ find μ emptyμΌ κ²½μ° μμΈλ₯Ό λ°μμν¨λ€.
-
responseEntity
- μν μ½λ μ½κ² μ€μ νκΈ° μν΄ ResponseEntityλ₯Ό μ¬μ©νλ€.
-
errorμ κ²½μ°, handlerλ₯Ό μ¬μ©νμ¬ μ²λ¦¬νλ€.
-
μ€νλ§ μ¨ν리ν°μ κ²½μ°, μ¬μ©νμ§ μκ³ λ°°μ΄ λ΄μ©λ§μΌλ‘ ꡬννλ€.
-
DTO static λ©μλλ₯Ό νμ©ν λ
- from : νλΌλ―Έν°μ κ°μκ° 1κ°μΌ κ²½μ° μ¬μ©νλ€.
- of : νλΌλ―Έν°μ κ°μκ° 2κ° μ΄μμΌ κ²½μ° μ¬μ©νλ€.
- toEnity, toDamain μ¬μ©νλ€.
-
둬볡 λ± getter, setter μλ μμ± μ΄λ Έν μ΄μ μ μ¬μ©νμ§ μλλ€.
-
λ³κ²½ κ°μ§ κΈ°λ₯ νμ©
-
ErrorHandlerλ‘ λ€μ΄μ€λ κ²λ€μ λ‘κ·Έλ₯Ό λ¨κΈ°κ³ , μΆν νμν κ²λ€μ λν΄μλ κ°μΈμ νλ¨μΌλ‘ λ‘κ·Έλ₯Ό λ¨κΈ΄λ€.
-
DTOμμμ κ²μ¦μ ννμ κ΄λ ¨λ κ²μ¦λ§ μ²λ¦¬νλ€.
-
idμ κ²½μ°, Longμ΄ μλ long νμ μ μ¬μ©νλ€.
- test λͺ
- DisplayName: [κΈ°λ₯] μ±κ³΅ : ~ κ²½μ° (μλ΅ κ°λ₯)
- ex) νμκ°μ μ±κ³΅, νμκ°μ μ€ν¨: μ΄λ©μΌ μ€λ³΅μΈ κ²½μ°
- (κΈμ ) λ©μλλͺ
+ μν© μμ κ²½μ° _μν©
- ex) login / save
- (λΆμ ) λ©μλλͺ
_μ€ν¨μ΄μ _exception
- ex) login_passwordMismatch_exception / save_duplicatedName_exception
- DisplayName: [κΈ°λ₯] μ±κ³΅ : ~ κ²½μ° (μλ΅ κ°λ₯)
- TDDμ κ²½μ°, ν¬λ§νλ μΈμλ§ μ§ννλλ‘ νλ€
- test λ°©μ
-
domain : μ λ ν μ€νΈ μ§ννλ€.
-
service : fixture λ§λ€μ΄μ μ¬μ©νλ€. : ν μ€νΈμ© DBλ₯Ό μ¬μ©νλ€.
-
controller : fixture λ§λ€μ΄μ μ¬μ©νλ€. : E2Eλ‘ μ§ννλ€. : λ€μ΄λλ―Ή ν μ€νΈλ₯Ό μ νμ μΌλ‘ λμ νλ€.
-
repository : 쿼리문μ λ°λ‘ μμ±νλ κ²½μ°μλ§ ν μ€νΈμ© DBλ‘ μμ±νλ€.
-
- OSIV μ€μ
- μ€μ νμΌμμ μ΄κΈ°λΆν° λκ³ μ§ννλ€.
-
controller, service λ©μλ μ΄λ¦
-
controller
- create, read, update, delete
-
service
- create, read, update, delete λμΌνκ² μμ±νκ³ κΈ°λ₯μ λ°λΌ λͺ λͺ νλ€.
-
-
ν¨ν€μ§ μ΄λ¦
- domain
- repository
- service
- controller
- μΌμ£ΌμΌ λμ νμ΄λ₯Ό μ§νν΄ λ³Έ ν, μΆν μ§μ μ¬λΆλ₯Ό κ²°μ νλ€.
- λ¬Έμνλ λ Έμ κ³Ό swagger UIλ‘ μ§ννλ€.
-
PR
- νμ΄ κΈ°κ° λμμ μμ μ λ€λ₯Έ νμ λ λͺ μ΄ κ°μ μ§ννλ€.
- νμ΄ κΈ°κ°μ΄ μλ λμλ λͺ¨λκ° λ¦¬λ·°λ₯Ό μ§ννλ€. λ¨, λͺ¨λ μ¬νμ΄ λ§μ‘±μ€λ¬μΈ κ²½μ° κ°λ¨ν λ¦¬λ·°λ§ λ¨κΈ°κ³ approve νλ€.
- 리뷰μ κ²½μ°, PR μμ± ν ν루 μ΄λ΄μ μμ±ν΄ μ€λ€.
-
commit
- κΈ°λ³Έμ μΌλ‘ μ»€λ° μ»¨λ²€μ μ λ°λ₯Έλ€.
- κΈ°λ₯ λ¨μλ‘ κ΅¬νκ³Ό ν μ€νΈλ₯Ό κ°μ΄ 컀λ°νλ€.
- λ¬Έμ₯νμ΄ μλ λ¨μ΄νμΌλ‘ μμ±νλ€. ex) λ‘κ·ΈμΈ κΈ°λ₯ ꡬν
- ν¨ν€μ§
- κ³μΈ΅ν VS λλ©μΈν
- κ³μΈ΅νμΌλ‘ νμ λμ ν¨ν€μ§ μμ ν΄λμ€κ° μμ΄λ©° κ°λ μ±μ΄ λ¨μ΄μ§ κ²½νμ΄ μλ€.
- λλ©μΈμΌλ‘ λλ κ²½μ° κ° κΈ°λ₯μ λ°λΌ λλμ΄ μμ΄μ μ²μλΆν° νμ νκΈ° μ©μ΄νλ€.
- κ³μΈ΅ν VS λλ©μΈν
- π μλΉμ€ μκ°
- π¨βπ©βπ§βπ¦ λ°©λ μ μ£Όλ―Ό μκ°
- ποΈ 608λ κ·μΉ
- π₯ κΉ μ»¨λ²€μ
- π€ μ¬μ©μ μλ리μ€
- π κΈ°λ₯ 리μ€νΈ