У каждой профессии есть грехи, за которые можно попасть в геенну огненную; разработка — не исключение.
Качественный код — это то, к чему должен стремиться каждый уважающий себя программист. Но то ли мы ни к чему не стремимся, то ли игнорируем элементарные правила хорошего стиля, потому что код, за который нужно отправлять людей в ад, можно встретить очень часто.
Котел с соленой водой: без комментариев
Часто бывает так, что понять, что делает код, очень сложно, даже если ты писал его сам. Поэтому всегда оставляйте комментарии, чтобы вас не ненавидели другие разработчики. Вы и сами будете готовы бить себя плеткой-семихвосткой, когда понадобится что-то поправить.
Такой код можно сравнить с соленой водой — пить можно, но однажды замечаешь, что у тебя камни в почках.
Котел с пельменями: из огня да в полымя
Поздравляю, вы увеличили свои шансы попасть в рай. Но если в комментах вы решили писать фразы вроде «не трогать», «хы-хы», «пельменей бы навернуть» или «сгоняю за пивком, а потом допишу», поздравляю — вы попали в котел с пельменями (да и те разварились и пригорели к днищу).
Котел с пробитым дном: 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, которому нужен патч в первый же день релиза — отличный повод для барбекю.