Схема кода

Помогает мне разобраться в хитросплетениях чужого кода. Для неуправляемого приложения. 🙂

Часто сталкиваюсь с тем, что приходится дорабатывать код, по которому уже «потопталось» изрядное количество программистов. Разобраться в зарослях условий и циклов весьма сложно. Пришлось написать небольшую обработку, строящую схему кода, что-то похожее на схему документа в Ноутпаде++.

13 Comments

  1. jobkostya1c8

    Скажите, а в чем стандартное выравнивание по Ctrl+F не устраивает? Можно же задать в настройках платформы 1С 8 как обрамлять код, даже конструкции типа Если…ИначеЕсли…КонецЕсли и Для т=0 По Цикл…КонецЦикла;

    Или еще какие-то возможности есть?

    Только в некоторых случая стандартное выравние невозможно или нежелательно:

    1. Желтый куб на замке и открывать неохота (редко такое);

    2. Специфическое выравнивание в открытом модуле, которое потом полезет при сравнении-объединении с архивной копией конфигурации.

    Reply
  2. brr

    (1) kostyaomsk, устраивает, да не совсем. Куда девать простыни кода и комментарии между конструкциями? И возможно вы имели введу Alt+Shift+F? Ctrl+F это поиск.

    Reply
  3. ruslan0277

    (2) brr, ну в общем-то, кроме процедур и функций, можно так же сворачивать условия и циклы (параметры>модули>группировка), плюс есть замечательная конструкция, в которую удобно прятать тексты запросов:

    #Область ИмяОбласти

    бла-бла-бла

    #КонецОбласти

    Reply
  4. brr

    (3) ruslan0277, в 8.2 такой замечательной конструкции увы нет. И потом трудозатраты на это могут быть значительны. Вы придете к клиенту и несколько часов будете оформлять чужой код?

    Reply
  5. Новиков

    В копилку интересующимся: Трассировка кода V8

    Reply
  6. ruslan0277

    (4) а что мешает до 8.3 обновиться? ну естественно подписку на итс нужно иметь, так она у большинства (насколько я знаю) есть.

    Reply
  7. brr

    (5) Новиков, общее только иерархическое представление информации 🙂

    Reply
  8. brr

    (6) ruslan0277, бгг, это уже фантазии пошли. Вы клиенту так и говорите: «обновись до 8.3, а то я с тобой работать не буду»? И часть моего комментария про трудозатраты вы проигнорировали.

    Reply
  9. ruslan0277

    (8) действительно, упустил… про трудозатраты — самая большая проблема, это не выровненный код, а это решается быстро — ктрл+а, ктрл+шифт+ф. далее — клиента таки можно убедить сменить платформу (если подписка есть) и затраты тут минимальны — только время затраченное на обновление. а если работа идет через терминалку, то вполне можно уложиться минут в 20. с обновлением получаем плюшки в виде областей. а их уже по мере необходимости прописывать. вот как-то так.

    в общем я не вижу тут большой проблемы, хоть и не люблю «чужой» код.

    ЗЫ естественно, что если клиента ведете не только Вы, то могут быть проблемы в виде затирания наработок, форматирования и т.д. но это уже другая история — история про «криворукость» мальчиков/девочек по вызову.

    Reply
  10. brr

    (9) ruslan0277, для вас это другая история. А эта обработка писалась как раз про историю про «криворуких» мальчиков и девочек. Точнее про работу с их наследием.

    Клиента можно убедить, а можно и не убедить переходить на платформу. Какой вы все таки оптимист.

    Трудозатраты я имел ввиду на обрамление кода конструкциями Область/КонецОбласти. И с какого перепугу клиент согласится вам это оплачивать?

    Reply
  11. ruslan0277

    (10) brr, ну в общем ладно — у нас разные взгляды. да и к флуду уже скатываемся 🙂

    Reply
  12. brr

    (11) ruslan0277, данная обработка это инструмент. И относится к ней надо как к отвертке в магазине. Вы же не рассказываете продавцу в магазине что можете с помощью скрепки и зубочистки сделать то же что и вот эта отвертка за 15 рублей.

    Reply
  13. jobkostya1c8

    (2)

    возможно вы имели введу Alt+Shift+F? Ctrl+F это поиск

    пальцы помнят, а тут словами решил написать комбинацию клавиш. 🙂

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *