Чистится ли код после удаления компонентов?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
ANTIKLAN
новенький
Сообщения: 55
Зарегистрирован: 25.02.2015 08:21:42

Чистится ли код после удаления компонентов?

Сообщение ANTIKLAN »

Чистится ли код после удаления компонентов? Например удаляются ли из блоков uses ненужные модули?
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Сообщение resident »

Это уже провокация :mrgreen:
ev
долгожитель
Сообщения: 1797
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение ev »

может перенести в ветку "помощь за вознаграждение"? :lol:
Kemet
постоялец
Сообщения: 241
Зарегистрирован: 10.02.2010 18:28:32
Откуда: Временно оккупированная территория
Контактная информация:

Сообщение Kemet »

причем здесь вознаграждение, когда описано штатное поведение нормальной IDE?
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Kemet писал(а):причем здесь вознаграждение, когда описано штатное поведение нормальной IDE?

а если очистки не происходит, то можно ли считать Lazarus ненормальной IDE? :mrgreen:

на самом деле, вопрос немного бессмысленный, потому что правильный ответ на него "попробуй!"
А вот за этим самым "попробуй" должны пойти правильные вопросы, вроде:
"А можно сделать, чтобы код чистился?" или "А как сделать, чтобы код не чистился"?
ev
долгожитель
Сообщения: 1797
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение ev »

Kemet писал(а):причем здесь вознаграждение, когда описано штатное поведение нормальной IDE?

вопрос поставлен так "весело", что ответ напрашивается сам собой :lol:
p.s. обращаю внимание на смайлики в моих сообщениях :roll:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Автоматически не чистится. Но можно часть этой работы сделать из подручного меню.

Вопрос не так глуп, как кажется. После удаления компонент иногда такой мусор остается, что на трезвую голову не разберешься.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Лекс Айрин писал(а):Автоматически не чистится.

А как ты об этом узнал? :shock:
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

скалогрыз, вообще-то я не первый день программирую. И компоненты тоже не один раз удалял. Удаляя компонент мы лишь удаляем его из объекта, но не удаляем методов типа OnClick (с одной стороны, это понятно... метод может быть использован для разных компонент). Мне, при необходимости, приходилось делать это ручками. Да и ненужные модули приходилось удалять так же. И не всегда, кстати, необходимость была (например, можно было метод использовать повторно, в кругом компоненте/ах.)
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Насколько я знаю, неиспользуемые модули в результирующий код не включаются уже весьма давно. Так что сколько-нибудь серьезной причины в "чистке кода" не имеется.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Лекс Айрин писал(а):скалогрыз, вообще-то я не первый день программирую. И компоненты тоже не один раз удалял.

ну вот! ты же узнал ответ на практике, а не в книжке вычитал! Некоторые ответы познаются исключительно на практике :)

Но если кому интересно, то IDE может почистить пустые публичные методы. Как старый добрый делфи.
wavebvg
постоялец
Сообщения: 355
Зарегистрирован: 28.02.2008 03:57:35

Сообщение wavebvg »

Странный вопрос: странное обсуждение.

Лучше его сформулировать по другому.

Нужно ли самому чистить модули и удалять код после удаления компонент?
Да.
Если Вам нужно, чтобы чистилось само, то IDE нужно собирать с поддержкой вот этого.

А если серьезно, то удалить модули из USES IDE не может, потому что, они могут содержать:
1. Секцию инициализации
2. Глобальные переменные

И решить, что нужно конкретно Вам программно и автоматически довольно сложно.

IDE может сообщить о неиспользуемых модулях, а Вы примите решение.

Зачем чистить? Потому что линковщик не сможет определить, какие именно строковые ресурсы (и виртуальные методы) нужно включать в бинарный файл, а какие нет. Поэтому, исключив лишние модули, Вы уменьшите бинарный файл, увеличите время запуска (за счет того, что секции инициализации не будут запущены) и уменьшите количество возможных ошибок (за счет того, что глобальные переменные не будут перекрываться с локальными).
Kemet
постоялец
Сообщения: 241
Зарегистрирован: 10.02.2010 18:28:32
Откуда: Временно оккупированная территория
Контактная информация:

Сообщение Kemet »

нормальная IDE не должна позволять удалять компоненты и модули, к которым есть обращение в коде, а если таких обращений нет, то должна удалять мусор - не обязательно автоматически, но такой механизм должен быть предоставлен, а лучше всего, если поведение можно настроить.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

Снег Север писал(а):Так что сколько-нибудь серьезной причины в "чистке кода" не имеется.


А удобство чтения?
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

можно внимательно почитать сообщения компилятора - для простых случаев которым является удаление компонента - самое то.
для совсем ленивых можно попробовать - правый клик\переработка кода\неиспользуемые модули
Ответить