1. Ruby / Говнокод #20202

    −46

    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
    class Review < ActiveRecord::Base
      ...
      def calc_total_rating
        #rating received from client via form
        rating_from_client = self.total_rating
    
        #rating calculated on server
        rating_from_server = ((prices_value + quality_value + delivery_value).to_f / 3).round(1)
    
        # check if client's rating is different from automatic
        if rating_from_server.to_i == rating_from_client.to_i
          self.total_rating = rating_from_server
        else
          self.total_rating = rating_from_client
        end
      end
      ...
    end

    Самый бессмысленный и беспощадный if в моей жизни :)

    Запостил: IzikAJ, 15 Июня 2016

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

    • Вообще бесполезная функция(кек метод), рубибляди в деле.
      Ответить
      • Ну, сравнивается to_i, т.е. целая часть, а значения с сервера будут дробными. Поэтому функция решает откуда брать дробную часть.
        Ответить
        • Согласен, сакральный смысле все-же есть, вот только лучше уж написали:
          self.total_rating = rating_from_server if rating_from_server.to_i == self.total_rating.to_i
          Ответить
          • Это да. Может ему за строчки платят?
            Ответить

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