[Moscow.pm] refactoring

Илья Винокуров ilvin на mail.ru
Сб Окт 17 13:26:48 PDT 2015



Где-то здесь и ООП:

package OOP;
use base qw{  PersonClass } ;

sub get_father_id { eval { shift->SUPER::get_father->get_id } // undef };
sub get_mother_id { eval { shift->SUPER::get_mother->get_id } // undef };
sub get_email_id { eval { shift->SUPER::get_email } // undef };
sub get_homepage_id { eval { shift->SUPER::get_homepage } // undef };

ну и так далее говнокодим...

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

>Пятница, 16 октября 2015, 15:59 +03:00 от Михаил Шогин <mshogin на gmail.com>:
>
>Ильич, а где ООП? ;)
>
>MS
>
>15 октября 2015 г., 9:55 пользователь Илья Винокуров  < ilvin на mail.ru > написал:
>>
>>Здравствуйте, комрады!
>>
>>Как-то так...
>>
>>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
>>
>>
>>--
>>Moscow.pm mailing list
>>moscow-pm на pm.org |  http://moscow.pm.org
>>
>
>
>
>-- 
>С уважением
>Михаил Шогин.
>-- 
>Moscow.pm mailing list
>moscow-pm на pm.org |  http://moscow.pm.org

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


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