Истории об исправлении ошибок так же увлекательны, как и сериалы о Гарри Поттере — холст темный, персонажи запутанные, и много колдовства. 🪄

Я долго думал об этом. Почему бы не поделиться историями об исправлении ошибок в блогах? Насколько это может быть интересно, я верю, что многие из нас выиграют от этого. Начну серию с очень известного — return void в Dart.

Взгляните на этот невинный фрагмент кода Dart:

bool shouldInitializeSdk = true;

void checkAndInitializeSdk() {
 if (!shouldInitializeSdk) return; 
 initializeSdk();
}

void initializeSdk() {
 // some code
}

У пустых функций есть проблема — вы можете или не можете вернуть что-то, что является void. Итак, если вы забудете добавить маленькую точку с запятой (;) после оператора return в строке № 4, код все равно скомпилируется (и не будет работать, конечно), потому что вместо этого вы вернете другую void его выполнения.

Это глючная версия того же кода Dart:

bool shouldInitializeSdk = true;

void checkAndInitializeSdk() {
 if (!shouldInitializeSdk) return 
 initializeSdk();
}

void initializeSdk() {
 // some code
}

Обе версии синтаксически правильны и будут успешно скомпилированы, но в этом случае только первая из них будет работать должным образом. Даже добавление отладчика в сцену только больше вас запутает.

Как обнаружить эти пустые ошибки?

Один из способов — искать любые странные отступы, которые показывает ваша IDE. Другой способ — не быть нубом (как я).

У меня есть еще много интересных рассказов, которыми я хочу поделиться. Оставайтесь на связи, чтобы узнать больше об этом. Давайте встретимся в другом блоге. Удачного кодирования!