저는 소프트웨어 공학에 익숙하지 않아서 학습 연습으로 체스 게임을 썼습니다. 내 친구가 그것을 보았고 내 코드가 다음과 같이 지적되었습니다.
for (int i = 0; i < 8; i++){
for (int j = 0; j < 8; j++){
그가 대신해야한다고 주장하면서
for (int i = 0; i < CHESS_CONST; i++){
for (int j = 0; j < CHESS_CONST; j++){
더 좋은 심볼 이름으로 지금 당장 생각할 필요가 없습니다.
물론 나는 일반적으로 마법의 숫자를 사용하지 않는 것을 알고 있지만
- 이 숫자는 절대 바뀌지 않습니다.
- 코드 전체의 많은 장소에서 숫자가 사용되기 때문에 이름은 어쨌든 설명 적이 지 못했습니다. 과
- 체스 프로그램의 소스 코드를 사용하는 사람이라면 누구나 체스에 대해 충분히 알고 있어야합니다.
실제로 기호 상수가 필요하지 않습니다.
그래서 어떻게 생각하세요? 이것은 과잉입니까, 아니면 그냥 관례를 가지고 기호를 사용해야합니까?
i
과 j
루프 변수입니다. 나는 내 삶에서 어느 쪽이 계급을 대표하고 어떤 것이 파일을 대표해야 하는지를 알아낼 수 없다. 계급은 1..8 범위 및 파일 a..h에 이르기까지 다양하지만, 귀하의 경우, 모두 i
와 j
범위 0..7에서, 그래서 나를 이는 확인할 도움이되지 않습니다. 내가 모르는 어떤 국제 편지 부족 위기가 있는가, 또는 무엇에 이름을 변경에 이상이 rank
와 file
?
foreach(var rank in Ranks)
좋습니다. 또한 두 루프를 각 요소가 (순위, 파일) 튜플 인 하나로 병합하는 것을 고려할 것입니다.