2010-01-16 4 views
0

단위 및 값이있는 메서드 매개 변수 이름에 대한 다음 두 가지 옵션 중에서 선호하는 것과 그 이유는 무엇입니까? (I 자바 구문을 사용했지만, 내 질문에 대부분의 언어에 적용됩니다.)메소드 매개 변수 이름이 이름에 단위를 지정해야합니까?

public void move(int length) 

또는 (1) 충분한 것으로 보인다

public void move(int lengthInMetres) 

옵션,하지만 난 '때 찾을 m 코딩/타이핑을 할 때, 나의 IDE는 길이 값이 필요하다는 것을 나에게 알릴 수 있지만, 일반적으로 스트라이드를 깨고 단위를 결정하기 위해 메소드의 doco를 찾아야하므로 정확한 값을 전달할 수있다. 예를 들어). 이는 사고 과정을 방해하는 성가심 일 수 있습니다. 옵션 (2)는이 문제를 완화하지만, 특히 장치가 metresPerSecondSquared이거나 그와 같은 것이면 장황해질 수 있습니다. 당신은 어느 것이 최고라고 생각합니까?

답변

0

매개 변수 (및 메소드) 이름이 어리석은 경우에도 가능한 한 명확하게 작성하는 것이 좋습니다. 6 개월 내에 코드를 보거나 사용할 때 또는 다른 사람이 코드를보아야하는 경우 기쁜 마음입니다.
이름이 너무 길어지고 있다고 생각되면 다시 말하십시오. 귀하의 예제에서 당신은 충분히 명확한 매개 변수 이름 int Metres을 사용할 수 있습니다. 메소드 이름을 변경하십시오 (예 : public void moveMetres(int length)).

Visual Studio에서 메서드 정의 위에 3 개의 주석 기호를 입력 할 때 생성되는 XML 주석은 다른 위치에서 메서드를 사용할 때 Intellisense 힌트에 나타납니다. 다른 IDE는 비슷한 기능을 할 수 있습니다.

약자는 절대로 사용하지 않아야합니다. 절대적으로 필요한 경우 일반적으로 알려진 산업 표준 약어 및/또는 관련 산업 표준 약어 만 사용하고 일관성을 유지하십시오. 즉, 과 동일한 약어을 사용하십시오.

한 걸음 뒤로 물러나십시오. 코드를 작성한 다음 다른 곳으로 이동하십시오. 다음날 다시 오셔서 이름이 아직 명확한 지 확인하십시오.

피어 리뷰도 도움이 될 수 있습니다. 네이밍 스키마가 명확하거나 대안을 브레인 스토밍하는 데 도움이되는 경우 프로그래밍 언어를 아는 사람에게 (또는 논리적으로 생각하면) 특정 기능이 아닌 사람에게 물어보십시오. 그들은 미래에 코드를 유지해야하는 가난한 수액 일 수도 있습니다!

0

두 번째 접근법 (즉, lengthInMeters)은 메소드에 필요한 입력을 정확하게 설명하므로 선호합니다. 코드를 작성하고있을 때 단위를 알아내는 것이 혼란 스럽다는 사실은 나중에 (또는 일부) 동일한 코드를 나중에 보게되면 훨씬 더 혼란 스러울 수 있음을 암시합니다. 변수 이름의 문제와 관련하여 더 길면이를 축약 할 수있는 방법을 찾을 수 있습니다 (예 : "mtrsPerSecondSquared").

또한 방어적인 두 번째 방법 인 책 Code Complete에는 변수의 평균 이름이 10에서 16자인 경우 프로그램을 디버그하는 데 필요한 노력이 최소화되었음을 나타내는 연구가 언급되어 있습니다.

관련 문제