저는 소프트웨어 공학에 익숙하지 않아서 학습 연습으로 체스 게임을 썼습니다. 내 친구가 그것을 보았고 내 코드가 다음과 같이 지적되었습니다.
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)좋습니다. 또한 두 루프를 각 요소가 (순위, 파일) 튜플 인 하나로 병합하는 것을 고려할 것입니다.