Магические Числа в программировании
Магическими числами называются числа, которые встречаются в коде без всякого объяснения.
Почему "магические"? Может потому, что выглядит как магия код вроде i = 325 / a;
Даже если во время написания кода вы помните о том, что это, то уже спустя неделю/месяц/год точно забудете и вы, или ваши коллеги, будете задавать себе вопросы: а почему именно это число? Почему не больше и не меньше.
Главный принцип: стоит избегать "магических чисел" в коде.
Пример:
У вас есть код, что-то вроде плоского морского боя
char[] cellsVisible = new char[10]; // создаем видимое игроку игровое поле int shipPos = (int) (Math.random() * 7); // создаем 3-палубник чтобы он не вышел за пределы массива
Вроде бы все хорошо. Даже что такое 10 можно быстро догадаться. Но откуда взялось число 7?
Лучше описать явно:
int fieldLength = 10; char[] cellsVisible = new char[fieldLength]; // создаем видимое игроку игровое поле int shipLength = 3; int shipPos = (int) (Math.random() * (fieldLength - shipLength)); // создаем 3-палубник чтобы он не вышел за пределы массива