Профессиональные приемы программирования
Глава 1 Современное программирование на JavaScript
Развитие JavaScript шло постепенно, но имело постоянный характер. За прошедшее десятилетие восприятие JavaScript изменилось от простого, игрушечного до вполне уважаемого языка программирования, используемого по всему миру корпорациями и разработчиками для создания великолепных приложений. Современный JavaScript такой же, каким был всегда — цельный, надежный и невероятно мощный язык программирования. Многое из того, что рассматривается в этой книге, станет демонстрацией всего, что отличает современные JavaScript-приложения от их предшественников. Многие из представленных в этой главе идей при всем своем развитии уже не новы, но то признание, которое они завоевали у тысяч способных программистов, помогло усовершенствовать методы их применение и сделать их более современными. Итак, давайте без лишних слов приступим к рассмотрению современного программирования на JavaScript.
Объектно-ориентированный JavaScript
С точки зрения языка, вы не найдете здесь абсолютно ничего нового ни об объектно-ориентированном программировании, ни об объектно-ориентированном JavaScript, поскольку этот язык с самого начала создавался
как полностью объектно-ориентированный. Тем не менее, по мере того, как JavaScript «развивается» в своем применении и признании, программисты, работающие на других языками (таких как Ruby, Python и Perl) его заметили и стали переносить на него свои приемы программирования.
Объектно-ориентированный код JavaScript по внешнему виду и поведению отличается от кода, написанного на других языках, поддерживающих объектное программирование. Углубленное рассмотрение этого вопроса и различных аспектов, составляющих уникальность языка, я планирую во второй главе, а теперь, чтобы получить представление о том, как пишется современный код JavaScript, давайте обратимся к некоторым основам. В листинге 1.1 приведены примеры двух объектных конструкторов, показывающих образование пары объектов, пригодной для использования в учебном процессе.
Листинг 1.1. Объектно-ориентированный JavaScript, представляющий лекции и расписание их проведения
// Конструктор для нашей лекции — ‘Lecture’ // принимает две строки — name и teacher function Lecture( name, teacher ) {
// Сохранение строк в качестве локальных свойств объекта
this.name = name;
this.teacher = teacher; }
// Метод класса Lecture, используемый для генерации // строки, которую можно использовать для отображения информации о лекции Lecture.prototype.display = function(){
return this.teacher + » преподает » + this.name; };
// Конструктор расписания лекций, принимающий // массив лекций function Schedule( lectures ) {
this.lectures = lectures; }
// Метод, предназначенный для построения строки, представляющей
// расписание лекций Schedule.prototype.display = function(){
var str = «»;
// Перебор всех лекций, построение
// информационной строки
for ( var i = 0; i < this.lectures.length; i++ )
str += this.lectures[i].display() + » «;
return str; };
При просмотре Листинга 1.1 можно заметить, что в его коде присутствует большинство основных элементов объектно-ориентированного программирования, которые по сравнению с элементами других, более распространенных языков объектно-ориентированного программирования структурированы несколько подругому. Вы можете создавать конструкторы объектов, методы, обращаться к свойствам объектов и извлекать их значения. Пример использования в приложении двух классов показан в Листинге 1.2.
Листинг 1.2. Предоставление пользователю списка классов
// Создание нового объекта расписания — Schedule и его сохранение в // переменной ‘mySchedule’ var mySchedule = new Schedule([
// Создание массива объектов Lecture, который передается
// объекту Lecture как единое свойство
new Lecture( "Gym", "Mr. Smith" ),
new Lecture( "Math", "Mrs. Jones" ),
new Lecture( "English", "TBD" ) ]);
// Отображение информации о расписании в виде всплывающего уведомления alert( mySchedule.display() );
С завоеванием признания JavaScript в программистской среде, стало более популярным использование качественно спроектированного объектно-ориентированного кода. Я попытаюсь наполнить всю книгу различными показательными фрагментами объектно-ориентированного кода JavaScript, которые, как я считаю, лучше всего проиллюстрируют разработку и реализацию кода.
Тестирование кода
После определения качественной объектно-ориентированной базы программного кода, вторым аспектом разработки профессионального кода JavaScript является обеспечение надежной среды тестирования. Потребность в качественном тестировании становится особенно очевидной при разработке кода, который будет активно использоваться или поддерживаться другими разработчиками. Проведение тестирования с целью закладки надежной базы для других разработчиков — неотъемлемая составляющая практики разработки поддерживаемого программного кода.
В главе 4 будут рассмотрена различные инструменты, пригодные для создания нужных режимов тестирования и эксплуатации, а также простая отладка сложных приложений. Один из таких инструментов — дополнительный модуль Firebug для Firefox. Этот модуль предоставляет целый ряд полезных инструментов,
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119