ФорумСообществоФлеймФилософия → злоупотребляю хаками

злоупотребляю хаками

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 18 октября 2010 г. 17:20, спустя 1 минуту 39 секунд

    ну или не хаки это, но в общем иногда хочется покороче написать.

    вместо

    if (!isset($params['defaults'])) {
     $params['defaults'] = array('foo' => 'bar');
    }

    isset($params['defaults']) || $params['defaults'] = array('foo' => 'bar';


    или
    if ($this->logger) {
     $this->logger->log('something');
    }


    подменяю

    $this->logger && $this->logger->log('something');


    вроде все нормально, но вот все чаще я пихаю более сложные условия
    (empty($params['_controller']) || $params['_controller'] == self::DEFAULT_CONTROLLER) || $url .= '/' . $params['_controller'];

    или даже

    $('multivariation_options')[show ? 'show' : 'hide']();
    $(type == 'main' ? 'category' : 'second_category').value && $(type + '_ebay_category_cancel_button').show();


    это нормально? или нужно нанимать специально обученного человека, который будет пиздить меня по рукам, когда я буду писать подобные конструкции?


    зы: а какие вы используете "хаки"?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 октября 2010 г. 17:16, спустя 23 часа 56 минут 7 секунд

    я бы тебе руки поотрывал за этот говнокод
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 18 октября 2010 г. 17:18, спустя 2 минуты 14 секунд

    Абырвалг, это хуйня, особенно первый пример ибо читаемость страдает, визуальная логика тоже в жопе. Да и в целом херовый стиль.
    п.с. А у Зенда разве не OR/AND вместо ||/&& используется?
    Спустя 31 сек.

    я бы тебе руки поотрывал за этот говнокод
    да можно его просто забанить на неделю, пусть учится правильно писать код =)))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 18 октября 2010 г. 17:21, спустя 2 минуты 8 секунд

    пусть учится правильно писать код =)))

    поддерживаю, тоже уже достало его флуд читать))
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 18 октября 2010 г. 17:21, спустя 54 секунды

    в zf &&, ||
    Спустя 38 сек.
    о, да, баньте меня на неделю. Это будет самая продуктивная неделя за последние полгода-год, бгг
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 18 октября 2010 г. 18:05, спустя 43 минуты 40 секунд

    да хули тут непонятного? хотя да, в последних 3-х примерах возможно перегнул палку. Но пример с логгером более чем адекватный
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 18 октября 2010 г. 18:52, спустя 47 минут 6 секунд

    Я так никогда не делал. Но первые пару примеров прикольные.
    Не. Говно. А если нужно будет расшириить иф? Ты блять будешь переписывать под иф? Не, ну нах такое счастье.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 октября 2010 г. 20:04, спустя 1 час 12 минут 8 секунд

    (empty($params['_controller']) || $params['_controller'] == self::DEFAULT_CONTROLLER) || $url .= '/' . $params['_controller'];

    а я бы просто молча пиздил =)
    пиздил, причем без всяких объяснений, пиздил бы до тех пор, пока ты сам бы не понял за что пиздят =))))

    а если серьезно, то да это не годится, лично я в этих конструкциях не нахожу ничего сложного, но такой код не пропагандирую.
    знаю что у зенда есть болезнь иногда такое вставлять, но в основном они это делают очень явно типа :
    defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));


    поскольку, в основном тот код с которым я работаю - опенсорс, то я стараюсь чтоб он был полностью прозрачным, и вот таких вот "фишек" не использую.
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 19 октября 2010 г. 8:10, спустя 12 часов 6 минут 2 секунды

    интересно :)
    тоже иногда тянет покороче написать
    в одну строку
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 23 октября 2010 г. 14:24, спустя 4 дня 6 часов 13 минут

    Абырвалг, перелазь на руби, там ты будешь писать
    params[:defaults] = {:foo => 'bar'} unless isset params[:defaults]
    не всё полезно, что в swap полезло
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 23 октября 2010 г. 15:05, спустя 41 минуту 10 секунд

    хаки-хуяки
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 24 октября 2010 г. 9:25, спустя 18 часов 19 минут 10 секунд

    ух, ебать, прикольно. Но руби мне не нравится из-за кучи всяких спецсимволов
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 24 октября 2010 г. 10:11, спустя 46 минут 33 секунды

    Абырвалг, да какие там спецсимволы
    :
    ?
    !
    ещё там функции можно переопределять, например умножение
    def * args

    end
    всё, пожалуй
    не всё полезно, что в swap полезло
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 24 октября 2010 г. 10:53, спустя 42 минуты

    Абырвалг, да какие там спецсимволы
    :
    ?
    !


    а как же "<"?
    Спустя 104 сек.
    знаю что у зенда есть болезнь иногда такое вставлять, но в основном они это делают очень явно типа :


                case 'sl':
    return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3));

    case 'mk':
    return ($number % 10 == 1) ? 0 : 1;

    case 'mt':
    return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3));

    case 'lv':
    return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2);

    case 'pl':
    return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2);

    case 'cy':
    return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3));


    та да, нехуй делать явно
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 24 октября 2010 г. 11:03, спустя 9 минут 42 секунды

    буээээээээээээээээ

Пожалуйста, авторизуйтесь, чтобы написать комментарий!