사용하신 변수는 그냥 보기에도 가독성이 떨어지는데,
그 이유는 당연히 직접 접근하여 사용하지 말라는 데에 있습니다.
내부 정보 은닉화에 취약한 자바스크립트 특성 + API의 구조상
객체 내부에서 사용하는 멤버 변수에 접근이 가능하기 때문에 사용하셨을 겁니다.
하지만 이것은 잘못된 사용법입니다.
보다 빠른 서비스 제공을 위해 코드 압축을 하고 있는데 압축 할 때마다 해당 값은 무작위로 변경되게 됩니다.
때문에 저희는 사용자분들께 직접 저 변수에 접근하여 사용하라고 가이드 하지 않습니다.
문서에 적시한 API말고 직접 내부 변수를 접근하여 사용하시다가 생기는 문제에 대해서는 도움을 드릴 수가 없으니 참고 부탁드리겠습니다.
자바스크립트는 OOP 언어이고, 그래서 encapsulation 기능이 있는겁니다.
사용되어서는 안되는 변수나 값들은 내부에 은닉 되어야 하는데 버젓이 노출되어 있는 것이지요.
js가 은닉화에 취약하다니…
js를 제대로 모르면 은닉화에 취약하다는 표현으로 이해하겠습니다.
js책 한권만 사서 보시면 은닉화 기법이 얼마나 많은지 아시게 될겁니다.
이정도 규모의 API를 만들면서 기본적인 은닉화에 실패한 객체를 설계되어 있는데 사용자가 잘 못 이라는 글이 달리다니,
참담하네요.
이정도의 위험도가 있는 객체인데, 도저히 은닉화 할 자신이 없었다면 해당 객체를 직접 사용하지 말 것을 아마도 붉은 색으로 해당 API 문서에 표시 해 두었어야 할 겁니다.
이런 상황에 '가독성이 떨어지는 이유가 당연히 직접 접근하여 사용하지 말라’는 뜻이라니,
무슨 점쟁이 집단 입니까?
게다가 getCenter() 는 bound가 아님에도 아마도 '내부적인 이유’로 키값들이 변하지요.
내부적인 이유들도 분명 알면 창피한 일이 되겠지만, 충분히 오해 할 수 없는 형태로 Ga/Ha, Ia/Ja 가 키값만 변형되어 튀어나온다니.
개인 단위로 운영 되는 오픈소스 API도 이런식으로 오해 할 수 있는 형태로 만들고 사용자 책임으로 나몰라라 하진 않습니다.
위에 댓글 다신 @doji.doo 님이 카카오 직원인지 뭔진 모르겠으나,
API 설계 / 문서 작성에 구멍 낸 건 그냥 챙피한 일이겠지만,
'문서에서 제공하지 않는 방법으로 제공 한 걸 썼으니 사용자 책임’이라는 수준의 답변을 한다면,
이건 그냥 처참한 수준이네요.