2013-07-13 3 views
2

배터리에 대한 정보를 얻는 다른 클래스 파일에 함수가 있습니다. 양식에 다음 코드가 있습니다.if 문에서 함수를 사용하는 것은 나쁜 습관입니까?

If BatteryClass.getStatus_Battery_Charging = True Then 

Visual Studio에서 나타납니다. 그러나 다음 코드를 사용하면 더 효과적일까요?

이 두 가지 방법에는 차이점이 있습니까?

답변

4

일반적으로 어떤 접근 방식이 관용적인지 묻는 중입니다.

변경 사항에 대한 휘발성 값을 구체적으로 확인하지 않는 한 기술 규칙이 여러 번 호출되지 않습니다. 결과가 로컬 범위 변수에 보존 될 수있는 경우입니다. 그것은 당신이 묻는 것이 아니라 여러 호출이 일반적으로 변수에 바인딩되어야한다는 것을 이해하는 것이 중요합니다.

이렇게하면 코드의 가독성이 향상되는 한 유지 관리 관점에서 코드 줄을 생성하는 것이 좋습니다. 메서드의 반환 값을 저장하기 위해 로컬 범위 변수를 선언해야하는 경우 변수에 의미있는 이름을 지정해야합니다. 이 이상

If BatteryClass.getStatus_Battery_Charging Then 

:

이 [관용적 VB.NET] 하나 라이너 안함

Dim isBatteryCharging As Boolean = BatteryClass.getStatus_Battery_Charging 
If isBatteryCharging Then 

당신이 호출 할 수있는 메소드를 사용하여, 자신을 염려해야하는 또 다른 지점을, 부작용을 만들 이는 프로그램의 상태에 영향을 미칩니다. 대부분의 상황에서 부작용이 발생하는 것은 바람직하지 않습니다. 가능한 경우 부작용을 일으키지 않도록 메소드에 다시 영향을주는 메소드를 다시 작성하십시오. 부작용이 발생하는 횟수를 제한하려면 메서드의 여러 호출을 수행하는 대신 동일한 지역 변수 범위 지정 규칙을 사용하십시오.

4

실제적인 차이는 없습니다.

물론 두 번째 값은 물론 다시 값을 필요로 할 때 좋습니다. 또한 변수에 값을 저장하면 디버그하는 것이 더 쉽습니다.

개인적으로 나는 마음에 낡은 학교 C 프로그래머이기 때문에 개인적으로는 처음 사용하는 경향이 있습니다!

관련 문제