|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : vilfred 2:5020/400 05 May 2002 12:39:39 To : Kostya Lesnichenko Subject : Re: Ускорении процесса разработки -------------------------------------------------------------------------------- Привет! KL> Заранее спасибо всем, кто проявит интерес к KL> данной, надеюсь, актуальной, KL> теме. Вообще да. В дельфи есть базовая процедура, которая вызвается первой при запуске программы. Hу я то-же самое сделал в скрипте. первым вызываю sub в котором все что можно откраывется, считывается и т.д. Причем этот первый модуль содержит в себе включения других подпрограмм, которые непосредственно можно перевызывать отдельно, Правда такой подход памяти жрет. Hо зато удобно, просто там есть еще дополнительный файл с текстами html в переменных, который в программе eval'ится. это удобно, из любого места вызываешь что тебе нужно. Вобщем там продпрограмм 10 или 20 получлось. А вообще после написания этой программы интерес к программированию пропал, наступил тупейший кодинг. Hо насколько это все глючно... Да оно работает. Да все здорово. Hо по дибильному как-то... Последние 100 строк кода ломал голову над тем как уменьшить число символов в программе, там если все по класские писать, т.е. фореич, вайл, будет наверное 1000 строк кода, а то и две, типа сократил употреблением grep map и т.д. Вот по моему это все ООП глючно. с помощю использования sub можно делать что угодно и как угодно... И вообще странность, чем лучше знаешь перл, тем короче программа, и сидишь и зубришь мануалы... с теми-же хешами массивов, две строчки супротив 10 делающих то-же самое, а то и одна строчка... тут дела даже не в писке, а какой-то собственный стиль программирования что-ли. Вот недавно накопал такую шнягу, не разбирался в тонкостях, но похожие конструкции просто использовал: print "$regform" if $name eq 'tom' or 'mike' and $reg eq 'ok' or not 'edit'; эквивалент наверное какой-то такой: print "$regform" if $name eq ('tom' or 'mike') and $reg eq ('ok' or not 'edit'); или такой: print "$regform" if $name=~m!tom$|mike$! and $req=~m%ok|[?!(edit)]%; или еще хлеще, типа надо проверить содержится ли логин в базе, print "username exists!" if grep{m!^$user\t!} @tmp; а этот массив @tmp вызывается из подпрограммы, которая вызывается в самом начале. Т.е. одна строчка получается... только чтобы получить эту одну строчку нужно перелопачивать всю структуру программы. Вобщем глючно, но вроде бы удобно. Прадва и думаешь как-то по другому. И при таком подходе вся программа фактически состоит из одних условий вообще. Hу или вызывать подпрограммы или модули вместо сравнения этих переменных... А еще выползают экраны варнингов. Как с этим бороться, типа жестче условия ставить. Hо там в этом подходе ака Delphi так все наворочено, что перестаешь иной раз понимать, чего оно и как делает. Хотя работает как часы. Если хочешь могу пример кинуть, 22 килобайта кода. Правда там черт ногу сломит, там блин, переменных в начале 100 штук объявлено... и всего 350 строк. Hо делает она регистрацию и удаление любой из 20 позиций(работа, адрекс, емыло дата рождения и т.д.) + добавляет и редактирует где-то 30 позиций инфы всякой помимо рег. данных в + сделать еще 20-30 строк и регистрационные данные можно высылать по e-mail в виде excel файла. Я уж просто сижу и думаю, что туда еще впихнуть можно... И ингда забываешь, что что-то уже можно запросить и не надо скажем писать две строчки для открытия файла... Hо все равно что то в этом всем есть неправильное, потому как это все очень здорово. мало кода. но както это все по дибильному и по уродски... KL> Всем спасибо, KL> Константин да незачто... Дима -- TEAM [Маньяки] Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/64885de05d0f.html, оценка из 5, голосов 10
|