Способ создания отступов при формировании json/xml файлов

1. VladC# 65 06.12.24 08:00 Сейчас в теме
При создании json/xml файлов, которые могут быть довольно громоздкими, мне давно пришла в голову идея повторять иерархию файла в 1с-коде с помощью условного оператора, например:
ЗаписьJson.ЗаписатьНачалоОбъекта();

ЗаписьJson.ЗаписатьИмяСвойства("id");
ЗаписьJson.ЗаписатьЗначение(ДанныеДокумента.НомерЗаказа);

ЗаписьJson.ЗаписатьИмяСвойства("title");
ЗаписьJson.ЗаписатьЗначение(ДанныеДокумента.НаименованиеМероприятия);

	...		

ЗаписьJson.ЗаписатьИмяСвойства("company_inn");
ЗаписьJson.ЗаписатьЗначение(ДанныеДокумента.КонтрагентИНН);

ЗаписьJson.ЗаписатьИмяСвойства("company_kpp");
ЗаписьJson.ЗаписатьЗначение(ДанныеДокумента.КонтрагентКПП);

Если Истина Тогда
	ЗаписьJson.ЗаписатьИмяСвойства("files");
	ЗаписьJson.ЗаписатьНачалоМассива();
	
	Пока Файлы.Следующий() Цикл
		ЗаписьJson.ЗаписатьНачалоОбъекта();
		ЗаписьJson.ЗаписатьКонецОбъекта();
	КонецЦикла;
			
	ЗаписьJson.ЗаписатьКонецМассива();
КонецЕсли;
		
ЗаписьJson.ЗаписатьКонецОбъекта();
Показать


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

Кто что думает?


Отличный способ, сам так делаю или возьму на заметку (16.67%, 1 голосов)
16.67%
Неплохо, но зачем, если есть tab? (0%, 0 голосов)
0%
Всё зависит от мнения клиента (0%, 0 голосов)
0%
Вообще не вижу смысла в дополнительных отступах (83.33%, 5 голосов)
83.33%

Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. RustamZz 06.12.24 09:08 Сейчас в теме
(1) Не понимаю зачем в 4 строках делать какие-то отступы когда без них все наглядно
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, МассивСтруктурКонтрагенты, НастройкиСериализации);
СтрокаJSON = ЗаписьJSON.Закрыть();
nomad_irk; user1936660; +2 Ответить
10. laperuz 47 06.12.24 09:49 Сейчас в теме
(9) Ага, а начиная с 8.3.23 это вообще в 1 строку делается в большинстве случаев

СтрокаJSON = ЗаписатьЗначениеJSON(МассивСтруктурКонтрагенты);
11. RustamZz 06.12.24 09:51 Сейчас в теме
(10) Спасибо, где-то слышал, но не отложилось.
2. glek 120 06.12.24 08:15 Сейчас в теме
хм. Я вообще "платформенным" преобразователем пользуюсь и вручную ясон не формирую. А зачем такие сложности то?
nomad_irk; user1936660; +2 Ответить
3. VladC# 65 06.12.24 08:17 Сейчас в теме
(2) это тема про случаи когда преобразователь не нужен/не подходит.
5. user1936660 06.12.24 08:20 Сейчас в теме
(3)
не нужен/не подходит
Ну приведи пример, что-ли.
6. VladC# 65 06.12.24 08:25 Сейчас в теме
(5) когда нужно отправить произвольные данные
7. user1936660 06.12.24 08:27 Сейчас в теме
(6)
когда нужно отправить произвольные данные
Это как?
4. user1936660 06.12.24 08:18 Сейчас в теме
И при измении структуры файла, например при добавлении внутренней секции, бросаться переформатировать весь код, ага.

Пользуйся сериализатором объекта целиком, не занимайся херней
nomad_irk; user2116971; +2 Ответить
8. user1936660 06.12.24 08:54 Сейчас в теме
Вот, кстати, интересное наблюдение.

Те, кто высказываются "против" - аргументируют дополнительными комментариями. Те, кто указывает "за" - молчат. Cлова от восторга забывают, наверное. А может просто сформулировать не могут?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот