2010-04-06 5 views
3

나는 특별히 JavaScript 익명 함수를 언급하고 있지만 이것은 다른 언어와 관련 될 수 있습니다. 저는 다른 사람들이 조만간 해킹 할 것이라는 것을 알고 있기 때문에 스크립트에 JSDoc 표기법을 사용하고 싶습니다. 내가 꽤 복잡한 익명 함수를 가질 때 사람들이 JSDoc 또는 JavaDoc 표기법을 이해하는 Eclipse 및 다른 IDE에 의해 선택되도록 어떻게 문서화합니까?익명 함수를 어떻게 문서화합니까?

/** 
* Blah Blah blah 
* 
* @param Object Blah blah blah 
* @return Blah Blah Blah 
* @type Object 
*/ 
function foo(this) { 
...... 
this.bar = function() { ... complex code .....}; 
...... 
return obj; 
} 

감사합니다 그렇지 않은 익명 만듦으로써

답변

10

익명 함수가 짧아야을 제공하고 간단한 작업을 수행 할 수 있습니다. 그래서 ... 그것을 포함하는 외부 함수는 충분한 문서를 제공해야합니다.

그렇지 않은 경우 이름이 지정된 함수에 익명의 함수를 추출한 다음 올바르게 문서화해야합니다.

0

.

나는 뭔가를 문서화하는 최선의 방법을 찾지 않습니다. 내 말은 내가 좋은 변수/함수 이름과 코드를 내 문서로 사용한다는 것입니다.

그래서이 경우에는 그냥 익명을 생성하는 정적 함수를 만드는 것 때문에 나는 그 정적 기능에게 좋은 name.it 이상적으로

+0

당신은 요다가 바보라고 말하고 있습니까? 어떻게 감히! :-) – Clutch

+0

자체 문서화 코드는 항상 좋은 접근 방법이므로 따라야하며 완전한 문서로 해석되어서는 안됩니다. 추가 문서가 보증되고 바람직한 경우가 많습니다. 저자가 "생각하는"코드를 실행하는 것보다 더 나쁜 것은 그 자체로 완벽하게 자체 설명 할 수는 없지만 저자 만 생각할 수 있습니다. – Bill

+0

@Bill하지만 코드 작성자가 자신의 의견이 무엇이라고 생각합니까? 쓸데없고 중복 된 작업 – Pyrolistical

1

이것은 실제로 익명의 기능이 아닙니다. 그것에는 이름이 있습니다. 이름은 "bar"또는 더 구체적으로 "foo.bar"입니다. 이것은 실제로 생각의 방식에 따라 함수 리터럴입니다.

var intervalId = setTimeout(function() { // statements }, 1000); 

자바 스크립트에서 데이비드 플래너에 따라, 이제 : 생각의 길에, 진정으로 익명 함수는 정말 다른 함수에 인수처럼 이름이없는 기능입니다 확실한 가이드, 익명 함수는 "Function() 생성자로 생성 된 것"입니다. 그는 자신의 베팅을 그곳에서 헤지하기는하지만, 그러한 기능이 익명으로 불리는 "때로는"단지라고 덧붙이 기 때문에 더 많은 것을 베팅하고 있습니다.

왜이 문제를 제기합니까? 당신이 무언가를위한 이름을 지니고 있다고 생각하기 때문에 익명으로 부를 수는 없습니다. 그리고 나는 자바 스크립트 기능과 관련하여 "익명"이라는 용어가 기껏해야 모호하고 어딘가에서 누군가 분명히 밝혀 져야한다고 생각한다.

관련 문제