2009-03-22 5 views
6

내 작업 그룹에서 JavaScript 코딩에 대한 토론이 있습니다. 어떤 사람들은 가독성을 높이기 위해 긴 이름을 사용해야한다고 주장합니다. 다른 이들은 짧은 이름이 동일한 비트 - 온 - 와이어에 선호되어야한다고 생각합니다.JavaScript 코딩에서 긴 이름이나 짧은 이름을 사용해야합니까?

일반적으로 코딩 규칙입니다. 한 편에서는 "fAutoAdjustWidth"와 같은 식별자는 OK이고 다른 사람들은 "fAtAjtW"를 선호한다고 생각합니다.

그래서 더 좋은 방법이 있습니까? 우리는 퍼포먼스를 위해 가독성을 희생해야 하는가 그렇지 않은가?

+2

나는 당신이 정직하게 fAtAjtW가 더 낫다고 생각하는 사람이라면 누구든지 붙잡고 개발자 배지를 돌려야한다고 생각합니다. –

답변

8

전선의 비트가 걱정되면 코드에서 항상 minifier를 실행할 수 있습니다. 그런 다음 긴 이름으로 개발할 수 있으며 더 작은 파일 인 에 동등한 기능을 제공 할 수 있습니다. Yahoo YUI Compressor은 공백 압축과 토큰 압축과 같이 보입니다.

21

결과 JS 파일이 크다고 생각되면 긴 버전의 개발 버전을 유지하면서 프로덕션 버전을 배포하기 전에 여러 JS 압축기 중 하나를 사용하십시오.

BTW. 대역폭에 대해 정말로 걱정한다면 mod_deflate을 사용하십시오.

+0

... 또는 gzip으로 지정하십시오. 호기심 : 이것이 왜 대답이 아닌가? – tim

0

코드의 가독성에 영향을주지 않는 곳에서는 작은 이름을 사용하십시오. 더 큰 이름은 괜찮지 만, 정말로 자신과 다른 사람들이 쉽게 따라 할 수있는 곳에서 사용하십시오. 마지막으로 (그리고 다른 답변에 명시된대로) minify 코드를 사용하거나, 아파치의 mod_gzip 또는 mod_deflate와 같은 서버 압축 메커니즘을 켜서 와이어를 통해 흐르는 비트 수를 줄이십시오.

그렇다면 변수 이름의 압축성보다는 가독성을 우선시 할 것입니다.

1

짧은 식별자를 사용하지 말 것을 강력히 권합니다. 예제를 읽는 것은 fAtAjtW와 같은 이름이 사용될 때 갑자기 문서가 얼마나 더 많이 필요하게되는지를 보여줍니다. 어느 시점에서 그것은 유지 보수가 거의 안되고, 전송할 바이트를 절약 할 수 있습니다.

"짧은"이름을 고려하는 유일한 이유는 결과 스크립트를 더 작게 만들고 대역폭을 절약하는 것이기 때문에 gzip 압축을 사용하는 것이 좋습니다. 그러면 gzip 압축을 사용하여 식별자의 몇 바이트 이상을 절약 할 수 있습니다.

2

변수 및 기능을 설명하기에 충분한 긴 이름을 사용하십시오.

짧은 이름이 필요한 이유 중 하나는 파일 크기를 작게 만드는 것이지만 온라인으로 업로드하는 동안 도구를 사용하여 만들 수 있습니다.

3

동일한 사람들이 코드에 주석을 쓰지 않는 것을지지합니까? 변수 이름을 명확하고 이해하기 쉬워야합니다.

+0

이것은 가장 좋은 답변입니다. – Nipuna

2

아마도 코드의 읽기 및 재/오버보기의 오버 헤드가 아니라 걱정할 필요가 없습니다.

필자는 기능 내에서 짧은 이름을 선호하고 필요한만큼 기능 이름을 만드는 경향이 있지만 유용한 의미를 잃지 않고 가능한 한 짧게하는 경향이 있습니다.

의심의 여지가 없습니다. 코드가 자연어와 닮았는지 아니면보다 내재적이고 조밀한지 여부에 따라 다릅니다.

일부 접두사 변수 이름을 사용하여 컨텍스트 정보를 주입합니다.필요한 경우 IDE는 컨텍스트 심볼을 통해 코드에 시각적 오버레이와 같은 주입 기능을 제공해야합니다.

Visual Studio의 차기 버전은 편집기 자체로 확장 된 세분화 된 확장 성 메커니즘을 통해 이러한 주석 체조를 훨씬 쉽게 만듭니다. Javascript 편집을 위해 Visual Studio를 사용하지 않았습니다.

