Найти тему
Skillbox

8 причин, почему программисты попадают в ад

Оглавление

У каждой профессии есть грехи, за которые можно попасть в геенну огненную; разработка — не исключение.

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

Котел с соленой водой: без комментариев

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

Такой код можно сравнить с соленой водой — пить можно, но однажды замечаешь, что у тебя камни в почках.

Котел с пельменями: из огня да в полымя

Поздравляю, вы увеличили свои шансы попасть в рай. Но если в комментах вы решили писать фразы вроде «не трогать», «хы-хы», «пельменей бы навернуть» или «сгоняю за пивком, а потом допишу», поздравляю — вы попали в котел с пельменями (да и те разварились и пригорели к днищу).

Котел с пробитым дном: GOTO

Операторы вроде GOTO сильно путают даже самых матерых программистов, потому что разобраться в бесконечных переходах часто бывает невозможно. И такие конструкции могут сбить с толку, если не заметить несчастный оператор:

10 a = 5;
20 a = a + 5;
30 GOTO 60
40 a = a * 235;
50 a = a / 567;
60 a = a * (a+2)
70 write a;

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

Котел неопределенности: рандомные имена

Чтобы не забыть, что находится в переменной, достаточно дать ей очевидное название: promocode, userID, houseSquare и так далее. Но вместо этого программисты любят придумывать совершенно необоснованные имена: SkyrimIsTheBest, Puten, Dimon, ProshayShkola, AK, asjdvirowda, Hermione, SupernaturalDean, SupernaturalSam, Gulag, YobaEtoTi и так далее.

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

Курс «Python-разработчик с нуля»
Практический 4-месячный курс для тех, кто хочет научиться основам программирования на универсальном, понятном и лаконичном языке с индивидуальным наставником, а также создать свою первую программу на Python и получить реальный опыт разработки.
Программа курса

Котел на медленном огне: переименованные функции

Предыдущий пункт доходит до такого абсурда, что люди создают новые функции, только чтобы изменить название старых. Например, так:

function bobby(message) {
alert(message);
}

Это не только путает других разработчиков, но и замедляет работу кода. А теперь представьте, что ваш котел стоит на медленном огне, а вы можете отключить функцию, которая за него отвечает. Но вы мало того что не знаете ее названия, так еще и пламя становится больше, когда вы ошибаетесь.

Котел на дровах: разные форматы имен

Представьте, что вы читаете чужой код и видите переменную carPenalty, через несколько минут встречаете car_penalty, а потом и penaltyCar с penalty_car в придачу. Да, порой бывает сложно придумать названия для схожих переменных, но можно же хотя бы не менять стиль.

Попробуйте как-то уточнить и назвать их toyotaPenalty, audiPenalty, ladaPenalty и так далее. В конце концов, никто не отменял массивы — penalty[‘toyota’, ‘lada’, ‘audi’].

Каждая переменная может содержать как воду, так и новые дрова, а вы можете подкинуть их в огонь — и можете спастись или усугубить ситуацию.

Адская банка шпрот: отсутствие форматирования

Бывает очень сложно разбирать код, в котором нет никакого форматирования — всё просто свалено в кучу:

<? include("database.php"); $query = "SELECT * FROM articles WHERE id='$_GET[id]'"; $result = mysqli_query($database, $query); if($result) {$array = mysqli_fetch_arrray($result); echo $array['text'];} else {echo "Ошибка!";} ?>

Хорошо, если он элементарный; но если это что-то сложное, то без мирового запаса пива не обойтись. Хотя уже давно есть возможность автоматически выровнять код, глаз все равно начинает дергаться, когда видишь что-то подобное.

Вам также будет интересно:
Экстремальное программирование или управление: как не путаться в терминах
Учимся верстать: что такое CSS
Языки программирования сейчас и в ближайшем будущем. Что и зачем учить

Так и вы будете спрессованы в одну кучу с другими мастерами сокращения.

Котел слияния: разное форматирование

Другая беда, когда форматирование есть, но оно разное:

<?include('database.php');
if(isset($_POST['id'])) {$id = $_POST['id'];}
if($id == 0) {
echo "Попробуйте ввести другой ID!";
}
if($id != 0)
{
$query = "SELECT * FROM articles WHERE id='$id'";
$result = mysqli_query($db,$query);
if($result)
{
$array = mysqli_fetch_array($result);
echo $array['text'];
}
else echo "Ошибка!";
}
?>

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

Гриль плохой поддержки

До этого мы говорили только о коде, но пора обсудить и готовые программы. Часто их делают спустя рукава, а чтобы избежать последствий, разработчики придумывают миллионы отмазок:

  • На моем компьютере все работает.
  • Наверно, это вирус.
  • Кто-то трогал мой код.
  • Вы что-то делаете неправильно.

На выходе мы получаем новый Assassin's Creed, которому нужен патч в первый же день релиза — отличный повод для барбекю.

Заключение

-2