[Moscow.pm] refactoring

Илья Винокуров ilvin на mail.ru
Ср Окт 14 23:55:18 PDT 2015


Здравствуйте, комрады!

Как-то так...

my ($father, $mother, $email, $homepage, $date_of_birth) = (
  $person->get_father // undef,
  $person->get_mother // undef,
  $person->get_email // undef,
  $person->get_homepage // undef,
  $person->get_date_of_birth // undef
);

push @person_row,
    $father && $father->get_id,
    $mother && $mother->get_id,
    $email,
    $homepage,
    $date_of_birth ? join('/', $date_of_birth->day // '', $date_of_birth->month // '', $date_of_birth->year // '') : '';


С почтением,
  Илья Винокуров.

>Четверг, 15 октября 2015, 5:43 +03:00 от Nikolay Mishin <mi на ya.ru>:
>
>Hi Moscow.PM!
>
>Существует ли какой-либо сбособ сделать более читаемым такой код?:
>
>    push @person_row, (defined $person->get_father()) ? $person->get_father()->get_id() : undef; 
>    push @person_row, (defined $person->get_mother()) ? $person->get_mother()->get_id() : undef; 
>    push @person_row, ($person->get_email(), $person->get_homepage());
>      
>    my $date = "";
>    if(defined $person->get_date_of_birth()) {
>      my $date_of_birth = $person->get_date_of_birth();
>      $date .= defined $date_of_birth->day ? $date_of_birth->day."/" : "";
>      $date .= defined $date_of_birth->month ? $date_of_birth->month."/" : "";
>      $date .= defined $date_of_birth->year ? $date_of_birth->year : "";
>    }
>
>источник  https://github.com/mishin/Ftree-cpan/blob/master/lib/Ftree/Exporters/ExcelExporter.pm#L53
>
>-- 
>С уважением
>Николай Мишин
>
>-- 
>Moscow.pm mailing list
>moscow-pm на pm.org |  http://moscow.pm.org

----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20151015/c7501521/attachment.html>


Подробная информация о списке рассылки Moscow-pm