Запутываем PHP-код без зазрения совести

Опубликовано: 14.12.2014 14:49
Просмотров: 6226

Несколько способов уничтожить всякую структуру программы, дабы никто не смог её поддерживать. Как, зачем и почему - читаем далее!

 

Хаос в коде, либо как стать единственным властелином своей программы

Приветствую вас, наши дорогие читатели SEO-Блога. Сегодня поговорим о том, как можно уничтожить всякое понятие структуры кода. Станем хардкорным ниндзя, в руках у которого только блокнот и ничего более! Наша задача - как можно сложнее сделать свою программу, порушить все её внутренности и не дать плохим людям её дорабатывать! Поехали!

Хорошего кода мало не бывает

Бывает, что вы пишите код. Один и тот же код. Много раз. Очень много раз. И на каждой странице мы вызываем и вызываем его. А иногда вызываем по 3 или 4 раза. Нормальный программист создаст функцию, верно? и перенесёт в неё весь повторяющийся код. А мы так не сделаем, нет, ни за что! Пусть мучается, если залезет к нам в код! Оценим все плюсы этого подхода:

  1. Если в одном месте что-то поменять - в другом ничего не изменится. Вот так тебе и надо, наглый воришка сервера! Мучайся!
  2. Скорость работы скриптов увеличивается в несколько раз. Дааа, пусть этот глупец почувствует, как долго нужно ждать, чтобы победить наш сайт!

Переобозначение - ключ к успеху

Отличным стилем является переобозначение переменных. Привожу пример хорошего тона хардкорного ниндзи:

1
2
3
4
$a = 'переменная 1';
$b = 'переменная 2';
$a = $b;
echo $a; //выведем переменная 2 

Ещё лучше будет, если эти переменные вы переобьявите несколько раз в коде! Вот это шутка то будет! А верхняя ступень крутости - переобьявить что-нибудь системное, типа TRUE = FALSE! Вот это умора то будет!

Называем переменные в соответствии со стилем "хардкорный ниндзя"

Никогда не используйте нормальные названия, когда решаете создавать переменные. Никаких "$surname_users"! Используйте "$su"! А ещё лучше что-нибудь эдакое "$a1". Потом где-нибудь присвойте её значение другой переменной и начинайте использовать созданную копию! Это же так круто, запутывать свою программу, не правда ли? Я испытываю наслаждение, когда кто-то сутками мучается в жалких попытках разгребсти моё идеальное творение.

Называем функции по теории

А давайте сделаем функцию, которую назовём СозданиеПользователя(), которая на самом то деле будет выводить системное время, а? Или ещё лучше - удалять информацию о всех юзерах! Вот смешно то будет, когда кто-то в наглую очистит всю базу данных!

Красивое название класса? Не, не слышал

Юзаете классы? Тогда это для вас. Не пишите класс Human. Напишите класс Hyuman, а потом сделайте ещё один класс - Humyan! Пусть они будут разные, с одинаковыми функциями, но разной логикой! это же так круто, портить всем настроение, верно?

Глобально или локально - какая разница?

А давайте напишем глобальную переменную $A1, а затем внутри функции создадим ещё и локальную $A1, как вам такой поворот? Почувствуйте, как сложно различать что и где! Ха ха, бутылка рома!

Старые комментарии - хорошие комментарии

Если вы изменили какую-то функцию, для которой был написан комментарий - не меняем его! Пусть комментарий останется старым. Ещё несколько раз вы переделаете функционал, и всё будет просто в ажуре. Коммент совершенно отличается от того, что есть на самом деле. Вот он, путь хардкорного ниндзи!

Ещё не маскируете код? Тогда мы идём к вам!

Давайте включим участок кода, который вроде бы рабочий но на деле является закомментированным. без подсветки кода никто не разберётся. Примерчик:

1
2
3
4
5
6
7
8
9
10
for(j=0; j{
total += array[j+0 ];
total += array[j+1 ];
total += array[j+2 ]; /* Этот участок
total += array[j+3]; * кажется рабочим
total += array[j+4]; * но это комментарий
total += array[j+5]; */
total += array[j+6 ];
total += array[j+7 ];
}

Никто не узнает, как она работает

Никогда, никогда не пишите в комментариях что делает ваша программа или данный кусок кода! Пишите просто техническую часть, типа "Select из пользователей"! Ай да никто и не узнает, зачем вам этот код.

Исключения - залог успеха

Обожаю в конце скрипта приделывать какие-либо костыли. А вот возьму ка я и в конце сделаю проверку на последний элемент. Если его величина будет меньше 5, то давайте общую сумму уменьшим на парочку единиц. И пусть узнают почему цифры всегда скачут из стороны в сторону!

Нашли глюк - прячем его

Если вы знаете баги в вашем коде, то никогда не описывайте их в комментариях. не пишите информацию о том, как можно было бы переделать его. Зачем? После всего прочитанного только вы сможете поддерживать эту программу, не беспокойтесь!

Стараемся сделать как можно сложнее

Можно использовать трехмерный массив? Используйте! Объявляйте переменные прямо в циклах, никогда не очищайте их, перезаписывайте, не обнуляйте ничего и нигде. Пишите функции так, чтобы они занимали как минимум 150-200 строк. А если в каждой строке ещё будут какие-нибудь вычисления, что в конечном счёте совсем не нужны - супер! Вы становитесь мастером!

 

Здесь я подумал, что вы уже стали на верный путь "хардкорного ниндзи"! В следующих статьях я продолжу серию уроков по запутыванию вашего кода, ждите! Надеюсь, что статья вам понравилась, друзья мои!