Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно читать код?) / 22 сообщений из 22, страница 1 из 1
18.07.2018, 15:49
    #39675742
VinniL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
Добрый день, форумчане.
Дайте совет.

Есть процедура на 1500 строк, и куча таблиц из которых это все собирается.
Мне нужно деконструировать все это хозяйство, разобраться где-чего-откуда, и дальше собрать на втором сервере из похожих(но других таблиц).

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

Может кто знает правильный и верный способ разбора больших скриптов?
Статья есть может у кого по этому поводу?

Пока из подручных инструментов только блокнот и файл Excel.


Заранее благодарю.
...
Рейтинг: 0 / 0
18.07.2018, 15:54
    #39675746
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
VinniL,

авторВ общем, пытаясь разобраться в значении одного поля, раскручиваю одну цепочку, потом вторую, третью, уже забываю первую, потом теряется мысль и через пару часов я окончательно могу запутаться.
еште шоколад, помогает

авторЕсть процедура на 1500 строкогооо
...
Рейтинг: 0 / 0
18.07.2018, 16:10
    #39675757
StarikNavy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
на бумажке рисовать структуру/схему
в процедуре писать комментарии
...
Рейтинг: 0 / 0
18.07.2018, 16:45
    #39675771
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
VinniLВ общем, пытаясь разобраться в значении одного поля, раскручиваю одну цепочку, потом вторую, третью, уже забываю первую, потом теряется мысль и через пару часов я окончательно могу запутаться.Читать, рисовать схемы, комментировать.
Освоить клавиатурные быстрые команды, переключаться между несколькими окнами, в которых писать фрагменты запросов.
Заводить для каждого таска отдельный файл скриптов, в который записывать скрипты, и разные свои мысли по таску, для больших тасков может быть и не один файл, и даже отдельная папка. Я файлы завожу с номером и именем таска из TFS, типа "02712 Отчёт для идиотов №3.sql"
Сдкелать так, что бы вас не отвлекали какое то время, а то есть вариант этой картинки, где мысль обрывается на "Привет, я там послал тебе письмо, потом прочитаешь?"
...
Рейтинг: 0 / 0
18.07.2018, 18:54
    #39675837
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
1. Используйте среду разработки, позволяющую делать свертки кода с подсветкой найденных фрагментов и поддержкой регулярных выражение (SSMS 2016+, например или VS).
2. Используйте форматировщики кода, благо есть бесплатные вроде Apex, которые можно подгонять под себя для инструментов, указанных выше.
3. Комментируйте код и переменные.
...
Рейтинг: 0 / 0
18.07.2018, 18:55
    #39675838
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
4. Используйте метки редактора.
...
Рейтинг: 0 / 0
18.07.2018, 19:12
    #39675846
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
alexeyvgЧитать, рисовать схемы, комментировать.++
для сложных моделей/структур пока что самое наглядное, ничего лучше не придумали.
класскика в общем, как в школе, там педагоги знают как давать детям знания чтобы понималось и усваивалось с учётом ассоциативных способностей разума.

так что А4/А3 с ручкой или электронный эквивалент - и вперёд.
...
Рейтинг: 0 / 0
18.07.2018, 19:58
    #39675865
mnbvcx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
alexeyvgЯ файлы завожу с номером и именем таска из TFS, типа "02712 Отчёт для идиотов №3.sql"

А как версии скрипта отчета учитываете?
Ну, типа, был работающий вар-т, а теперь нужно его доделать/переделать?
Если гит не использовать.
...
Рейтинг: 0 / 0
18.07.2018, 20:37
    #39675886
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
mnbvcxalexeyvgЯ файлы завожу с номером и именем таска из TFS, типа "02712 Отчёт для идиотов №3.sql"

А как версии скрипта отчета учитываете?
Ну, типа, был работающий вар-т, а теперь нужно его доделать/переделать?
Если гит не использовать.Разработка в проектах в Visual Studio, все изменения в сорс-контроле (TFS, VSS, а git не использовал, но студия работает и с ним), изменения привязываются к таскам (а таски к проектам, и т.п., но это уже менеджерское)
Всегда можно посмотреть, как и кем менялась процедура для отчёта за последние 5 лет, для чего, и какой начальник попросил эту функциональность...
Всё делать получается намного быстрее.

Я вообще так работаю с конца 90х, ещё не в одной компании не резали базы на-живую :-)
...
Рейтинг: 0 / 0
19.07.2018, 05:43
    #39675959
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
VinniLМожет кто знает правильный и верный способ разбора больших скриптов?


