2013-10-21 6 views
0

우리는 기능을 가지고 말할 수 및 매개 변수에 대한 검증이 발생해야 그 기능어디 매개 변수 유효성 검사

function baz(){ 
    myVar = null; 
    foo(myVar); 
} 

function foo(bar){ 
    //do stuff 
} 

에 발신자를 실행?

function baz(){ 
    myVar = null; 
    if(myVar != null){ 
     foo(myVar); 
    } 
} 

될 수 있거나

function foo(bar){ 
    if(myVar == null) return null; 

    //do stuff 
} 

더 나은 무엇입니까 될 수 있을까? 상황에 따라 다르면 언제 사용해야합니까? 내가 뭔가를 아주 많이 의존

myFunc(); 
function myFunc(myVar){ 
    myVar['key'] = x; 
} 

답변

0

myVar['key'] = myFunc(); 
function myFunc(){ 
    return x; 
} 

을해야 할 때

아마도이의 확장도 할 것이다. 속도를 위해 구현하는 경우 사용자에게 유효성 검사의 선택을 맡길 수 있습니다. 안정성을 위해 구현하는 경우 함수의 일부로 유효성을 검사 할 수 있습니다.

배열을 생각하고 push() 함수의 유효성을 검사합니다. 이제 게임에서 60FPS로 프레임 당 몇 백 번 그 기능을 사용한다고 상상해보십시오. 초당 통화의 경우 6000을 초과하는 추가 통화입니다. 그만큼 중요한 번호입니다.

+0

유연한 기본 클래스를 만드는 상황에서 무엇을 권하고 싶습니까? 꽤 많은 것을 처리 할 수 ​​있기를 바란다. (자식 클래스에 대한 적절한 구현을 제공했다면 – JBarber

+0

아마도이 경우에는 #ifdefs를 사용하여 자동 유효성 검사를 할 것인지 결정할 수있다.) 물론 컴파일 할 때만 할 수있다. 당신이 해석 한 언어로 어떤 것을 해킹 할 수 있을지도 모르겠다. 솔직히 말해서 게임의 나의 경우와 결코 유사하지 않을 경우, 함수에서 유효성을 검사하면된다. – teh1

관련 문제