Борьба с излишествами or suxx

Совершенно мудацкая конструкция:

mysql_query($sql) or die(mysql_error());

Половина новичков потом пойдёт на форум и спросит: шо это? шо это? И куча знатоков их будет парить: здесь мы, дескать, используем особенность логического оператора OR, который вычисляет правое выражение только если ложно левое.

Пересраться! Только нахуй мы эту особенность используем? С какого бодуна у нас логические операторы занимаются делами управляющих конструкций? Потому что это песдато? Потому что мы рульные программисты, умеем писать выебонистый код?

В каждом вшивом «самоучителе» два абзаца потратят на то что, вот мол, нужно писать так и почему это так работает. Потратьте вы эти два абзаца лучше на что-нибудь полезное. Полезного в большинстве самоучителей — ноль.

if (!mysql_query($sql)) die(mysql_error());

ЕСЛИ запрос НЕ прошёл, ТО вывести ошибку. Стандартная конструкция, читаемая и всем понятная.

Вас этот OR зацепил — выполнись или убейся? Ух ты как охуенно, какие мы остроумные. Подотритесь подобным остроумием!

Или борцам с излишествами в очередной раз всрались лишнии 4 символа? Убейтесь! Потом эти люди после себя в рабочих проектах оставляют пассажи вроде (i++)-(i=5)++.

У многих от следующего кода нервная дрожь начинается.

$result = mysql_query($sql);
if ($result === false) {
	echo mysql_error();
	exit();
}

Уебаться! Вот кретин, разнёс на 5 строчек то, что можно на одной написать было. С FALSE сравнивает, ой, га-га-га.

В жопу себе эту одну строчку засуньте!

Немного багов

Детские ошибки, которые в последнее время отъели у меня немало времени и нервов. Разрабатывая сложные вещи не забывайте и о подобной чепухе. (Все примеры сведены к бессмысленному минимально иллюстрирующему коду).

OR

В PHP, как самом умном, результатом операторов && и || является TRUE/FALSE. Казалось бы, логично, что результатом логического оператора является логическое значение. Однако, другие языки развратили меня тем, что возвращают в этом случае значение одного из аргументом.

В итоге строка $x || $y || $z вместо целочисленного значения одной из переменных, вернула предательский TRUE. После нелёгких поисков пришлось одну строку заменять на кучу ветвлений.

Остальной текст под катом

Форумы

  • A: Здравствуйте, кто знает, как к числу 2 прибавить другое число, тоже 2?
  • B: 2+2
  • A: Огромное спасибо!
  • A: Это снова я. У меня несколько изменилась задача, теперь к числу 2 нужно прибавить число 3.
  • B: 2+3
  • A: Благодарю. И снова проблема, нужно к 2 прибавить уже не 3, а 4.
  • C: А какие есть собственные догадки на этот счёт?
  • A: Блядь, пидараз ёбаный! Не можешь помочь, так молчи!
  • A: мне нужно написать сочинение по войне и миру, кто нибудь поделитесь текстом.
  • B: lib.ru/voina_i_mir.txt
  • A: Блядь! В чём смысл форумов? Чтобы кидать в них ссылки на другие сайты? Иди нахуй.
  • C: Еh bien, mon prince. Genes et Lucques ne sont plus que des apanages, des поместья, de la famille Buonaparte… 3 500 Kb …
  • A: огромное спасибо, хоть кто-то помог! Только слишком много букаф, я ничего не понимаю. Напишите сочинение за меня.
  • Здравствуйте, у меня вопрос: … . Заранее огромное спасибо!
  • (через 2 минуты) Кто нибудь знает?
  • (через 3 минуты) up
  • (через 5 минут) я думал здесь профи
  • (через 10 минут) идите нахуй все!!

ИБМ побрился

По слухам Аракле всё-таки купила САН.

По мнению ряда самопровозглашённых экспертов теперь всем будет хорошо. По мнению других, теперь нам всем пиздец.

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

Мы попросили прокомментировать новость известного веб-аналитика Михаила Андреева.

— Хуёво. Теперь жопа будет. — кратко описал ситуацию М.А.

С чего начать писать свою CMS?

Свою CMS нужно начинать с чёткого ответа на вопрос: а нахуй она мне вообще нужна?.

Тесты-хуесты

Или вот, допустим, тесты. Нет ничего уёбищнее тестов. Я говорю не о unit-тестах, хотя они тоже весьма неоднозначны. И не о тестах на беременность, хотя тоже приятного мало. Говорю о тестах на так называемые «знания». Особенно для программистов.

Внимание вопрос: что вернёт следующий код?

(++i) - (i++) * (--b) + (b = 5) - (i = 6)

Единственный вменяемый ответ здесь может быть: а с какого вообще хуя мне это знать?!

Остальной текст под катом

JS: Убираем onclick из html

Задача

Сделать такой вот список. Несколько скрытых пунктов. Жмём на заголовок — текст раскрывается, жмём ещё раз — закрывается.

Усложняем задачу:

1. Тексты должны не просто открываться, а плавно раскрываться.
2. Если нажать на заголовок в том момент, когда блок раскрывается, он должен начать с той же позиции закрываться.
3. Еще быстро нащёлкать несколько заголовков, блоки должны открываться/закрываться параллельно, не мешая друг другу и уж тем более работе с другими элементами.

Остальной текст под катом

Потихоньку подучиваю Java

В Яве нет значений по умолчанию для аргументов методов. То есть так нельзя:

public int method(int a, int b = 1, int c = 2) {
	return a + b + c;
}

Реализовывать это нужно через жопу перегрузку:

public int method(int a, int b, int c) {
	return a + b + c;
}
 
public int method(int a, int b) {
	return method(a, b, 2);
}
 
public int method(int a) {
	return method(a, 1);
}

Если подумать, то да, значениям по умолчанию может быть сложно ужиться в языке с такой вещью, как перегрузка методов. Однако, для большей уверенности полез в гугл → «java параметры по умолчанию». На достаточно большом количестве форумов задаётся вопрос, есть ли эти самые значения по умолчанию или нет. И да, действительно, их нет. Но что самое интересное, поголовно все отвечающие (в большинстве заслуженные дядьки) делают удивлённые o_O и спрашивают «а где такое вообще может понадобиться?».

Вот так вот, казалось бы очевидная и всем известная вещь. А вот и не очевидная и известная далеко не всем.

Вернулся в свой город знакомый до слёз

А тут всё тот же срач, что был 3 недели назад, когда уезжал…