Показать сообщение отдельно
  #1 (permalink)  
Старый 16.03.2009, 22:27
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Эксперимент
Вздумалось мне провести один эксперимент, связанный с разработкой одного маленького проекта на JavaScript.

Суть эксперимента в том, что разработка будет вестись открыто, причем настолько открыто, что абсолютно любой желающий может ввести правки и комментарии в исходные коды в режиме "realtime".

Это будет обеспечиваться сервисом EtherPad, который, кроме всех прочих прелестей, поддерживает подсветку синтаксиса языка JavaScript.

Сама разработка будет происходить по адресу http://etherpad.com/seek. Там, в режиме realtime, будут вводится правки и разрабатываться код.

Любой желающий может выбрать себе имя, редактировать содержание и даже сохранить свою правку. Справа есть внутренний чат, в котором можно общаться с тем, кто в данный момент просматривает/редактирует страницу.

В связи с тем, что все действия доступны любому, прошу выбирать себе ник, по которому вас можно идентифицировать, и внося правки — указывать свой ник в комментарии.

Если вы хотите внести правку или замечание - напишите комментарий прямо в коде, с обязательным указанием ника, в формате:
/**
 * paranichev: какой-то комментарий.
 */

Если какое-то место уже прокомментировано, сделайте пустую строку и начните свой комментарий, если вы хотите внести к нему поправку/замечание.

Общие замечания лучше оставлять в комментарии в самом начале скрипта, чтоб было заметнее. Если поправили код и сохранили правку - отпишитесь и там, кстати, желательно правкам тоже давать осмысленные названия. И сохраняйте, пожалуйста, хронологический порядок правок и комментариев.

Итак, о самом проекте. Я решил написать простейший движок CSS-селекторов, которые будут даже не CSS1 совместимы: поддерживаются только селекторы по имени тега, идентификатору и имени класса, причем только в одном направлении (без конструкций "+", "<").

Скрипт должен работать кросс-браузерно, причем использовать возможности querySelector и XPath, если они доступны в браузере пользователя. Размер конечного скрипта должен быть меньше 5 Кб.

Теперь о тестировании. Чтобы разработка не ушла в дебри, весь скрипт будет покрыт тестами, которых, правда, пока что — нету. Но уже есть небольшая библиотека в приложении к этому сообщению.

Если есть желание предложить какой-то тестовый случай, то файл с тестами будет находится тут — http://etherpad.com/seek-tests. Можно вносить правки и комментарии, как и в случае самого скрипта.

В файл lib/seek.js (из приложения) нужно будет скопировать содержание скрипта seek, в файл tests/seekTests.jsсодержание тестов, по ходу изменеий этих файлов.

Если у вас есть возможность запустить тесты, то отпишите в комментариях к скрипту seek (если таких комментариев там еще нет), что "в таком-то браузере провалились такие-то тесты". Это поможет сохранить кросс-браузерность и тестировать переписанный код.

Как идея? Если что-то из этого выйдет, все участники будут упомянуты в "special thanks" или в копирайтах, в зависимости от общего количества участия. Лицензия будет свободная.

Добавлено:
Подсветку включать в блоке справа "options", самая последняя галочка "highlight JavaScript syntax".
Вложения:
Тип файла: zip tests.zip (3.0 Кб, 2 просмотров)

Последний раз редактировалось Андрей Параничев, 17.03.2009 в 01:23. Причина: Убрал баг в IE в тестах
Ответить с цитированием