이제 공간의 트레이드 오프에 관심이 생겼습니다. 이것은 절대 절대로 문제가되어서는 안됩니다. 항상 항상 와이어의 비트보다 가독성을 우선합니다. 다른 주석가들이 지적한 것처럼 압축이 존재하기 때문입니다.

내가 추가 할 수있는 유일한 것은 위의 것입니다. 때로는 긴 이름을 지나치게 압축 된 이름으로 쉽게 이해할 수 있습니다. 그러나 짧은 이름을 올바르게 얻는 것이 더 어렵습니다. 긴 이름은 제 경험에서 훨씬 쉽고 빠릅니다.

짧은 이름의 이유는 결코 데이터 압축만으로인지 효율성이 없어야합니다. 어떤 작품은 개인입니다.

3

다른 사람들이 선호하는 동안 "fAtAjtW"에

"비트 - 온 - 와이어는"문제는 (그렇지 않은한다),이 같은 명명 규칙이 후 코드가 완전히 이상 유지할 것이었다하더라도 프로젝트 작업의 첫 주.

코드를 읽는 것이 거의 불가능해질 것이고, 코드를 작성할 때 "사람들은"fAutoAdjustWidth '가'fAtAjtW '로 단축되었거나'fAutAtW '였던 것과 같은 것에 대해 끊임없이 생각해야합니다. " 훨씬 낮은 생산성을 가져올 코드를 작성하는 동안 지불해야하는 엄청난 정신적 세금입니다.

그 외에 자바 스크립트에서는 모든 잘못 입력 된 이름에 대해 새로운 변수가 생겨서 문제가 더욱 심해집니다!

1

"fAutoAdjustWidth"와 같은 식별자는 "괜찮습니다"라고 생각하는 반면에 "fAtAjtW"는 선호합니다.

'fAtAjtW'는 읽을 수없고 유형이없는 공포입니다. 진심으로, 누구도 그걸 좋아하니? 재밌고 기억하기 불가능한 - 'AtAjt'또는 'AutAdj'...입니까?

'autoAdjustWidth'는 적절한 전체 속성 이름입니다. (나는 'f'접두사 표기법에 대해 전혀 확신하지 못한다. 그러나 또 다른 문제이다.) 때로는 단명 변수 (예 : 작은 루프의 임시)에 대한 매우 짧은 이름을 원한다. 위의 악몽보다는 개인적으로 'var aaw'로 곧장 나아갈 것입니다.

성능면에서 차이는 없습니다. 자바 스크립트는 변수 이름을 얼마나 오랫동안 만들지는 신경 쓰지 않으며, 브라우저로가는 도중에 스크립트를 사용하지 않는다고 가정하면 짧은 이름의 전송 이점이 압축에 의해 제거됩니다.

2

큰 변수 이름은 프로그래머에게 도움이되므로 사용하십시오.

비트를 줄이려면 프로덕션 서버에 배포하기 전에 자바 스크립트를 축소하십시오. Dean Edwards' packer에는 변수 이름을 압축 할 수있는 옵션이 있습니다.이 옵션은 두 가지 모두에서 가장 좋은 것처럼 보입니다.

1

"fAtAjtW"가 바람직하다고 생각하는 사람은 프로그래밍에 일종의 약리학 적 방법을 사용합니다. fAutoAdjustWidth는 매우 정교하고 매우 신중합니다. 자바 스크립트 라이브러리는 이유 때문에 fAtAjtW와 같은 이름을 사용하지 않습니다.크기가 걱정된다면 아마 걱정거리가 잘못되었을 것입니다. 그러나, 나는 어떤 종류의 minifier를 사용할 것을 권한다. 그러나, 그건 말도 안되게 길게 사용하지 말라. 아마 25-30자를 넘는 무엇이든 조금 멀어 질 것입니다.

0

길고 설명이 포함 된 이름입니다.

가능한 한 고유 한 방법을 시도해보십시오. 이것은 탐색 가능성을 높이는 데 도움이됩니다. 특정 메소드의 모든 사용법을 찾으려면 동일한 이름을 가진 다른 메소드와 충돌 할 확률이 적습니다.

최신 Javascript IDE는 메소드 리팩토링을 수행 할 수도 있습니다 (http://blue-walrus.com/2013/08/review-javascript-ides/ 참조). 메서드가 동일하게 호출되면 매우 어렵습니다.

관련 문제