A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 318

Фундамент и Инерция

Вторник, 26 января 2010 г.
Рубрика: Изокод
Подписаться на комментарии по RSS
Если слово Processing вам ни о чем не говорит, значит вы достигли наконец второго уровня неуловимости, а именно: пропустили первое и второе занятия по программированию красоты и гармонии. Вернулись? Продолжаем...

Сегодня похрустим двумя очень разными, но по-своему - приятными штучками. Первая - по праву считается фундаментом всего программирования, другая же - была здесь всегда. Так вот...

Первый доисторический архитектор программирования обратил внимание на то, что огромное количество похожего кода приходится писать вновь и вновь. И даже возможность просто копировать - его не радовала. Потому, что после какой-нибудь непродолжительной отлучки в соседнюю деревню - программа ни спереди, ни сзади не хотела выглядеть родной и понятной. А нервы уже в то время - не были железными... И тогда до-архитектор придумал функцию!

Функция подобна стиральной машинке, утюгу или миксеру. Каждая конкретная функция в "доме" программы - одна, а использовать ее можно - многократно. Программы с программистами после этого сразу сильно похорошели... А вождь племени подумал тогда о том, что неплохо бы ввести налог на удовольствия получаемые от программирования... и тут же был свергнут шестью различными способами в цикле от 0 до 15-ти.

Вставляем в Processing данный код. А... давайте сразу запустим и порисуем:

Теперь смотрим код. Заметьте, выражения типа x += vx являются сокращенной записью, в данном случае от выражения x = x + vx. А, например, x-- соответствует x = x - 1. Но это так... - удобные мелочи. Дальше - больше.

В двух местах мы наблюдаем вызов одной и той же функции - drawRandomSpot2(...). Ей с собой выдаются параметры: координаты, радиус и цвет. А уж она там сама знает - что рисовать. Удобно? Красиво? Вот и у всех программистов мира - тоже так... Теперь промотаем вниз и обнаружим сами функции:

Да, да, да, их то тут три, а не одна... А зачем? Если у всех входные параметры - одинаковые, а внутренности (реализации) - разные. Вот и догадайтесь с одной подсказкой: - Для развлечения, конечно! Ну ладно, еще подсказка (подозреваю - опоздавшая)... Результатом применения функций является не только выразительная читаемость - понятность кода и не только уменьшение объема его в сотни раз..., а так же - необычайная гибкость. Ведь тогда, разные варианты исполнения того или иного действия - пишутся как несколько функций с разной реализацией. Потом, чтобы сменить одно на другое - достаточно переименовать вызов функции, а не заменять одни куски кода другими кусками, попутно исправляя названия переменных (стал бы до-архитектор по пустякам нервничать?).

Чуть не забыл! Вторая штучка - это инерция. Ее присутствие оживляет нашу программу не совсем прямым управлением процессом рисования. Как это достигнуто? При помощи простейшей математики и переменной - cInertion: это такой обратный счетчик, который затухает от максимального значения - maxInertion до нуля. А значит процесс рисования не завершается сразу как мы отпускаем (куда?) мышь, а продолжается еще некоторое время: еще несколько кадров.

А вот то, что в тексте программы фигурирует некто по имени массив, мы пока - благоразумно не заметим. Надо же что-то оставить и на завтра...

odnoklassniki.ru mail.ru rutvit.ru technorati.com blogger.com livejournal.ru memori.ru mister-wong.ru

Комментариев: 3

  1. 2010-01-30 в 16:22:06 | Андрей

    Больше никогда не публикуйте код, написанный в таком стиле, он ужасно плохо читается.

    Стандарт кодирования Java: http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

    Особо обратите внимание на пункты

    http://java.sun.com/docs/codeconv/html/CodeConventions.doc5.html#2991

    и

    http://java.sun.com/docs/codeconv/html/CodeConventions.doc6.html#430

  2. а еще тогда объясните: почему правые скобки в этих стандартах располагаются под операторами, а не под левыми скобками. не с точки зрения логики пожалуйста..., а с точки зрения восприятия подобных элементов - что более всего и влияет на читаемость кода, теми - кто со стандартами - не знаком... ну и заодно прикиньте какое психологическое влияние оказывает длинна листинга, опять же, на кого - какое?... и для кого - этот блог...

  3. Спасибо за урок!

    А продолжение будет?

    Хочется узнать о классах, человеку ничего не смыслящему в программировании)

Оставьте комментарий!

cheese surprised sick hmmm cool smile

Используйте нормальные имена

(войти без комментирования)

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)