funprog / funbot

MIT License
5 stars 2 forks source link

DiceBot 클래스에서 Null Guard Clause 제거 #30

Closed jwChung closed 8 years ago

jwChung commented 8 years ago

이 PR은 #5 구현과 관련되어 있습니다.

@myeesan PR #22 가 merge 되면서 못다한 논의를 여기서 했으면 합니다. 얘기나온 주제를 정리하자면 아래 두 가지인걸로 알고 있습니다.

- [ ] 테스트를 위한 의존성 주입 (따로 처리하겠습니다.)

먼저 null 방어구문에 대해 먼저 얘기나눠볼까 합니다.

null 은 좀 더 이야기 해 봐야 할 것 같습니다. 자바에서 호출 되는 것을 고려한다면 null 체크가 필요하겠지만 스칼라에서는 null을 사용하지 않는 것을 기본 관례입니다. 예를 들면, scala lint check 를 수행할 때 옵션에서 null을 disable 하는 것이 기본 설정입니다. 따라서, null체크는 배제하는 것이 코드를 간결하게 하며, null 오류는 관례에 의해 방지되도록 하는 것이 좋을 것 같습니다.

null을 사용하지 말자라고 약속을 관례적으로 할지라도 String, Random 과 같은 참조타입의 파라메타에 대해서는 null을 넘겨줄 수 있다는 생각합니다. 그래서 방어 구문이 필요하지 않을까라는게 제 생각이었습니다. "null 오류는 관례에 의해 방지되도록 하는 것이 좋다" 라고 말씀하신게 제 생각과 연관된 얘기 같은데, 제가 몰라서 이해를 못하고 있습니다.

jwChung commented 8 years ago

@myeesan 아래 두 가지 이슈 및 필요하다면 다른 사항 포함해서, 온라인 미팅한번할까요? 글로 얘기하기 빡세네요. 물론 @funprog/core 멤버들 중 참석 원하시는 분들과 같이해서요.

myeesan commented 8 years ago

@jwChung 넵. 좋습니다. 주말에 시간 정해주세요 :)

jwChung commented 8 years ago

토요일 오후 2시? 한 시간 정도 얘기하면 적당할 것 같은데요. @funprog/core 같이 하실 분 계신가요?

myeesan commented 8 years ago

@jwChung 토요일 두 시에 채널에서 대기하고 있겠습니다 :)

jwChung commented 8 years ago

@myeesan 네 내일 뵙겠습니다:)

jwChung commented 8 years ago

@myeesan 님과 온라인에서 null 방어구문 주제로 얘기를 잠깐 나눴습니다. 내용을 간략히 요약하면 아래와 같습니다.

jwChung commented 8 years ago

@funprog/core 이 PR 마스터 브랜치로 병합하기 위해, 한 분 더 리뷰해주셨으면 좋겠습니다. :)

hkjlee109 commented 8 years ago

gtg

jwChung commented 8 years ago

다른 분이 병합해주길 기다렸는데 그냥 제가 할께요 ㅎ