>>>>> "AC" == Artem Chuprina <r...@ran.pp.ru> writes:
>>>>> Артём Н.  @ Sun, 01 Jul 2012 14:35:40 +0400:

[…]

 AC> Я скрипты, от которых хочу надежности, обычно на перле пишу,
 AC> учитывая, что в Debian

 AC> Package: perl-base

 AC> Priority: required

 АН> o.O Perl, кажется, похож на автомат со снятым предохранителем,
 АН> направленный в ноги?

 AC> Многое зависит от наличия головы ;-)  Никто не мешает писать в
 AC> каждом перловом файле use strict;

        Возможно даже:

use strict;
use warnings;

        Авторы use common::sense, впрочем, утверждают, что use warnings
        слишком уж требователен к ресурсам.

 AC> и даже запускать его с -T.  Ну и эта...  Все его "короткие"
 AC> варианты под девизом Do The Right Thing - они для однострочников.
 AC> В скриптах, от которых требуется надежность, никто не запрещает
 AC> использовать более многословные варианты,

        В частности, use English.

 AC> и даже иногда что-нибудь проверять :-)

        Еще можно вспомнить возможность разделить единственный файл
        исходного кода на несколько модулей, подобно:

package My::Foo;

# Code

package My::Bar;

# Code

package main;

# Code

        Бывает полезно с точки зрения предотвращения доступа к «чужим»
        переменным.  (И упрощает последующее выделение кода в отдельные
        пакеты для размещения на CPAN.)

        И да, как мне кажется, я все же научился писать читаемый код на
        Perl.  Изучив Scheme.

[…]

 АН> Так причём тут проверка в конфиге?  Достаточно проверки в
 АН> загрузчике конфига:

 AH> config:

 АН> OPT_PARAM1=123

 АН> Скрипт:

 АН> . config
 АН> OPT_PARAM1=${ENV_USER_PARAM1-:OPT_PARAM1}

 AC> Можно.  Но обычно удобнее в конфиге написать

 AC> OPT_PARAM1=${OPT_PARAM1:-value1}

 AC> и позволить пользователю переопределять именно OPT_PARAM_1,
 AC> использование которой он потом увидит, а не неочевидно с нею связанную
 AC> ENV_USER_PARAM1

        BTW, есть и более короткий вариант:

: ${VARN:=VALUE}

[…]

-- 
FSF associate member #7257


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/86r4stcw1n.fsf...@gray.siamics.net

Ответить