1. Perl / Говнокод #13511

    −145

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    sub is_home_license
    {
            my $self = shift;
    
            my $rv = $self -> product() -> is_home_product();
    
            unless( $rv )
            {
    
                    unless( $self -> product() -> is_nl_product() )
                    {
    
                            if( ( int( $self -> licdata() -> { '1' } ) > 0 ) and ( int( $self -> licdata() -> { '1' } ) < 6 ) ) # 1 .. 5
                            {
                                    $rv = 1;
                            }
    
                            unless( $self -> licdata() -> { '1' } )
                            {
                                    if( $self -> licdata() -> { '8' } == 1 )
                                    {
                                            $rv = 1;
                                    }
                            }
    
                    }
            }
    
            return $rv;
    }

    Запостил: kainwinterheart, 30 Июля 2013

    Комментарии (1) RSS

    • Почему все боятся выделять переменную под объект/хэш/массив?
      my $product = $self -> product();
      my $licences = $self -> licdata();

      Код становится менее читабельным? Или памяти больше съест? Или тормознее код станет?
      Минусанул за то, что как код на быструю руку с логикой все в порядке. Хотя проверку можно было написать изящней:
      my ($smth, $other) = @$licences{qw(1 8)};
      
      if ($smth > 0) {
      
        if ($smth < 6) {
          $rv = 1;
        } 
      
      } elsif ($other == 1) {
        $rv = 1;
      }
      
      return $rv; # seems to be there are possible values: undef, 0, 1
      Ответить

    Добавить комментарий