일단 지금 코드에서
부작용이 한눈에 보이거든?
저 execute부분 빼면 부작용이 없고
저 함수는 걍 1. DB에서 값 읽어오기
2. DB에 insert하기
이 두가지 부작용밖에 없음.
물론 읽어오는 부작용은 눈에 띄지 않고, 나는 이거는 Optional Lock으로 퉁쳐버렸어.
그냥 OptionalLock을 통해서 읽기는 무조건 안전하다고 가정해버릴거고 부작용으로 생각을 안할거야.
근데 이 글 쓰다가 눈치챈건데,
부작용을 발생시키고 다시 값을 읽어오는 부작용을 할 때에는 이게 중요하겟더라?
잠깐 고민좀 들어가볼게
결국은 나는 코드에서 부작용이 딱 잘 드러나도록.
이부분만 유의해서 보고
나머진 다 순수함수니까 계산식 까보던가 걍 잘 구했겠지 하고 넘기셈 안전함.
이걸 만들고 싶은건데
부작용을 어떻게 잘 격리시킬까 그 고민만 남아있음
ApiIO 라는걸로 일단 Runnable 등록시켜서 한번에 발동시킬까? 했었는데 그거 좀 아닌거같아서 고민중....
해당 댓글은 삭제되었습니다.
웅
고마왕
여기 쓰는 filter랑 assertThrow, orElseThrow map execute 전부다 내가 만든거고, 그냥 대충 알아들을사람들은 알아들을거임 뭐하는건지
와 진짜 가독성 존나 좋은데?
아닌가? 나만 그렇게 느끼나?