|
Понятие «Магическое число» в программировании имеет два значения: Сигнатура данныхМагическое число, или сигнатура файла — целочисленная константа, используемая для однозначной идентификации ресурса или данных. Такое число само по себе не несёт никакого смысла, и может вызвать недоумение, встретившись в коде программы без соответсвующего контекста или комментария. По этой причине подобные числа были иронично названы магическими. В настоящее время это название прочно закрепилось как термин. Например, любой откомпилированный класс языка Java начинается с «магического числа» Плохая практика программированияТакже «магическими числами» называют плохую практику программирования, когда в исходном тексте встречается числовое значения и неочевидно, что оно означает. Например, такой фрагмент будет плохим: drawSprite(53, 320, 240); Человеку, который не является автором программы, трудно сказать, что такое 53, 320 или 240. Но если этот код переписать, всё становится на свои места. final int SCR_WIDTH = 640; final int SCR_HEIGHT = 480; final int SCR_X_CENTER = SCR_WIDTH/2; final int SCR_Y_CENTER = SCR_HEIGHT/2; final int SPRITE_CROSSHAIR = 53; drawSprite(SPRITE_CROSSHAIR, SCR_X_CENTER, SCR_Y_CENTER); Теперь понятно: данная строка выводит в центр экрана спрайт — перекрестие прицела. В большинстве языков программирования все значения, используемые для таких констант, будут вычислены ещё на этапе компиляции и подставлены в места использования значений. Поэтому такое изменение исходного текста не ухудшает быстродействие программы. Числа, которые не являются магическимиНе все числа требуется переносить в константы. Например, код на Delphi: for i:=0 to Count-1 do ... Смысл чисел 0 и 1 понятен, и дальнейшего объяснения не требуется. Также можно не делать константами 0 в качестве false и 1 в качестве true. |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net