funprog / funbot

MIT License
5 stars 2 forks source link

package naming (namespace) #26

Closed jwChung closed 8 years ago

jwChung commented 8 years ago

현재 master에 들어가 있는 DiceBot 클래스에는 namespace가 없습니다. 만들 필요가 있지 않나요? java, scala에서는 general에서 specific 순으로 package이름을 나열한다고 알고 있습니다. 이 개념을 바탕으로 아래와 같은 namespace 어떤가요?

lascala.progfun.DiceBot

myeesan commented 8 years ago

네임스페이스 충돌을 방지하기 위해서 일반적으로 도메인을 사용하는데, 저희는 도메인이 없습니다. 오프에서 이야기 해 보아요~ [http://docs.scala-lang.org/style/naming-conventions.html](Naming Conventions)

hkjlee109 commented 8 years ago

Yeah I agree to have one. :) I would vote for funbot since bajillion of bots are slated for this project. hey @myeesan, the link you've given us is broken. 404 page not found.

naxxster commented 8 years ago

편의를 위해 링크 http://docs.scala-lang.org/style/naming-conventions.html 다시 넣었습니다. 라스칼라에서 사용하고 있는 패키지 이름 규칙이 필요할 것 같네요. org.lascala 를 쓴다면 현재 작업 중인 패키지는 org.lascala.funprog.dicebot 정도려나?

hkjlee109 commented 8 years ago

Thanks bro 👍

jwChung commented 8 years ago

namespace를 결정하기까지 몇 가지 고려사항있겠네요.

  1. namespace에 도메인을 사용할 것인가?
  2. 만약 도메인을 사용하면 무슨 도메인을 사용할 것인가?

제가 처음에 lascala.progfun.DiceBot을 제안했던 이유는 우리가 도메인이 없으니, 도메인을 사용하지 말자라는 생각에서였습니다. (1번 고려사항) 그런데 java/scala는 namespace.class 이름이 겹치면 문제가 됩니다. @myeesan 님과 온라인 대화를 통해 알게되었습니다. (참고로 .NET 패키지 이름 별칭(aliases)을 통해 해결가능합니다. 그래서인지 .NET에서는 namespace 에 도메인을 사용하지 않습니다.)

지금은 도메인을 사용해야한다는 것으로 생각이 바뀌었습니다. 그래서 무슨 도메인을 사용해야할까가 고민해봤습니다.(2번 고려사항) lascala.org가 라스칼라코딩단이 가지고 있는 도메인이 맞습니까? 맞다면 @naxxster 님 의견처럼 이것을 사용하는 것이 가장 좋겠습니다. 만약 아니라면 그냥 가볍게 아래와 같이 github 도메인을 사용하는 것은 어떨까요?

com.github.funprog.funbot