![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Kiber_rat |
|
||||||||||||||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Возможно кому то будет интересно пообщаться на эту тему. Начнем с того, что синтаксис perl позволяет писать весьма лаконичный и хорошочитаемый код. Рефакторинг кода это по сути приведение кода программы к лаконичности и удобочитаемости, избавлению от лишних переменных, убиранию глобальных пременных, включению обработки исключительных ситуаций и т.д. и т.п.
Например, есть такой скрипт, который принимает два параметра и распечатывает файл, заданый вторым параметром, с нумерацией строк:
Для того что бы предотвратить использование глобальных переменных и для большей "секьюрности", добавим use strict; в начало кода. Наш код примет такой вид:
Теперь вспомним о "переменной по умолчанию" и вобще критически просмотрим код на наличие лишних переменных:
Есть хорошее правило, более короткий код в конструкции if {} else стоит ставить первым, плюс добавим обработку исключительных ситуаций:
Теперь попробуем еще свернуть код:
Если же для нас некритична платформонезависимость кода, то можно его еще "ужать":
Главное не слишком увлекаться, что бы красота кода не повлияла на его стабильность и работу Надеюсь это кому то пригодится. Добавлено @ 22:01 Уже после решил добавить... Свернуть все это можно к "однострочнику"
Это сообщение отредактировал(а) Kiber_rat - 18.3.2005, 09:07 -------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||||||||||||||
|
|||||||||||||||||
| Sadok |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
Kiber_rat
Это в последнем примере? |
|||
|
||||
| Kiber_rat |
|
||||||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Ок, давайте разберем его "фонетически"
По моему все читаемо. нет? ;) Вот еще вариант, причем он позволяет работать не только с файлом но и читать ввод:
Или даже так:
Это сообщение отредактировал(а) Kiber_rat - 18.3.2005, 09:13 -------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||||||
|
|||||||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |