ООП во FLASH 5

Процесс


Программисты - чёртовы лгуны! Нет, я не имею в виду то, как они обманывают своих домовладельцев или враки про их образование, всё гораздо хуже. Они не спят по ночам и неделями выдумывают, выискивают, как бы навернуть что-нибудь такое-эдакое, ужасно сложное, какую-нибудь хитромудрую ООП-структуру или ещё что... Наконец они запихивают это всё в несколько классов с красивой иерархией и сотней-другой строк кода. Результат выглядит потрясающе. Затем, в своих книгах они обычно пишут, что если необходимо решить проблему Х, то нужно использовать именно эту структуру, потому как именно она бесспорно лучшая и невероятно прозрачная. Ну, или не пишут, а просто приводят как само собой разумеющееся свой прилизанный чудо-код. Все думают, что они гении, у вас же остаётся чувство неадекватности собственных классов, ибо они никогда не получаются красивыми ни сразу, ни даже... после. Хуже всего то, что решить проблему Х вы можете, но совершенно без понятия, как решать остальные проблемы и чувствуете себя совершенным ничтожеством. Остаётся лишь малое утешение, что тот программер втайне чувствует себя точно также. Ведь это все остальные программисты могут легко придумать замечательную структуру во сне, тогда как ему или ей приходится не спать ночами, барахтаясь в море смятых бумажек, попытка за попыткой... В результате, гнетущее чувство неполноценности делает их изгоями, которых коллеги воспринимают лишь из снисходительности. И даже модный костюм не может помочь их горю.

Мораль сей басни такова: создание ОО-программ - процесс многократной переделки одного и того же. Вы создали структуру - получилось отстойно. Выбрасываете её и создаёте другую, уже чуть менее отстойную. Но! Вот эту часть надо бы выкинуть, а то свойство переместить бы на уровень выше, а вот те, сделать подклассами. Наконец картинка складывается перед глазами и вы ещё раз убеждаетесь... это вновь отстой. Но теперь вы стали умнее, вы перелопачиваете весь код, искусно пользуясь клипбордом, выравниванием и, в конце концов, всё работает, всё прозрачно! "Ай, да я! Мне пора писать книги!", - думаете вы. В конечном счёте, становитесь всё опытнее, используете накопленные черновики и много думаете над усовершенствованиями. Экономит ли это время или нет, вопрос спорный, но шансов, что другой программист найдёт один из таких черновиков с вашими бредовыми идеями и посмеется над вами, гораздо меньше. Не убедил? Вот цитата из Бертрана Мейера, создателя языка Eiffel, гениальнейшего из гениальнейших OO-умников:


"..you don't need iterations, its easy..." ("...нет необходимости повторять, это легко...") - найдите эту цитату!

Хм, здорово, видимо, парням такого уровня не стоит заморачиваться подобной ерундой... Конечно, он написал немало пухлых книжек и даже придумал язык программирования. Верить или нет подобным утверждениям столь авторитетных личностей?

Существует много методик, могущих помочь в определении, какая именно структура наиболее подходит к вашей программе, мы рассмотрим некоторые из них позднее. Более того, мы будем писать программы, потом их же по ходу упорядочивать и модифицировать, чтобы имитировать процессы, которые обычно происходят во время создания OO-программы (будьте уж любезны читать всю статью!). Надеюсь, это поможет вам понять как сам процесс, так и гибкость создания ОО-программ, и перестанете, наконец, считать меня мошенником (всё, прекращаю свои словесные экскурсы).

<<

   ООП во Flash 5 ( II )    >>


Содержание раздела