2012-04-06 19 views
2

방금 ​​extend.js에 대해 잘 알고 있고 기본 JavaScript를 사용하는 것보다 라이브러리 사용에 대한 부가 가치가 있는지 궁금합니다. 내가 설명해 드리겠습니다.extend.js를 사용하면 어떤 이점이 있습니까?

extend.js으로, 정말 같은 네임 스페이스를 선언합니다 :

extend('some.madeup.namespace',{ 
    foo : 'bar' 
}); 

중 & hellip을; 그것이없는 반면, 나는 단지 그렇게해야 할 것 :

var some = { madeup : { namespace : { foo : 'bar' } } }; 

은 내가 KISS 원칙의 확고한 신자, 그리고 정말 외부 의존성은 상황이 조금 더 간단하게 감소한다고 생각합니다. 그래서이 라이브러리가 모두 (일회성) 할당 선언을 저장한다면 문제가 될만한 가치가 있는지 생각해 봅니다.

여기에 누락 된 것이 있습니까?이 모든 것이 있습니까?

+0

저는 키스도 마찬가지입니다. 그래서 jQuery를 사용하지 않는 것입니다. 또는 다른 프레임 워크. 직접 모든 코드를 작성하면 실제로 디버깅을 시작할 수있는 단서가 있습니다. –

+0

var some = {madeup : {네임 스페이스 : {foo : 'bar'}}}; // 더 컴팩트 –

+0

@ 스티브. - 질문이 더 관련이 있기 때문에 당신은 나를 화나게하고 있습니다. 문제를 강조하기 위해 제 질문을 적절히 편집 할 것입니다. 감사. –

답변

1

나는이 질문에 대한 합리적인 대답이 제 3 자 도구에 대한 일반적인 대답에 많이 의존하고 있다고 생각합니다.

사람들은 제 3 자 도구를 사용하여 작업을보다 빠르고 우아하게 완료 할 수있게 도와줍니다. 적어도 그것이 이론입니다. 그러나 의존성을 줄이고 처음부터 구현하는 것이 더 우아하다고 생각하는 사람들이 있습니다. 우리에게는 우리의 프로젝트에 설탕을 넣는 데 거의 가치가 없습니다. 왜냐하면 이것이 우리의 원칙을 평가 절하하기 때문입니다.

다른 사람에게는 쓰기가 필요한 코드의 양이 줄어들고 약간 더 구조화 된 느낌이 들기 때문에 값이 있습니다. 그것들은 같은 추상화를 만들었을 것이므로 잘 짜여지고 테스트 된 라이브러리를 사용하는 것이 이치에 맞습니다.

개인의 취향과 사용 방식에 따라 가중치가 큽니다. 분명히이 라이브러리의 사용법을 특별히 언급하지는 않았지만 단지 51 줄의 코드에 지나지 않습니다. 그것이 제공하는 기능을 읽고 자신의 결론에 도달하는 데 오래 걸리지는 않습니다.

이 라이브러리가 네임 스페이스 계층 구조를 만들고 충돌하는 네임 스페이스를 확인했다고 만 알면 알 수 있습니다. 대부분의 코드는 계층 구조를 만들고 네임 스페이스 뚜렷 함을 확인하는 데 중점을 둔 것으로 보입니다. 이것은 나에게 그것이 충돌이 발생할 수있는 상황에서 범용 도구로 설계되었다는 것을 제안 할 것입니다 - 당신이 대량 소비를 위해 당신 자신의 도서관을 출판하고 있다고 말한다.

내 의견을 원한다면, 그것을 선택에 사용하지 않는 사람이 될 것입니다. 이름 공간은 실제로 불필요합니다. 충돌하는 네임 스페이스에 대해 실제로 염려하는 경우에는 여러 네임 스페이스 충돌을 방지하기위한 모든 노력이 필요합니다. 그러나 좋은 디자인은 결코 될 수 없습니다.

+0

이것은 나에게 모두 분명하고 분명히 '결론에 도달하는 데 오랜 시간이 걸리지는 않지만'나는 프로젝트에서이 도서관을 사용했던 누군가의 실질적인 반응을 기대하고 있었다.) 장단점을 철저히 주장했다. 어쨌든 귀하의 회신에 감사드립니다. –

+1

최종 코멘트에서 의미있는 것을 찾을 수 있기를 바랍니다. 강조하려고 했으므로 매우 주관적인 문제입니다.이 라이브러리로 해결하고자하는 유스 케이스의 세 피시 릭을 상세하게 설명한다면 누군가는 더 나은 조언을 제공 할 수있을 것입니다. 나는 그것을 사용하는 사람이 그걸로 문제를 경험했을 것이라는 것은 분명 의심 스럽다. 당신은 당신이 그 요점을 보지 못했다는 것을 강조했다. 당신이 필요로하는 것은 여러 네임 스페이스 충돌로 고통받는 사람을 찾는 것입니다. 나는 좋은 디자인을 선택하기 때문에, 그리고 이것은 단순히 내 생각에 나쁜 디자인을 수정하지 않습니다. –

+0

흥미로운 편집, 어떻게 '좋은 디자인'을 정의하겠습니까? 왜 네임 스페이스가 불필요한가요? –

관련 문제