LINUX.ORG.RU

$params->{$param} = парам-парам


0

1
 997         foreach my $param (keys(%{$params})) {
 998                 if ( exists($params->{$param}) ) {
 999                         $params->{$param} = $self->through_hook($param, $what, $req);
1021         foreach my $param ( keys(%{$params}) ) {
1022                 if ( ref $params->{$param} eq 'ARRAY' ) {
1023                         foreach my $val ( @{$params->{$param}} ) {

Это парам-парам напоминает победные марши или песню мушкетёров или что угодно, только не код. А как вы боретесь с подобными нагромождениями парам-парамов? Пробовал добавлять суффиксы, типа param_name и param_value но лучше от этого не стало, стало только длиннее.

★★

Ответ на: комментарий от plambir

> Так может оставить только суффиксы, а префиксы убрать?

Там кроме них есть ещё много переменных с именами типа key, val и tmp

name_no ★★
() автор топика
Ответ на: комментарий от Zhbert

> Может быть просто не обращать внимания, не?

Для меня это как слой пыли на мониторе — вроде можно не обращать внимание, но если убрать, то будет намного лучше.

name_no ★★
() автор топика
Ответ на: комментарий от name_no

Ты сам себе проблемы создаешь такими псевдоэстетическими нормами, ограничивающими твой потенциал.

Zhbert ★★★★★
()
Ответ на: комментарий от name_no

Тогда выноси код в отдельные процедуры и функции, что бы не было коллизий имен.

plambir
()

>foreach my $param (keys(%{$params})) {

Как бы, тут очевидно, что не $param, а $key:

if ( exists($params->$key) ) { ...

и всё становится вполне себе наглядно.

В любом случае в Perl'е нафиш не нужно такое нагромождение скобок. Да и по хэшу часто удобнее через while ... each бегать.

KRoN73 ★★★★★
()
Ответ на: комментарий от name_no

>> Так может оставить только суффиксы, а префиксы убрать?

Там кроме них есть ещё много переменных с именами типа key, val и tmp


обычные переменные должны иметь вменяемые имена. А $key, $val и т.п., тем паче, $k или $v - локальные переменные циклов, блоков и т.п.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> обычные переменные должны иметь вменяемые имена. А $key, $val и т.п., тем паче, $k или $v - локальные переменные циклов, блоков и т.п.

ну так так оно и есть. на вопрос из сабжа ответа всё равно нет.

name_no ★★
() автор топика
Ответ на: комментарий от KRoN73

> Да и по хэшу часто удобнее через while ... each бегать.

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

name_no ★★
() автор топика
Ответ на: комментарий от Zhbert

> ограничивающими твой потенциал.

Да ладно, прям ограничивающими. Кода написан полгода назад и лежит себе в репозитории, только иногда хихикаешь над этими парам-парам и всё.

name_no ★★
() автор топика
Ответ на: комментарий от name_no

>Кода написан полгода назад и лежит себе в репозитории, только иногда хихикаешь над этими парам-парам и всё.

Чего ты тогда к нему прицепился?

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

> Чего ты тогда к нему прицепился?

да просто так, чтоб тему в development создать ))

name_no ★★
() автор топика
Ответ на: комментарий от name_no

Ты слишком много куришь?

Счетчики в циклах вообще i, j, k называют и ничего. «Выдыхай!» (с)

slackwarrior ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.