Руководство по очень плохому программированию

Наткнулся на забавный свод правил для программистов из разряда «Вредные советы». Решил перевести и заодно потренировать английский.

Оригинал An Idiots Guide to Really Really Bad Programming

Введение

Я заметил, что некоторые люди пишут хороший и ясный код, который хорошо документирован и легок для понимания. Так что я подумал, пора бы собрать основные техники действительно Очень Плохого Программирования в одном документе. Помните, что наиболее важны две вещи при написании по настоящему ужасного приложения — это наличие множества мелких ошибок, насколько это возможно, и внесение в код путаницы, сбивающей с толку, что делает путь исправления ошибок тяжелым и извилистым. Таким образом, вы можете максимально раздражать как пользователей так и программистов.

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

1 . Отключите все предупреждения компилятора
Если вы хотите написать действительно ужасный код , то это первое что нужно сделать. В конце концов, вы же не хотите что бы этот надоедливый компилятор ворчал целый день. Все настоящие программисты отключают предупреждения полностью.

2. Переменные
Новички должны гарантировать что все переменные глобальны. Это очень удобно для того чтобы держать их в одном месте. По мере того как вы будете становится более продвинутым, добавляйте локальные переменные с теми же именами что и глобальные, это позволит с легкостью создавать трудноуловимые ошибки.

3. Функции
Избегайте использования функций там, где это возможно. Гораздо легче написать один огромную портянку кода чем заниматься утомительным процессом разделения этого на несколько отдельных функций и передавать им параметры.

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

5. Имена переменных для новичков
Вы можете получить много удовольствия с именами переменных, пробуйте использовать наиболее бессмысленные имена которые вы можете придумать, Fred — это одно из моих избранных. Но всегда нужно включать небольшое количество полу осмысленных имен, чтобы заставить других программистов гадать.

6. Продвинутые техники именования переменных
В идеале пробуйте придумывать имена переменным настолько похожими насколько это возможно. Другая отличная идея это создавать две переменных с одинаковыми именами, одна из которых заканчивается на «1», а другая на «I», они очень легко собьют с толку при взгляде на них и заставят других программистов гадать.

Например : SlopeI и Slope1. Однако, вы можете достигнуть лучших результатов если будете иногда использовать метки Horizontal подразумевая Vertical и наоборот, этому действительно будет рад любой читатель вашего кода, вызывая часы развлечения и удовольствия , пока они будут пытаться разгадать это.

7. Инициализация
Играйте в программистское бинго позволяя всем вашим переменным начинаться с любого значения оставшегося в памяти от предыдущего приложения. Великолепная забава.

8. Проверка граничных условий
В любом случае разрешайте пользователям использовать значения которые они хотят, если они введут stupid значение то программа может упасть. В самом деле? Чего они еще хотят?

9. Комментарии
Самым лучшим для новичка будет все время избегать комментариев, они тратят ценное пространство и время на печать. Когда вы станете более продвинутым вы сможете добавлять комментарии которые будут полностью бесполезными, в силу их очевидности такие как:
i++; // приращение i
Однако, более продвинутые комментарии должны быть зашифрованными насколько это возможно, такие как:
i++; // внутренняя проверка chicken строки

10. Раскладка
Нужно быть действительно самоотверженным для того чтобы сделать раскладку приложения действительно плохой. Самое важное НИКОГДА и НИГДЕ на быть последовательным. Независимо от выбранной философии раскладки, не забывайте менять ее регулярно. Продвинутые программисты должны помнить что длительное использование одной раскладки достаточно для любого другого программиста чтобы привыкнуть к этому, прежде чем изменить на что-нибудь совершенно другое.

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

12. И наконец ничего никогда не тестируйте
Не заботьтесь о тестировании вашего когда, просто подождите когда люди сам начнут жаловаться, таким образом вы узнаете какая из ошибок наиболее часто встречается. Блестяще!

Я пытался охватить большинство аспектов Действительно Плохого Программирования, но я так же уверен что многие из вас могут придумать еще немного. Но не падайте духом если через некоторое время вы начнете терять хорошие привычки, не нужно много усилий чтобы вернуться на плохой путь.

Оговорки
Я никоим образом не заявляют что я никогда не писал плохой код, и я не говорю что кто-либо еще с CodeProject так делает. Просто получите немного веселья.

Это мой первый перевод и на нем останавливаться не собираюсь. Надо же как-то английский тренировать.