그래서 교수님은 제가 진행하고있는 프로젝트에 대한 피드백을 제공하고있었습니다. 그는이 코드에 몇 가지 마크를 도킹했습니다.
if (comboVendor.SelectedIndex == 0) {
createVendor cv = new createVendor();
cv.ShowDialog();
loadVendors();
}
콤보 박스 "인덱스 변경"핸들러에 있습니다. 사용자가 새 공급 업체를 만들려고 할 때 사용되는 최상위 옵션 (인덱스 0, 변경되지 않음)은 "새 공급 업체 생성"대화 상자를 엽니 다. 따라서 내 콤보 상자의 내용은 다음과 같습니다.
Create New Vendor...
Existing Vendor
Existing Vendor 2
Existing Vendor 3
그의 문제는 첫 번째 라인 코드입니다.
if (comboVendor.SelectedIndex == 0)
그는 0이 일정해야한다고 주장하고 실제로 그로 인해 마크를 도킹했습니다. 그는 코드에서 리터럴을 전혀 사용해서는 안된다고 주장합니다.
문제는 그 상황에서 해당 코드를 상수로 만들고 싶은 이유를 이해하지 못한다는 것입니다. 그 지수는 절대 바뀌지 않으며 조정해야 할 것이 아닙니다. 매우 구체적인 상황에 사용되며 절대 변경되지 않는 메모리에 단일 0을 유지하는 것은 메모리 낭비처럼 보입니다.
-1
에 str.indexOf(substr) != -1
대한 것과 같은 것들이 일반적으로 정당화 되는 것은 사실입니다 . 그러나 여기서 0의 의미는 명백하지 않으며 (새로운 공급 업체를 만드는 것과 어떤 관계가 있지 않습니까?) 정확하지도 않습니다 (새로운 공급 업체를 만드는 방법이 바뀌면 어떻게 되나요?). str
substr
int.Zero
대신 그를 행복하게 만들 수 있습니다 :)