Самый правильно-верный = написать вместо большого скрипта маленький.

1. Один запрос в 1500 строк - это редкость невероятная.
2. А куча запросиков тупо переписывается "по-одному".
...
Рейтинг: 0 / 0
19.07.2018, 09:39
    #39676037
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
aleks2221. Один запрос в 1500 строк - это редкость невероятная.У ТСа не запрос, а процедура на 1500 строк.
Microsoft Visio в помощь
VinniLВ общем, пытаясь разобраться в значении одного поля, раскручиваю одну цепочку, потом вторую, третью, уже забываю первую, потом теряется мысль и через пару часов я окончательно могу запутаться.Разбирайся не "по полям", а "по блокам". Раздели (образно) процедуру на несколько моментов/шагов
...
Рейтинг: 0 / 0
19.07.2018, 09:42
    #39676041
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
шК0ДЕР,

авторMicrosoft Visio в помощь

чем только народ не развлекается, лишь бы не работать
...
Рейтинг: 0 / 0
19.07.2018, 09:45
    #39676046
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
TaPaKчем только народ не развлекается, лишь бы не работать
Да, в визио можно много времени потратить рисуя блок-схемы, но я имел в виду простой, легкий в обращении и доступный инструмент, который может помочь в проблеме по сабжу, особенно, если у автора такой запутанный код
...
Рейтинг: 0 / 0
19.07.2018, 09:46
    #39676049
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
шК0ДЕРTaPaKчем только народ не развлекается, лишь бы не работать
Да, в визио можно много времени потратить рисуя блок-схемы, но я имел в виду простой, легкий в обращении и доступный инструмент, который может помочь в проблеме по сабжу, особенно, если у автора такой запутанный код
чем плох мольберт и кисть?
...
Рейтинг: 0 / 0
19.07.2018, 10:04
    #39676060
шК0ДЕР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
TaPaKчем плох мольберт и кисть?Разве заявлял, что они плохи? Совсем нет, я согласен с вышеописанными советами, лишь добавил немного от себя. Пользовался пару раз в похожем случае на этапе проектирования, минус мольберта и кисти в том, что полотно может быть мало и на нем не уместится схема. Прислушиваться или нет - выбор ТСа
...
Рейтинг: 0 / 0
19.07.2018, 16:04
    #39676307
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
шК0ДЕРaleks2221. Один запрос в 1500 строк - это редкость невероятная.У ТСа не запрос, а процедура на 1500 строк.


Эээээ?
У тя, страдалец, в процедурах чай запросов то савсем нема?
А чаво ты туды пишешь?
...
Рейтинг: 0 / 0
19.07.2018, 17:12
    #39676363
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
aleks222шК0ДЕРпропущено...
У ТСа не запрос, а процедура на 1500 строк.


Эээээ?
У тя, страдалец, в процедурах чай запросов то савсем нема?
А чаво ты туды пишешь?
Есть разница между одним запросом в 1500 строк и одной процедурой в 1500 строк, в которой 100 запросов по 15 строк.
...
Рейтинг: 0 / 0
19.07.2018, 17:16
    #39676368
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
msLex,

авторЕсть разница между одним запросом в 1500 строк
такие штуки вообще должны отбраковываться на уровне парсера :) ибо дикость
...
Рейтинг: 0 / 0
19.07.2018, 17:19
    #39676371
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
TaPaKmsLex,

авторЕсть разница между одним запросом в 1500 строк
такие штуки вообще должны отбраковываться на уровне парсера :) ибо дикость
эххх... текущее ограничение ~256Мб, но есть надежда что план не успеет сделать, но и это можно продлить :)
...
Рейтинг: 0 / 0
19.07.2018, 17:50
    #39676401
Гадя Петрович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
пффф, entity framework с легкостью генерит запросы на 600+ строк, в которых простейший CRUD и больше ничего
качественные запросы получаются :)
...
Рейтинг: 0 / 0
19.07.2018, 18:42
    #39676438
VinniL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
msLex,

Верно, там не один запрос, а порядка 40, собранных в одной процедуре.
И это все нужно разложить на атомы, а потом снова собрать)
...
Рейтинг: 0 / 0
19.07.2018, 18:48
    #39676441
VinniL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно читать код?)
- блокнот - done
- файл Excel - done
- кисть и полотно - done
- счеты - in progress

:) :) :)

-- PROFIT
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно читать код?) / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]