일관성 있게 코드를 작성해야되는데, 가장 중요한 함수 이름에 대해 일관성이 부족했다. 저장하는 로직만 살펴봐도 write, save, saveAll, bulkWrite, bulkSave
의 이름으로 사용하고 있는데, 큰 고민 없이 사용했다. 이 부분에 대해서 좀 더 고민하고 이름을 지어봐야겠다. 당장은 JPA 내부 메서드에서는 어떻게 동작하는지 보고 기준을 세워보려고한다.
주석이 안좋다고 해서 회사 프로젝트에 주석을 달때마다 마음 한편으로 죄짓는 느낌이 있었다. 주석은 무조건 안좋다고 생각했는데, 좋은 주석과 나쁜 주석이 구분되서 다행이였고 다행히 내가 작성한 주석들은 이상한 변수명 도메인인 적으로 설명, 정책논의, 이상한 스펙들이 어떤 배경에서 왔는지 슬랙 링크 등을 첨부하고 있어서 좋은 주석이라 안심이 되었다. 최대한 주석을 안달겠지만 달 수 있으면 의미있는 주석만 달아야겠다.
TransactionType
을 판단하는 로직만 수행하기 때문에 아래 예시는 한가지 일만 한다고 판단이 됨 fun decideTransactionType(legacyCode): String {
return when (legacyCode) {
"approveCode" -> APPROVE
"cancelCode" -> CANCEL
"partialCancelCode" -> PARTIAL_CANCEL
}
}
// 1안
fun TestClass {
fun publicA() {
return privateFunA()
}
fun publicB() {
}
private fun privateFunA() {
// logic
}
}
// 2안
fun TestClass {
fun publicA() {
return privateFunA()
}
private fun privateFunA() {
// logic
}
fun publicB() {
}
}
class CommentEntity {
private cardFee: Long?, // 변수명은 카드수수료 같지만 실제로 부분취소키
}
class Policy {
// 정책적으로 예외가 있음
fun decide() {
return if (예외) {
예외함수
} else {
정상동작
}
}
}