2012-12-13 7 views
3

그래서 코딩을하고 있었고, 난 본질적으로 트림 (코드 행는 프로그래밍 기능/메소드 호출

반환에서는 parseInt있어 (elem.value.substring (1, ELEM을 할 수있는 적절한 방법이있다. value.length)))

나는이 코드 라인을 허용하는 것이 적절하거나 교수/고용주가 나를 슬램하게 만들 것이라고 생각했다.

나는 깔끔하고 멋지지만, 처음에는 내가하고있는 허튼 소리를 이해하기 어렵다. 이 중 하나는 그렇게 나쁜 b/c 대부분의 호출 (문자열을 줄이고 문자열의 시작 부분에서 불필요한 정보를 제거하고 문자열의 시작 부분에서 문자열을 자르는 것은 int인지 확인하는 것입니다.)

그러나이 확인은 일반적입니다. ? 또는 각 줄을 나누고 주석을 달아 미래 프로그래머가 이해하기 쉽도록해야합니까? 처럼 ...

var returnInt; 
returnInt = elem.value.substring(1, elem.value.length); //remove $ symbol 
returnInt = trim(returnInt); //trim whitespace 
returnInt = parseInt(returnInt); //convert to int 
return returnInt; 

나는 이것이 내가이에 뭔가가 있다면 사과를 검색하는 방법을하지 않도록했다.

+2

옳고 그른 것은 없습니다. 두 가지 스타일 중 어느 스타일이든 포인트가 있지만 개인적인 취향이나 코딩 팀의 선호도에 따라 다릅니다. –

+2

Marc B와 예외적 인 경우, 드문 경우 또는 복잡한 경우 더 자세한 스타일이 적절할 수 있다는주의 사항에 동의하십시오. 단순하고 일반적인 사용을 위해 단일 라인 접근법은 명확하고 간결하며 완벽합니다. –

답변

0

저는 교수 나 고용주가 그것에 대해 어떻게 생각하는지는 신경 쓰지 않습니다. 정말 길지 않은 한, 나는 그처럼 더 단순하고 이해하기 쉬운 문장을 항상 인라인으로 사용한다.

나는 그것을 분해 할 때 더 복잡해 보입니다. 그리고 나는 쓸모없는 assingments 및 동등한 표지판을 싫어. 나는 정말 복잡한 일을 할 때만 진술을 깨뜨리고 다른 사람들과 나에게 미래에 대한 코멘트가 필요하다.

예에서 모든 진술은 매우 간단하고 명확합니다. 그들 중 누구도 평균 개발자에게 의견이나 설명이 필요하지 않습니다.

1

첫 번째 형식은 NullPointerExceptions와 같은 런타임 예외를 디버그하기 어렵게한다는 점을 제외하고는 괜찮습니다 (스택 추적이 줄 번호를 반환하고 한 줄에 여러 가지가 있기 때문에). 따라서 NPE가 발생할 수 있다면 여러 줄로 작성하십시오.

그리고 모든 행의 끝 행 주석은 필요하지 않습니다. 가장 정통한 프로그래머가 아닌 누구에게도 손질과 parseToInt가하는 일은 꽤 분명합니다. 간단한 Google 검색을 사용하면 어떨까요.

1

코드를 멋지게 포맷해도 괜찮습니다. 예 : 당신의 라인처럼 보일 수 있습니다 :

return parseInt(
     trim(
      elem.value.substring(1, elem.value.length))) 

인용 :

아니면 내가 그것을 파괴하고 미래의 프로그래머를위한 이해하기 쉽게 그래서 각 행을 언급해야합니까? 처럼 ...

var returnInt; 
returnInt = elem.value.substring(1, elem.value.length); //remove $ symbol 
returnInt = trim(returnInt); //trim whitespace 
returnInt = parseInt(returnInt); //convert to int 
return returnInt; 

이 없습니다 쉽다. 과도한 가변성은 악합니다. 값이 다른 유형 인 경우에는 작동하지 않습니다. (일부 언어에서는 실제로 Int이 아니기 때문에 동적 유형의 언어를 사용하고있을 수도 있지만 var returnInt의 이름은 오도 된 것입니다. 제발, 이와 같은 코드를 작성하지 마십시오.