2013-07-30 4 views
1

나는 몇 년 동안 의미있는 변수 이름을 사용하라는 말을 들었다. 그러나 일부 JavaScript 코드를 디버그하고 제 3 자 프레임 워크를 파고 들려고 할 때마다 모든 JavaScript 프레임 워크는 a, ac, b, c과 같은 변수 이름을 가질 것입니다.왜 대부분의 JavaScript 프레임 워크는 그러한 짧은 변수 이름을 사용합니까?

왜 그러한 짧은 변수 이름이 일반적인 관행입니까? 그것은 유지 가능성을 해칠 것 같습니다.

+1

이 도구를 통해 JavaScript를 실행하고 어떤 일이 발생하는지 확인하십시오 : http://jscompress.com/ – Marty

+2

왜 많이 다운 되었습니까? 축소는 JavaScript 개발자에게는 상식 중 하나이지만 다른 개발자에게는 해당되지 않습니다. – Mics

답변

5

소위 말하는 minification. 그것은 모든 언어로 이루어졌지만 대부분 자바 스크립트로 소스 코드에서 불필요한 문자를 제거합니다. 그것의 대부분은 자바 스크립트 때문에 큰 자바 스크립트 파일을 훨씬 더 작게 만들어서 브라우저에서 더 빨리로드 할 수 있습니다.

대부분의 JavaScript 라이브러리에는 디버깅을 수행 할 수 있도록 축소되지 않은 개발자 용 버전이 있으며, 프로덕션 환경에서는 전송 된 오버 헤드를 줄이기 위해 축소 된 버전이 사용됩니다.

코드를 작성할 때 항상 유용한 변수를 사용해야하지만 개발자 만 읽을 수 있도록되어 있으므로 브라우저는 상관하지 않습니다.

1

당신은 대부분 축소 된 자바 스크립트를보고 있습니다. 이는 minification tool을 통해 원래의 (그리고 더 읽기 쉬운) 소스 코드를 전달한 결과입니다.

1

당신이보고있는 것은 실제 자바 스크립트의 축소 버전 일 수 있습니다. 성능상의 이유로 파일 크기가 축소되도록 수행됩니다.

좋은 예를 들어 당신은 코드를 최소화 된에 당신은 아마 찾고있는 무엇 development versionminified version

1

볼 수 있습니다, jQuery 라이브러리입니다. Minimizers는 최소한의 공간을 차지하도록 Javascript를 다시 작성하므로 가능한 한 빨리 다운로드합니다. 불필요한 공백이 제거되고 변수와 함수가 짧은 이름으로 대체되며 다른 트릭이 사용됩니다.

1

디버깅중인 자바 스크립트가 축소되었을 수 있습니다. 축소 된 자바 스크립트를 저자가 작성한 의미있는 이름의 원본 코드로 변환 할 수있는 방법은 없습니다. 키워드를 읽을 수없는 경우에도 다른 사람의 코드를 이해하기 위해 본능과 분석 기술을 사용하기 만하면됩니다.

0

다른 사람들이 말했듯이, 그것은 축소판입니다. 이 스레드에 대한 나의 기여는 예제를 보여 주기만하면됩니다.

이 예 걸릴 :

(function() { 
    "use strict"; 
    var foo = function() { 
     return; 
    }; 
    var bar = foo; 
    var baz = bar; 
})(); 

을 그리고 jscompress.com를 통해 실행합니다. 결과는

(function(){"use strict";var e=function(){return};var t=e;var n=t})()