Создание чистого кода на примере Prince of Persia
Prince of Persia – это фэнтезийный платформер, созданный программистом Джорданом Мекнером. Игра вышла в свет в 1989 году на Apple II и стала настоящим прорывом в плане качества игровой анимации, в последующем, была портирована на множество других платформ. Еще 17 апреля 2012 года Мекнер открыл доступ к исходному коду «Принц Персии».
Многие геймеры помнят эту замечательную игру, а некоторые из вас, наверное, провели за ней не один месяц.
Разработчики, создававшие программы и игры в те времена, помнят, что рядовой персональный компьютер прошлого работал на процессоре тактовой частотой 8 МГц, имел 1 МБ оперативной памяти, 20 МБ на винчестере и оснащался дисководом для флоппи-дисков. Как видите, очень непросто было создать такую игру как Prince of Persia.
Более того, в те годы не существовало Google, и разработчики не могли оперативно решить технические проблемы; на устранение неполадок порой уходило много дней. В довершение всего, разработка велась на языке программирования 6502.
Разделение на файлы
Несмотря на все ограничения того времени, исходный код реализован очень качественно, он разделен на модули при помощи директорий и файлов.
Модульный принцип организации – это технический прием в разработке софта, повышающий сложность структуры программы посредством использования общих модуль-элементов, что облегчает управление и обслуживание модульного кода.
Игра Prince of Persia была разделена на модули при помощи директорий и файлов; этот модульный принцип обеспечен операционной системой и может использоваться для любого языка программирования.
Код разделен на множество файлов. Вот список некоторых из них:
Названия простые и доходчивые
Исследуя исходный код, вы не найдете переменных a, b или x, которые используются в других проектах. Названия отлично подобраны, и их необходимость не требует пояснений.
Код разделен на множество мелких подпрограмм
Язык программирования 6502 очень низкоуровневый, и для того, чтобы сделать код простым и понятным, используется принцип «разделяй и властвуй». Код разделен на множество мелких подпрограмм, с которыми легко работать, и которые просты для понимания. Вот пример небольшой подпрограммы:
Даже несмотря на то, что в 1989 году у разработчиков была масса ограничений, код все равно реализован очень качественно. Почему же в 2014 году, когда у нас есть мощные компьютеры, развитые языки программирования, сотни библиотек и Google, реализация некоторых проектов хромает на две ноги?
Языки программирования и платформы – это всего лишь инструменты для создания программ, а дирижер всегда один – разработчик. Вы можете использовать великолепный язык программирования и идеальную платформу и все равно получить ужасный код.
Многие практические методики написания чистого кода независимы от языка программирования. Хороший разработчик должен иметь чутье для создания простого и понятного кода, и неважно, какой язык программирования он использует.