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

    −103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Person < ActiveRecord::Base  
    def self.current=(person)
        @current_people = person
      end
      def self.current
        @current_people
      end
    end

    Определяют текущего пользователя в модели=)

    Запостил: opak, 10 Декабря 2011

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

    • нормально, только почему people?
      Ответить
      • а что нормального?
        Ответить
        • обычные аксессоры же. правда, непонятно, нахрена.
          Ответить
          • в рубине кажется есть автоаксессоры точно не помню. Но код явно не говно
            Ответить
    • нет тут говнокода, если не знаете "рубина" че выкладывать! На самом деле это очень удобно !
      Ответить
      • пожалуй соглашусь, ибо рельсы однопоточны, а данный код можно смело считать говном в многопоточном окружении.
        Ответить
        • в любом окружении.
          если, к примеру, запущено хотя бы 2 воркера.
          одного юзера может отрабатывать любой из них, не говоря уже, что каждый воркер может обсуживать n юзеров в данный момент.
          а вообще, конечно,
          class << self
            attr_accessor :blah
          end
          Ответить
    • Этот код же не будет работать. Автор видимо не знает разницы между class variable и instance variable.
      Ответить
      • Этот код будет работать, предыдущий комментатор видимо не знает, что в руби класс - тоже объект =)

        Но в многопоточном приложении это говнокод, да.
        Ответить

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