Чистится ли код после удаления компонентов?
Модератор: Модераторы
Чистится ли код после удаления компонентов?
Чистится ли код после удаления компонентов? Например удаляются ли из блоков uses ненужные модули?
Это уже провокация 
может перенести в ветку "помощь за вознаграждение"? 
Kemet писал(а):причем здесь вознаграждение, когда описано штатное поведение нормальной IDE?
а если очистки не происходит, то можно ли считать Lazarus ненормальной IDE?
на самом деле, вопрос немного бессмысленный, потому что правильный ответ на него "попробуй!"
А вот за этим самым "попробуй" должны пойти правильные вопросы, вроде:
"А можно сделать, чтобы код чистился?" или "А как сделать, чтобы код не чистился"?
Kemet писал(а):причем здесь вознаграждение, когда описано штатное поведение нормальной IDE?
вопрос поставлен так "весело", что ответ напрашивается сам собой
p.s. обращаю внимание на смайлики в моих сообщениях
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Автоматически не чистится. Но можно часть этой работы сделать из подручного меню.
Вопрос не так глуп, как кажется. После удаления компонент иногда такой мусор остается, что на трезвую голову не разберешься.
Вопрос не так глуп, как кажется. После удаления компонент иногда такой мусор остается, что на трезвую голову не разберешься.
Лекс Айрин писал(а):Автоматически не чистится.
А как ты об этом узнал?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
скалогрыз, вообще-то я не первый день программирую. И компоненты тоже не один раз удалял. Удаляя компонент мы лишь удаляем его из объекта, но не удаляем методов типа OnClick (с одной стороны, это понятно... метод может быть использован для разных компонент). Мне, при необходимости, приходилось делать это ручками. Да и ненужные модули приходилось удалять так же. И не всегда, кстати, необходимость была (например, можно было метод использовать повторно, в кругом компоненте/ах.)
- Снег Север
- долгожитель
- Сообщения: 3071
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Насколько я знаю, неиспользуемые модули в результирующий код не включаются уже весьма давно. Так что сколько-нибудь серьезной причины в "чистке кода" не имеется.
Лекс Айрин писал(а):скалогрыз, вообще-то я не первый день программирую. И компоненты тоже не один раз удалял.
ну вот! ты же узнал ответ на практике, а не в книжке вычитал! Некоторые ответы познаются исключительно на практике
Но если кому интересно, то IDE может почистить пустые публичные методы. Как старый добрый делфи.
Странный вопрос: странное обсуждение.
Лучше его сформулировать по другому.
Нужно ли самому чистить модули и удалять код после удаления компонент?
Да.
Если Вам нужно, чтобы чистилось само, то IDE нужно собирать с поддержкой вот этого.
А если серьезно, то удалить модули из USES IDE не может, потому что, они могут содержать:
1. Секцию инициализации
2. Глобальные переменные
И решить, что нужно конкретно Вам программно и автоматически довольно сложно.
IDE может сообщить о неиспользуемых модулях, а Вы примите решение.
Зачем чистить? Потому что линковщик не сможет определить, какие именно строковые ресурсы (и виртуальные методы) нужно включать в бинарный файл, а какие нет. Поэтому, исключив лишние модули, Вы уменьшите бинарный файл, увеличите время запуска (за счет того, что секции инициализации не будут запущены) и уменьшите количество возможных ошибок (за счет того, что глобальные переменные не будут перекрываться с локальными).
Лучше его сформулировать по другому.
Нужно ли самому чистить модули и удалять код после удаления компонент?
Да.
Если Вам нужно, чтобы чистилось само, то IDE нужно собирать с поддержкой вот этого.
А если серьезно, то удалить модули из USES IDE не может, потому что, они могут содержать:
1. Секцию инициализации
2. Глобальные переменные
И решить, что нужно конкретно Вам программно и автоматически довольно сложно.
IDE может сообщить о неиспользуемых модулях, а Вы примите решение.
Зачем чистить? Потому что линковщик не сможет определить, какие именно строковые ресурсы (и виртуальные методы) нужно включать в бинарный файл, а какие нет. Поэтому, исключив лишние модули, Вы уменьшите бинарный файл, увеличите время запуска (за счет того, что секции инициализации не будут запущены) и уменьшите количество возможных ошибок (за счет того, что глобальные переменные не будут перекрываться с локальными).
-
Kemet
- постоялец
- Сообщения: 241
- Зарегистрирован: 10.02.2010 18:28:32
- Откуда: Временно оккупированная территория
- Контактная информация:
нормальная IDE не должна позволять удалять компоненты и модули, к которым есть обращение в коде, а если таких обращений нет, то должна удалять мусор - не обязательно автоматически, но такой механизм должен быть предоставлен, а лучше всего, если поведение можно настроить.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Снег Север писал(а):Так что сколько-нибудь серьезной причины в "чистке кода" не имеется.
А удобство чтения?
можно внимательно почитать сообщения компилятора - для простых случаев которым является удаление компонента - самое то.
для совсем ленивых можно попробовать - правый клик\переработка кода\неиспользуемые модули
для совсем ленивых можно попробовать - правый клик\переработка кода\неиспользуемые модули
