Истории об исправлении ошибок так же увлекательны, как и сериалы о Гарри Поттере — холст темный, персонажи запутанные, и много колдовства. 🪄
Я долго думал об этом. Почему бы не поделиться историями об исправлении ошибок в блогах? Насколько это может быть интересно, я верю, что многие из нас выиграют от этого. Начну серию с очень известного — 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. Другой способ — не быть нубом (как я).
У меня есть еще много интересных рассказов, которыми я хочу поделиться. Оставайтесь на связи, чтобы узнать больше об этом. Давайте встретимся в другом блоге. Удачного кодирования!