질문&답변
순수 webflux 프로젝트의 가독성 팁 그리고 향후 kotlin을 활용한 프로젝트 계획이 있는지 궁금합니다.
보링님 안녕하세요! 일정이 겹쳐 답변이 조금 늦어진 점 사과드립니다. 현재 저는 Java 생태계 내에서 리액티브 프로그래밍을 주로 하고 있고, 실무에서도 100% 자바로 운영하고 있어 코틀린에 대해서는 깊이 있는 답변을 드리는 데 한계가 있는 점 이해 부탁드립니다. 다만 말씀하신 대로 동료분들이 코틀린 환경에 익숙하시다면, 코루틴을 활용해 비동기 로직을 동기 코드처럼 작성하는 것이 가독성 면에서는 확실한 강점이 될 수 있다고 생각합니다. 자바 기반의 WebFlux가 코틀린에 비해 가독성 측면에서 단점만 있는 것은 아닙니다. Mono와 Flux를 사용하면 스레드 흐름을 어느정도 제어할 수 있고 어디서 스레드가 분리되는지 복귀하는지 어떤 스레드가 일하고 있는지 그나마 파악이 용이합니다. 코루틴은 비동기 코드도 동기 코드처럼 작성하기에 현재 일을 수행하는 스레드, 스레드 분리/복귀의 파악에 다소 어려움이 있던것 같습니다. (코틀린에 대한 지식이 짧아서 제 역량 부족일 수 있습니다.) 문의하신 로직이 복잡해질 때의 관리법에 대해서는 원래 다음 강의에서 복잡한 로직을 다루며 직접 보여드리려 준비 중이었으나, 제작이 조금 지체되고 있어 우선 가장 도움이 되었던 2가지 정도 짧게 글로 전달드립니다. 첫 번째는 람다식 로직을 함수로 분리하는 것입니다. 람다식 로직이 4~5줄 이상 길어질 때 별도의 함수로 분리하면 체인 안에서 한줄 한줄 함수 이름만 읽어내려가며 무슨 일을 하는지 파악할 수 있어 가독성이 많이 좋아집니다. 두 번째는 지역변수로 분리 입니다. 체이닝이 너무 길어져 가독성이 안좋아지면 중간에 적절히 끊어 지역 변수로 결과를 받은 다음 체인을 시작하는 것도 도움이 됐던것 같습니다. 키 노출 관련해서는 바로 조치를 취했습니다!.. 따로 요금이 부과되지는 않았어서 정말 다행이네요. 알려주셔서 감사합니다. 코틀린 비동기 환경에 대한 이해도가 높으신 분께서 제 강의를 좋게 봐주셔서 기쁘네요. 조만간 더 좋은 강의로 찾아 뵙겠습니다. 감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 164





