[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Нужен ли bash



AP> Так намного лучше. Хотя вот в таком эскейпинге - \@ очень легко ошибиться. Ну
AP> и $@ или $_ читабельности не добавляют, а совместо с ; в конце строки
AP> становятся малочитаемыми.
так это вопрос выбора имен переменных
речь идет о том что читает код всеж таки специалист 

вот отвлечься от Perl, взять Makefile, там полно всяких $@, $<, $> итп
никто же не говорит что makefile масдай все пишут/используют
альтернатив в общем-то никто и не брался придумывать ;)

AP>> 
AP>>> мне уже не прочитать. Это же брэйнфак какой-то, а не язык
AP>> программирования. почему брейнфак? $_ - универсальная временная переменная.
AP>> называлась бы она $TEMP было б так же, никто ведь не мешает называть
AP>> переменные как нравится и не использовать $_? (кстати эта переменная
AP>> синоним имеет $ARG в use English)

AP> Перл тем и плох, что позволяет писать как попало. В одном и том же коде
AP> зачастую смешиваются разные стили. А писать все в одном стиле - кода больше
AP> получается в некоторых случаях и лениво становится.

стоп
давай различать разные алгоритмы и стили.
плохой стиль программирования в любом языке будет читаться плохо

а стандартные имена стандартных временных переменных это как бы
стандартное и соответственно претензии к нечитабельности идут только от
тех кто этим не пользуется.

например когда вижу java'вский 
bla_bla.krya_krya.ha_ha.kva_kva.be_be.bi_bi.ko_ko.kukareku(10);

меня жуть берет, но я не специалист в javam поэтому не знаю что каждая
фигатень значит.
однако java повсюду очень хвалят именно как язык строгий нерасполагающий
к ашипкам итп

так и тут ну запомнить надо что $@ - входные переменные, $_ - временная
переменная
и код сразу понятен :)

AP>>> Может быть, оно и работает, но если помрет на каком-нибудь спецсимволе
AP>>> входных данных,
AP>> ну вообще ТАКОЙ метод парсинга как ты предложил вполне и на тикле
AP>> помереть может.

AP> На тикле я его в catch засуну на продакшене да еще в защищенный интерпретатор
AP> упакую. В тикле средства защиты динамического кода предусмотрены.
ну и в перле я его в eval завернул (что тоже что твой catch) и в перле
есть рестриктед перл-песочница


AP>>> то отладка обещает быть веселой. И вы серьезно готовы
AP>>> мегабайт-другой такого кода поддерживать?
AP>> что тебе в этом коде не нравится кроме имени временной переменной?

AP> Да все не нравится. Вот выдернуть кусок кода из контекста
AP>>> eval "foo_$$_[0](\$\$_[1])";
AP>>> foo_unknown($$_[1]) if $@;
выдернуть твой кусок из контекста с {}-ми \/-ми запятыми итп
так оно хуже регекспов тобой же приведенных выглядит
только что покороче чуток 

set replist [list to: {} :CV: {} ( { } ) { } : { } , { } \/ { } -> { } $ {} \[
{} \] {}]

совсем нифига не понятно. кстати если распихивать по функциям парсер
то нафиг в главном парсить аргументы? пусть каждая функция и разгребает
что ей там на вход пришло :)

AP> и уже не разберешь, что это и зачем. А если нужно быстро просмотреть модуль в
AP> сотню килобайт такого кода, написанного пару лет назад?

то просматриваешь и всего делов.
любой код должен быть откоментирован, perldoc perldoc на эту тему есть
;)
--

. ''`. Dmitry E. Oboukhov
: :’  : unera@debian.org
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537

Attachment: signature.asc
Description: Digital signature


Reply to: