powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Константа номера строки редактора
25 сообщений из 76, страница 2 из 4
Константа номера строки редактора
    #40108214
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Зачем вообще эти хуевые решения если есть нормальное?

Это и есть нормальное.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108215
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108217
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал, читал.... Так нифига и не понял :( Вы о чем спорите-то?-))))

С точки зрения компилятора - ошибка в строке 17. Аминь.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108219
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster,

+1000!

Компилируется - значит, работает - (с).
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108318
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
rgreat
При изменении сорцов после релиза этот LineNumber будет все одно показывать погоду на марсе.

В VCS всё будет на своих местах.

Тем не менее, rgreat для разнообразия прав и предлагает принципиально более вменяемое решение.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108325
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Тем не менее, rgreat для разнообразия прав и предлагает принципиально более вменяемое решение.

Использование {$I %FILE%} + ', ' + {$I %LINE%} обеспечивает однозначное позиционирование в исходном коде. Переживает любой рефакторинг, не требует креативных непересекающихся имён для т.н. "фич", и избавляет от необходимости поиска по файлам. Более чем вменяемо.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108326
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
softwarer
Тем не менее, rgreat для разнообразия прав и предлагает принципиально более вменяемое решение.

Использование {$I %FILE%} + ', ' + {$I %LINE%} обеспечивает однозначное позиционирование в исходном коде. Переживает любой рефакторинг, не требует креативных непересекающихся имён для т.н. "фич", и избавляет от необходимости поиска по файлам. Более чем вменяемо.

Помимо прочих недостатков, оно намертво ломается в тривиальном кейсе:

1. Программист Вася пилит какую-нибудь фичу. Он сделал бранч, внёс изменения и в ходе отладки напоролся на такую ошибку где-то в чужом коде. Обошёл её и пошёл дальше.

2. Через неделю-две-три программист Петя, у которого дошли руки до разгребания валяющихся в трекере мелких ошибок, отгадывает это самое {$I %FILE%} + ', ' + {$I %LINE%} не соответствующее вообще ничему - поскольку состояние исходников, в котором оно сработало, было только у Васи на компе.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108331
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Если в процессе разработки бардак, то увы и ах, но поправлять придётся в консерватории.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108332
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

прикрывать плохое техническое решение беспочвенными ссылками на неправильный процесс - это и есть бардак.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108335
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Бардак техническими средствами не решается, да.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108336
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

отчего же. Правильные технические решения очень часто не оставляют бардаку места, примеров сколько угодно. Скажем, я помню, какой бардак когда-то творился с сообщениями об ошибках - "Ну почему вы не запомнили текст? А где это было? Ну вот опять..." - а всего-то потребовалось правильно организовать автоматические репорты. Я помню, какой бардак творился когда-то с ведением исходников и поддержкой разных версий - а всего-то потребовалось спроектировать вменяемые VCS.

Что же до предмета спора, он иллюстрирует другой верный тезис - подходы, допустимые для случая, когда единственный разработчик пилит на коленке нетленку, далеко не всегда пригодны для команды разработчиков в организованном процессе.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108352
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
подходы, допустимые для случая, когда единственный разработчик пилит на коленке нетленку, далеко не всегда пригодны для команды разработчиков в организованном процессе

При организованном процессе в билдах всегда есть отпечаток версии исходников (та самая привязка к VCS о которой уже было сказано). Все логи начинаются с обозначения отпечатка и крешрепорты содержат его. А если у Пети с этим до сих пор проблемы, то с его поставленным процессом что-то не так.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108357
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
softwarer
подходы, допустимые для случая, когда единственный разработчик пилит на коленке нетленку, далеко не всегда пригодны для команды разработчиков в организованном процессе

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

Ты бы попробовал научиться читать до того, как начинать возражать.

Ещё раз, на пальцах:
  • На старте текущей в VCS является версия V1, в ней в сотой строке некоего файла лежит такая вот диагностика ошибки
  • Васе нужно допилить реализацию кнопки А. Он отбранчовывается и начинает вносить изменения, в результате чего диагностика перемещается в строчку 105
  • Вася запускает exe (уж не знаю, какой именно "отпечаток версии" ты ожидаешь увидеть в отладочном exe, придумай на свой вкус), и там случайно промахивается и вместо кнопки А нажимает кнопку Б. Получает ошибку "хрень в строке 105"
  • Поскольку Вася пилит кнопку А, он забывает о своём промахе и идёт дальше, а репорт "хрень в строке 105" ложится ждать своего часа в трекер
  • В конце концов Вася допиливает реализацию и кладёт в контроль версий исходники, где диагностика лежит уже в строке 110, это будет версия V2.
А вот теперь расскажи, каким образом Петя, когда у него дойдут руки до репорта "хрень в строке 105", будет выбирать между версиями V1, V2, V3 и V4, чтобы попытаться воспроизвести и исправить.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108361
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
[li]Вася запускает exe (уж не знаю, какой именно "отпечаток версии" ты ожидаешь увидеть в отладочном exe, придумай на свой вкус), и там случайно промахивается и вместо кнопки А нажимает кнопку Б. Получает ошибку "хрень в строке 105"
  • Поскольку Вася пилит кнопку А, он забывает о своём промахе и идёт дальше, а репорт "хрень в строке 105" ложится ждать своего часа в трекер
Можно нескормный вопроc? Какого... репорты отладочных билдов собранных на локальных машинах девелоперов попадают в продактовый трекер? Это такое у вас понимание поставленного процесса?
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108363
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Можно нескормный вопроc? Какого... репорты отладочных билдов собранных на локальных машинах девелоперов попадают в продактовый трекер? Это такое у вас понимание поставленного процесса?

А что ты предлагаешь? В рамках поставленного процесса забивать на них болт? Вообще-то, по-нормальному, 99% ошибок отлавливаются и устраняются до того, как проявятся на продакшне - на разных стадиях разработки и тестирования. Хотя да, конечно, можно делать вид, что в приложении нет никаких ошибок до тех пор, пока "хрень в строке X" таки не вывалится на проде.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108365
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Э-э-э.... А что у нас на проде? Последний билд V4 или сборная солянка из V1....Vn? Зачем Пете отлавливать баг в V1, если текущая версия - V100501 ? Петя берет с сервера последнюю версию, жмакает в А и Б - и рапортует, что бага или нет, или есть. Но не устраивает игры в Шерлока Холмса "а в каком же билде у нас такое вот было....". А что там собрали разрабы у себя на локали - это вообще-то проблемы разрабов и команды тестировщиков. Проблемы первых - не накосячить, вторых - не пустить косяки на проду.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108367
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Э-э-э.... А что у нас на проде? Последний билд V4 или сборная солянка из V1....Vn?

На проде, скорее всего, версия V0 - последний протестированный релиз, возможно с хотфиксами. V1 - это текущая разрабатываемая версия (то, что наплодили разработчики со времён V0 и что ждёт своего выкладывания на прод). Для простоты можно предположить, что ошибка, порождающая "хрень", внесена именно в V1, и в V0 её ещё нет.

DarkMaster
Петя берет с сервера последнюю версию, жмакает в А и Б - и рапортует, что бага или нет, или есть.

Ну здорово. Взял с сервера V0 и отрапортовал, что её нет. Закрыл таску. Потом наступает релиз - и она наконец-то начинает вываливаться на проде. "Мы все - ма-лад-цы" (тм)

DarkMaster
А что там собрали разрабы у себя на локали - это вообще-то проблемы разрабов и команды тестировщиков. Проблемы первых - не накосячить, вторых - не пустить косяки на проду.

Ну то есть ты предлагаешь забить на найденную ошибку и надеяться, что потом, когда начнётся тестирование релиза - тестировщики найдут её ещё раз. Это не выглядит образцом надёжности.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108368
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
А что ты предлагаешь? В рамках поставленного процесса забивать на них болт?

В продактовый трекер должны попадать только те репорты, что пришли с продакта, но никак не с машины девелопера, где он может на дню всё сто раз сломать и исправить. Это как минимум.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108369
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
В продактовый трекер должны попадать только те репорты, что пришли с продакта

Ну то есть забить болт до тех пор, пока бага не стрельнет у пользователей. Очень мило.

Kazantsev Alexey
но никак не с машины девелопера, где он может на дню всё сто раз сломать и исправить.

На этот случай есть чекбокс "слать ли репорт".
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108383
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Ну то есть забить болт до тех пор, пока бага не стрельнет у пользователей.

Не знаю тонкостей вашего поставленного процесса, но полагаю, для разработчика не должно быть проблемой оформить репорт для продакта, если он видит, что креш вызван не его действиями. Это всё рабочие моменты, тонкости которых обсуждать смысла чуть больше чем никакого.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108424
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Не знаю тонкостей вашего поставленного процесса, но полагаю, для разработчика не должно быть проблемой оформить репорт для продакта, если он видит, что креш вызван не его действиями.

Не проблема, конечно. Вопрос в том, как делать это наиболее эффективно.

В случае нашего процесса это действие регулируется одним проставить/снять галочку, и в результате в трекер уезжает качественный отчёт - со стректрейсом, значениями ключевых переменных итп. Ты предлагаешь тратить гораздо больше времени на то, чтобы руками оформить значительно менее качественный репорт. И ради чего? Только ради того, чтобы обойти лажу плохого технического решения с %LINE%.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108434
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
Ты предлагаешь тратить гораздо больше времени на то, чтобы руками оформить значительно менее качественный репорт.

Нет, я предлагаю делать правильно. Разработчик должен быть уверен, что креш произошёл не в результате внесённых им изменений. Быть уверенным в этом можно только если удаётся воспроизвести проблему на исходниках из VCS. Собственно, это всё.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108437
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне так и не сказали в каких случаях вообще нужна такая фича как LINE_NUM.

Не StackTrace или LAST_ERROR_LINE_NUM а именно LINE_NUM.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108440
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Нет, я предлагаю делать правильно.

Ещё вчера для тебя было правильным "репорты только с продакта". Поэтому я с некоторым скепсисом отношусь к новым рецептам правильности.
...
Рейтинг: 0 / 0
Константа номера строки редактора
    #40108441
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

Можешь посмотреть: https://github.com/search?q="%line%" language:pascal&type=code
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 2 из 4
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Константа номера строки редактора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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