У нас вы можете посмотреть бесплатно Выходя за рамки синтаксиса: понимание логики операторов в Apex Salesforce или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Обучение/курс/мастер-класс по Omnistudio: https://moniquedev.com/ Почему это действительно важно? Операторы — это далеко не просто детали синтаксиса. Они определяют, как Apex вычисляет, сравнивает и упрощает вычисления внутри оператора IF. Часто мы сосредотачиваемся на сложной архитектуре и забываем, что самые незаметные ловушки кроются в этих базовых элементах. Давайте разберемся с этими ловушками? 1. МАТЕМАТИКИ (Пицца Apex) +, -, *, / Здесь применяется практическое правило: целое число, деленное на целое число, равно целому числу. Если разделить 10 кусочков пиццы на 3 человек (10 / 3), Apex вернет 3. Остальное? Он это игнорирует. Хотите точность (3,33)? 1. Принудительное использование десятичных чисел в Apex: 10.0 / 3. 2. ПРИСВОЕНИЕ (Осторожно, циклы) =, +=, -= "total += value" — это сокращение от "total = total + value". Опасность здесь заключается в том, что вы забываете о накоплении состояния (изменяемости) с каждой итерацией цикла. В длинном коде потеря этого значения фатальна. 3. ПРИМИТИВНОЕ РАВЕНСТВО (Основы, которые работают) ==, != Без проблем работает с числами, логическими значениями и датами, поскольку сравнивает значения. Совет по чистоте кода: для строк "равенство" может привести к ошибке, если оно возвращается как null. Предварительно проверьте с помощью String.isBlank() или используйте безопасную навигацию. Защитный код всегда выигрывает. 4. СУБЪЕКТНОЕ РАВЕНСТВО (Идентичность против состояния) Здесь кроется путаница. Сравнение "acc1 == acc2" проверяет ДАННЫЕ, загруженные в память (состояние объекта). Но в объектно-ориентированном программировании важный вопрос: "Это одна и та же запись?" Надежный ответ — сравнение ИДЕНТИФИКАЦИИ: a.Id == b.Id. Id — это ДНК; поля — это просто текущая одежда. 5. ЛОГИЧЕСКИЕ ОШИБКИ: && (AND), || (OR) Apex использует "короткое замыкание". В &&, если первое условие ложно, второе даже не оценивается. Используйте это в своих интересах, чтобы избежать NullPointerException: if (acc != null && acc.Name == 'X') Если значение равно null, выполнение останавливается на этом этапе. Быстрая защита. 6. БЕЗОПАСНАЯ НАВИГАЦИЯ: ?. Оператор ?. — это лекарство от "каскада IF" (кода, похожего на лестницу). Если обнаруживается нулевое значение, выполнение прерывается, и функция возвращает null, ничего не нарушая. Пример: acc?.Owner?.Name Это упрощает код и делает его более читабельным. 7. ПРИОРИТЕТ (Сочувствие к себе в будущем и/или к коллеге, который придет после вас) Прочитав условие, вы остановились и подумали: «Подождите, оператор И выполняется до или после оператора ИЛИ?» Не пытайтесь быть героем логики. Используйте скобки. Помимо избежания неожиданностей, это делает намерение явным для того, кто будет поддерживать код (это можете быть вы через 3 месяца, и я не знаю, как вы, но я не помню всего на следующий день, не говоря уже о нескольких днях спустя). Читабельность превыше всего. Резюме: Операторы определяют реальное поведение вашего кода. Хорошее понимание основ позволяет избежать усеченного деления, вводящего в заблуждение сравнения и ужасного NullPointerException. Есть что добавить? Оставляйте комментарии и помогайте мне в этом процессе обучения! #ApexProgramming #SalesforceDeveloper #CleanCode #ApexTips #codingbasics #salesforce #salesforceapex