Несколько способов уничтожить всякую структуру программы, дабы никто не смог её поддерживать. Как, зачем и почему - читаем далее!
Хаос в коде, либо как стать единственным властелином своей программы
Приветствую вас, наши дорогие читатели SEO-Блога. Сегодня поговорим о том, как можно уничтожить всякое понятие структуры кода. Станем хардкорным ниндзя, в руках у которого только блокнот и ничего более! Наша задача - как можно сложнее сделать свою программу, порушить все её внутренности и не дать плохим людям её дорабатывать! Поехали!
Хорошего кода мало не бывает
Бывает, что вы пишите код. Один и тот же код. Много раз. Очень много раз. И на каждой странице мы вызываем и вызываем его. А иногда вызываем по 3 или 4 раза. Нормальный программист создаст функцию, верно? и перенесёт в неё весь повторяющийся код. А мы так не сделаем, нет, ни за что! Пусть мучается, если залезет к нам в код! Оценим все плюсы этого подхода:
Если в одном месте что-то поменять - в другом ничего не изменится. Вот так тебе и надо, наглый воришка сервера! Мучайся!
Скорость работы скриптов увеличивается в несколько раз. Дааа, пусть этот глупец почувствует, как долго нужно ждать, чтобы победить наш сайт!
Переобозначение - ключ к успеху
Отличным стилем является переобозначение переменных. Привожу пример хорошего тона хардкорного ниндзи:
Ещё лучше будет, если эти переменные вы переобьявите несколько раз в коде! Вот это шутка то будет! А верхняя ступень крутости - переобьявить что-нибудь системное, типа 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 строк. А если в каждой строке ещё будут какие-нибудь вычисления, что в конечном счёте совсем не нужны - супер! Вы становитесь мастером!
Здесь я подумал, что вы уже стали на верный путь "хардкорного ниндзи"! В следующих статьях я продолжу серию уроков по запутыванию вашего кода, ждите! Надеюсь, что статья вам понравилась, друзья мои!
Если статья была для Вас полезной - Поделитесь ссылкой!
Этот вариант был бы хорош для веб студий, у которых собственная cms. Во-первых, ваша cms не пойдет гулять по сети, а во-вторых заказчики будут возвращаться только к вам за доработкой т.к. там не кто не разберется.
Хорошая статья, спасибо
Статья великолепная. Я больше смотрел не на сами примеры, а на ваш смешной текст. Не ну реально смешно написали. На а если по делу. То запутывать код не всегда нормально. Это же над самому всё запомнить что, где и как. А вообще лучше писать сайты по нормальному без запутывания, а потом небольшой программкой сделать код не читаемым вообще. К примеру закодировать так чтобы веб сервер понял, а юзер нет =)
Статья кажется хорошей лишь до того момента когда тебя нанимают разгребать чужое "белье"... Я думаю если бы в наше время существовала святая инквизиция то она бы распинала на кресте как раз именно таких Php-нинзя
А вообще лучше писать хороший чистый код а свои CMS-ки или любые другие проекты просто делать "под ключ" и не париться
(под ключ имеется ввиду не зашифрованные коды а продажа доступов от админок лежащих в сохранности на собственных хостингах)
из Kiev, Ukraine, 0200030.52340000000003850.4501http://maps.google.com/maps?z=15&q=50.4501,30.523400000000038
Комментарии (4)