좋아요 기능 구현을 하나의 메서드(토글 방식)에서 두 개의 메서드로 분리하기 - f-lab-edu/givemeticon GitHub Wiki
좋아요 기능
이전에는 하나의 메서드로 구현된 좋아요 기능을 구현하였습니다. 좋아요를 누르면 새로운 데이터가 생성되고 이미 좋아요한 경우에는 해당 데이터를 유지하면서 좋아요 칼럼을 false로 변경하도록 구현하였습니다.
내가 고민한 내용들
- 좋아요 취소한 데이터를 보관하면서 사용할 일이 있을까?
- 서버에서는 좋아요와 좋아요 메서드를 분리하여 예외처리와 테스트 용이성을 얻지 않을까?
변경하기로 한 근거
- 좋아요 취소한 데이터를 보관하는 것이 필요한지에 대한 고민이 있었습니다. 하지만, 사용 예정이 없고 데이터의 일관성을 유지하기 위해 취소한 데이터를 보관할 필요가 없다고 판단하여 이를 생략하였습니다.
- 좋아요와 좋아요 취소를 하나의 메서드로 처리할 경우 예외처리와 테스트의 어려움이 있었습니다. 이에 따라 두 개의 메서드로 분리함으로써 각각에 대한 예외처리와 테스트의 용이성을 확보하였습니다.
좋아요 취소 시 데이터를 삭제하면 얻는 이점
- 좋아요 취소한 데이터를 보관하지 않음으로써 데이터베이스의 불필요한 용량을 절약하고, 데이터 일관성을 유지할 수 있게 되었습니다.
메서드 분리 시 얻는 이점
- 각각의 메서드로 분리함으로써 좋아요와 좋아요 취소의 기능이 명확해졌습니다. 이를 통해 코드의 가독성과 유지보수성이 향상되었습니다.
- 각 메서드의 독립성이 높아져 예외처리 및 테스트가 간편해졌습니다. 이를 통해 코드의 신뢰성이 높아졌습니다.