#std764

Строковые константные выражения в коде: требования по локализации

1.

Не локализуйте строковые константы с внутренними идентификаторами, которые не выводятся пользователю. К таким строкам не применяйте НСтр.

Строковые идентификаторы именуйте по правилам идентификаторов встроенного языка.

Пример

Возврат "ОперацияВыполненаУспешно";
Оповестить("ЗаписьФайл", Новый Структура("Событие", "ВерсияСохранена"), ФайлСсылка);

Неправильно

Если Статус = "Отгрузка клиентам" Тогда ...

Правильно

Если Статус = "ОтгрузкаКлиентам" Тогда ...

Это требование действует и для строковых идентификаторов в текстах запросов и выражениях СКД.

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

Правильно

РезультатЗагрузки = ЗагрузитьФайлИзИнтернета(...);

Если РезультатЗагрузки = РезультатЗагрузкиУспешно() Тогда
    ...
ИначеЕсли ...
КонецЕсли;

Функция РезультатЗагрузкиУспешно()
    Возврат "Успешно";
КонецФункции

Так снимается неоднозначность, когда идентификатор в коде визуально выглядит как пользовательская строка без НСтр.

2.

Не используйте в алгоритмах строковые представления объектов и типов.

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

2.1.

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

Неправильно

Если Строка(ЮрФизЛицо) = "Юридическое лицо" Тогда

Правильно

Если ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо") Тогда

Подробнее: Работа с предопределенными значениями.

Проверки

#acc:334 #acc:1297 #acc:1298 #acc:1299 #acc:1354

Источник

https://its.1c.ru/db/v8std#content:764