воскресенье, 29 марта 2015 г.

Примеры упрощения кода

Упрощать код очень важно, т.к. это увеличивает его читаемость. Одну и ту же задачу можно сделать одной, так и десятью строчками кода. Чем код компактнее, тем его легче поддерживать. Разумеется, не нужно доходить до фанатизма, пытаясь уместить все в одну строчку, т.к. это может привести к ухудшению его читаемости.

  1. lots.map { |lot| lot.start_date }.compact.min
    
    # Упростили
    lots.map(&:start_date).compact.min
    
  2. if age.present?
      I18n.t('firm.regular')
    else
      I18n.t('firm.new')
    end
    
    # Упростили:
    I18n.t("firm.#{age.present? ? :regular : :new}")
    
  3. if company.type_id == nil || company.type_id == CompanyType.online.id
      return false
    end
    
    # Упростили
    return false if [nil, CompanyType.online.id].include? company.type_id
    
  4. if companies.select { |company| company.store_type == company.online_type }.empty?
      return false
    end
    
    # Упростили
    return false if companies.none? { |company| company.store_type == company.online_type }
    

Комментариев нет:

Отправить комментарий