큰 건 아니지만, 난 지금까지 kotlin-jdsl에 약 3개 정도의 작은 PR을 반영한 적이 있다.
가장 염원한 것은 중위 연산, 연산자 오버로드였지만 아쉽게도 해당 논의건은 승인되지 않았다 .. ㅎ
이 글은 기여하면서 느끼고 배운 것들에 대해 작성했다.
느낀 것
코드 내부가 정말 이쁘다
아름답지 않은가? 얼마 전에 조사한 JPA 내부구조와 비교하면 정말 아름답다.. (미안하다 하이버네이트)
처음보는 데도 어떤 클래스가 무슨 역할을 하는지 지례 짐작하는 것이 어렵지 않았다.
무엇보다 OCP를 바로 떠올릴만큼 확장에 유연했다.
아, 그리고 Lint라던가 Commit 규약이라던가 하나라도 안 맞으면 PR을 못올린다 ㅠ
잘 체크해볼 것!
정성이 담긴 리뷰
우테코 이후 이런 리뷰는 오랜만인 것 같았다.
거기선 리뷰 지옥으로부터 탈출하고 싶었던 적도 있었다.
그런데 반대로 잠시 재직하던 때에 누구보다 열심히 리뷰하는 내 모습을 찾을 수 있었다.
그래서 그런지 이런 리뷰의 기회가 정말 반갑고 달갑게 찾아왔다.
사실 작성자 shouwn님은 한국인이다. 아무래도 국내 이외의 타 나라와도 협업을 할 수 있기 때문에 영어 위주로 소통을 한 것 같다. 다만 내 PR의 경우 Docs 작업이기 때문에 영어로 소통하기엔 한계가 느껴지셨던 것 같았다.
참고로 line 내부에서도 예외없이 정성 담긴 리뷰를 주고 받는 것을 볼 수있다
제안하고 싶었던 것
java와 다르게 코틀린은 연산자 오버로딩과 중위 연산자를 지원한다.
즉 아래와 같은 문법이 지원된다.
vectorA + vectorB
select ... where (a.id eq 1) and (b.id eq 2)
하지만 이것은 놀랍게도 shown님이 놀라운 이유로 반대를 하게 된다…
사실, 처음 discussion을 올릴 당시는 해당 syntax에 대한 이해도가 높아서, shouwn님의 설명을 어느 정도 이해를 했었는데...
지금 이 글을 쓰고 다시 보니까 이해가 안 간다.. (추후 다시 읽어볼 예정)
더 자세한 내용은 아래 Discussion에 있다!
리뷰시 체크할 것
그 외 리뷰시에 체크할 게 있었는데... 이건 나를 위해 짧게 메모해둔 것이다!
혹시 기여할 생각이 있는 분들도 꼼꼼히 확인해야할 것들이 있으니 섬세하게 작업하길 바란다!
코드 체크 사항
- 이클립스 재단의 Jakarta EE 명세 지켰는지
컨벤션 체크 사항
- lint
- commit 규약
커밋 체크하는 방법 중 하나는 report를 뽑아보면 된다
./gradlew koverXmlReport
'Back-end > Java, Kotlin' 카테고리의 다른 글
코틀린에서는 일급 컬렉션이 필요할까 (4) | 2023.12.07 |
---|---|
IDEA에서 Kotlin을 사용 중 감동한 건에 대해서... (null 검증) (0) | 2023.05.21 |
Java ZoneDateTime 에 대해서 (0) | 2023.05.08 |
Thread에 대한 것들 (0) | 2021.07.14 |
Annotaion 처리부 구현 (값 주입, Trim) (0) | 2021.04.27 |
hi hello... World >< 가장 아름다운 하나의 해답이 존재한다
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!