Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размер скрипта, есть ли разумные пределы? 
:(
    Опции темы
igorold
Дата 24.6.2010, 05:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



Колличество строк в скрипте перевалило за 20000. 
Размер 803 Кб.
Нужно ли скрипт разбивать на файлы?
Какие существуют оптимальные? разумные? размеры скрипта

Заголовок скрипта:

Код

#!/usr/bin/perl
use strict;
use CGI qw(:standart :param);           #Работа с CGI-интерфейсом
use DBI;                                #Работа с MySQL
use Digest::SHA1 qw (sha1_base64);      #Шифровка паролей
use Text::Template;                     #Для отправки писем по шаблонам
use Net::SMTP;                          #Отправка писем
use Date::Manip;                        #Разбор дат в задачах
use Template;                           #Вывод хтмл-страниц из шаблонов
use CGI::Carp qw(fatalsToBrowser);
use Digest::MD5;                        # Подсчет контрольной суммы файла



--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
djandrey
Дата 5.9.2010, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.1.2007

Репутация: нет
Всего: нет



По-моему есть две точки зрения на размер скрипта:

1. Размер скрипта, навигация по которому всё ещё не тормозит в любимом редакторе.
Например, когда я использую редактор из Far Manager с плагином Colorer (имхо, лучший, но довольно тяжёлый), 150 килобайт перлового кода полностью подсвечиваются по времени так, что уже заметно на глаз, если открыть файл и быстро скокнуть в конец. То же самое относится к задержкам проверки синтаксиса, дополнения кода, обновлению панелей навигации по коду (где есть ссылки на начала функций, глобальных переменных, etc). Так вот, как только твой любимый редактор начинает неприемлемо тормозить на каждодневных операциях с кодом, пора бить скрипт на части.

2. Удобство поиска нужного куска кода в разрабатывающемся проекте.
Например, есть разухабистая система, где по многу кода уделено на каждую сущность, имеет смысл разбить проект на части исходя из его сущностей. Например, в отдельный файл вынести весь код для работы с пользователями (регистрация, восстановление пароля, смена пароля, удаление, переименование, логирование их действий, etc), точно также поступаем с другими сущностями (каждый прграммист в этом месте представит свои собственные и я не стану тратить время на перечисление типичных для возникновения идей, как побить чей-то определённый проект). Когда проект разбит таким образом, в навигации любимого редактора имеется только то, что относится к текущей, выбранной с помощью открытия файла, сущности и ничего более. Это позволяет видеть меньше, выполнять навигацию быстрее, меньше отвлекаться.

С точки зрения интерпретатора мне ещё не встретилось ограничение именно на размер файла.
Зато запуск одного большого скрипта в теории займёт меньше времени, чем главного маленького  и кучи модулей или функций в других файлах через use/require из главного. Я не замерял разницу, но здравый смысл подсказывает, что она должна быть, пусть даже маленькая.

Кстати, раз разговор зашёл о размере скрипта, простите, не могу удержаться от оффтопика: ускорители вроде speedycgi, mod_perl юзаются? (почему спрашиваю: ведь запуск такого большого скрипта начисто без них наверняка не мгновенен)

update: вот сделал скрипт (правда, очень простой) с кучей принтов размером чуть более чем 100 мегабайт. Запустил. Выполнился, ни единого разрыва ворнинга. И это на винде с ActivePerl v5.8.8.

Это сообщение отредактировал(а) djandrey - 5.9.2010, 18:14
PM MAIL WWW Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.