Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 04:57:25

Страниц: [1] 2
Печать
Автор Тема: злоупотребляю хаками  (Прочитано 557 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Абырвалг    ↓ 
18 Октябрь, 2010, 05:20:34
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

ну или не хаки это, но в общем иногда хочется покороче написать.
 
вместо
 
PHP
if (!isset($params['defaults'])) {
  $params['defaults'] = array('foo' => 'bar');
}
 
PHP
isset($params['defaults']) || $params['defaults'] = array('foo' => 'bar';

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

подменяю
 
PHP
$this->logger && $this->logger->log('something');

вроде все нормально, но вот все чаще я пихаю более сложные условия
PHP
(empty($params['_controller']) || $params['_controller'] == self::DEFAULT_CONTROLLER) || $url .= '/' . $params['_controller'];
или даже
 
Javascript
$('multivariation_options')[show ? 'show' : 'hide']();
$(type == 'main' ? 'category' : 'second_category').value && $(type + '_ebay_category_cancel_button').show();

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

зы: а какие вы используете "хаки"?
« Последнее редактирование: 18 Октябрь, 2010, 05:20:15 от Абырвалг » Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
phpdude    ↓ 
18 Октябрь, 2010, 05:16:41 , спустя
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20790
Сила слова: 1.65

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

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Givi    ↓ 
18 Октябрь, 2010, 05:18:55 , спустя 2 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

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

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

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
phpdude    ↓ 
18 Октябрь, 2010, 05:21:03 , спустя 2 минуты 8 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: 20790
Сила слова: 1.65

пусть учится правильно писать код =)))
поддерживаю, тоже уже достало его флуд читать))
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Абырвалг    ↓ 
18 Октябрь, 2010, 05:21:57 , спустя 54 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

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

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
KaFe    ↓ 
18 Октябрь, 2010, 06:01:41 , спустя 39 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Сраный Тролль

Карма: -13346
Сообщений: 1727
Сила слова: -772.79

Абырвалг, если ты так будешь писать люди перестанут тебя понимать :)
Я максимум снисхожу до isset($kaxi) ? blabla : blabla .
Записан

Абырвалг    ↓ 
18 Октябрь, 2010, 06:05:37 , спустя 3 минуты 56 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

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

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
SpartakuS    ↓ 
18 Октябрь, 2010, 06:52:43 , спустя 47 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 32
Сообщений: 2444
Сила слова: 1.31

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


цска ебаное гавно.
NRG    ↓ 
18 Октябрь, 2010, 08:04:51 , спустя 1 час 12 минут 8 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

PHP
(empty($params['_controller']) || $params['_controller'] == self::DEFAULT_CONTROLLER) || $url .= '/' . $params['_controller'];
а я бы просто молча пиздил =)
пиздил, причем без всяких объяснений, пиздил бы до тех пор, пока ты сам бы не понял за что пиздят =))))
 
а если серьезно, то да это не годится, лично я в этих конструкциях не нахожу ничего сложного, но такой код не пропагандирую.
знаю что у зенда есть болезнь иногда такое вставлять, но в основном они это делают очень явно типа :
PHP
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

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

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Faster    ↓ 
19 Октябрь, 2010, 08:10:53 , спустя 12 часов 6 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 10
Сообщений: 954
Сила слова: 1.05

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

воспитываю дочь. С домами и деревьями  - не приставать.
master    ↓ 
23 Октябрь, 2010, 02:24:44 , спустя 4 дня 6 часов 13 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!

Квадратов сколько видишь ты?
Группа: Джедаи

Карма: 44
Сообщений: 2080
Сила слова: 2.12

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

NRG    ↓ 
23 Октябрь, 2010, 03:05:54 , спустя 41 минуту 10 секунд
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: нинзя

Карма: 777
Сообщений: 4700
Сила слова: 16.81

хаки-хуяки
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Абырвалг    ↓ 
24 Октябрь, 2010, 09:25:04 , спустя 18 часов 19 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

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

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
master    ↓ 
24 Октябрь, 2010, 10:11:37 , спустя 46 минут 33 секунды
НЕ ХУЕТА! ХУЕТА!

Квадратов сколько видишь ты?
Группа: Джедаи

Карма: 44
Сообщений: 2080
Сила слова: 2.12

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

Абырвалг    ↓ 
24 Октябрь, 2010, 10:53:37 , спустя 42 минуты
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

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

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

PHP
            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));
 

та да, нехуй делать явно
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Страниц: [1] 2
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd