불량 코드 보 여주 기. - 많은 판단 의 표기 법. - 초보 자 에 게.
오늘 Review 코드 에서 아주 예 쁜 코드 를 보 았 습 니 다.여기 코드 를 고 쳐 서 초보 자 들 에 게 붙 여 교훈 으로 삼 아 보 자.예쁘다
package com.hoperun;
import android.view.View;
import android.view.View.OnClickListener;
/**
*
*/
public class NumListener implements OnClickListener {
public void onClick(View v) {
if (v.equals(btnNum0)) {
// 0
} else {
if (v.equals(btnNum1)) {
// 1
} else {
if (v.equals(btnNum2)) {
// 2
} else {
if (v.equals(btnNum3)) {
// 3
} else {
if (v.equals(btnNum4)) {
// 4
} else {
if (v.equals(btnNum5)) {
// 5
} else {
if (v.equals(btnNum6)) {
// 6
} else {
if (v.equals(btnNum7)) {
// 7
} else {
if (v.equals(btnNum8)) {
// 8
} else {
if (v.equals(btnNum9)) {
// 9
} else {
if (v.equals(btnNumAdd)) {
//
} else {
if (v.equals(btnNumSubtraction)) {
//
} else {
if (v.equals(btnNumEquals)) {
//
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
사실 이렇게 쓰 는 것 은 전혀 필요 없다.이렇게 많은 else 는 사실 else if 안에 접 을 수 있 습 니 다. 다음 과 같 습 니 다.
package com.hoperun;
import android.view.View;
import android.view.View.OnClickListener;
/**
*
*/
public class NumListener implements OnClickListener {
public void onClick(View v) {
if (v.equals(btnNum0)) {
// 0
} else { if (v.equals(btnNum1)) {
// 1
} else if (v.equals(btnNum2)) {
// 2
} else if (v.equals(btnNum3)) {
// 3
} else if (v.equals(btnNum4)) {
// 4
} else if (v.equals(btnNum5)) {
// 5
} else if (v.equals(btnNum6)) {
// 6
} else if (v.equals(btnNum7)) {
// 7
} else if (v.equals(btnNum8)) {
// 8
} else if (v.equals(btnNum9)) {
// 9
} else if (v.equals(btnNumAdd)) {
//
} else if (v.equals(btnNumSubtraction)) {
//
} else if (v.equals(btnNumEquals)) {
//
}
}
}
사실 이 효율 은 높 지 않다.사실 들 어 오 는 매개 변수 View 는 눌 린 버튼 입 니 다. equals 로 판단 하지 않 고 '= =' 으로 판단 하면 됩 니 다.
물론 가장 좋 은 것 은 '= =' 이 아니 라 switch - case.
package com.hoperun;
import android.view.View;
import android.view.View.OnClickListener;
/**
*
*/
public class NumListener implements OnClickListener {
public void onClick(View v) {
switch (v.getId()) {
case R.id.key_0:
// 0
break;
case R.id.key_1:
// 1
break;
case R.id.key_2:
// 2
break;
case R.id.key_3:
// 3
break;
case R.id.key_4:
// 4
break;
case R.id.key_5:
// 0
break;
case R.id.key_6:
// 6
break;
case R.id.key_7:
// 7
break;
case R.id.key_8:
// 8
break;
}
}
}
신인 에 게 만 배우 고, 고 수 는 뿌리 지 마라.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.