Текущий архив: 2004.04.11;
Скачать: CL | DM;
ВнизЧистка кода Найти похожие ветки
← →
Dudao (2004-03-20 04:00) [0]Не подскажете ли утилиту для уборки и оптимизации кода Delphi ?
Код довольно-таки большой и вручную убирать лишние комментарии,
оформлять отступы сложно. Писать свою утилиту- не охота.
← →
Германн © (2004-03-20 04:30) [1]А как вы себе представляете критерии "лишности" комментариев?
← →
Dudao (2004-03-20 08:22) [2]они избыточны, и не объективны
← →
Sergey Masloff (2004-03-20 08:26) [3]google -> delphi formatter -> полно ссылок
← →
Sergey Masloff (2004-03-20 11:14) [4]Dudao (20.03.04 08:22) [2]
>они избыточны, и не объективны
И программа это будет решать? Напишешь такую нобелевская премия твоя.
← →
Игорь Шевченко © (2004-03-20 13:10) [5]
> Не подскажете ли утилиту для уборки и оптимизации кода Delphi
Peganza Pascal Analyzer (www.peganza.com)
← →
имя (2004-03-20 13:11) [6]Удалено модератором
← →
Mox Fulder © (2004-03-20 13:28) [7]Ух ты, какие умники появились!
← →
Sergey Masloff (2004-03-20 14:10) [8]Игорь Шевченко © (20.03.04 13:10) [5]
>Peganza Pascal Analyzer (www.peganza.com)
Вещь классная но 120 у.е. дороговато за такого рода утилиту. ИМХО.
← →
Игорь Шевченко © (2004-03-20 17:51) [9]Sergey Masloff (20.03.04 14:10)
Я давно мучился идеей разыскать нечто, что позволяет узнать "declared, but never used" не в рамках одного unit"а, а в рамках всего проекта, потому что висящие неиспользуемые функции, переменные и методы классов довольносильно загромождают проект, впрочем, что я рассказываю, это все и так известно :)
Судя по триалу этого Pascal Analyzer"а, он именно эту задачу довольно неплохо решает, только вот жалко, в триальном режиме он здорово оганичивает свою диагностику.
Для себя - конечно, дорого. Но свое писать еще дороже.
← →
Dimaxx © (2004-03-20 23:57) [10]Если в опциях проекта на вкладке Compiler в разделе Code generation стоит Optimization, то компилятор не будет включать в экзешник все неиспользуемые функции, переменные и прочее. Так что не мучайся, а пиши спокойно. В dcu будет все, а в экзешнике только то, что реально используется, вызывается и т.п.
← →
Игорь Шевченко © (2004-03-21 00:42) [11]Dimaxx © (20.03.04 23:57)
1) Речь идет о "чистке" исходного кода.
Если он будет замусорен неиспользуемыми функциями/переменными,методами, его будет довольно трудно сопровождать. Особенно в случаях, когда его объем исчисялется десятками или сотнями тысяч строк.
2) Компилятор включает очень многое, все виртуальные и динамические методы классов, и т.п.
3) Матчасть учить - оно рулез.
← →
Piter © (2004-03-21 00:48) [12]Dimaxx (20.03.04 23:57) [10]
Если в опциях проекта на вкладке Compiler в разделе Code generation стоит Optimization, то компилятор не будет включать в экзешник все неиспользуемые функции, переменные и прочее
По-моему, он вообще никогда не будет включать неиспользуемые функции в проект. Но уверяю тебя, Игорь об этом знает не хуже твоего :)
Хотя немного непонятно
Я давно мучился идеей разыскать нечто, что позволяет узнать "declared, but never used" не в рамках одного unit"а, а в рамках всего проекта
Это наподобие того, что если у класса есть public метод, но он нигде не используется - должно выдаваться предупреждение?
← →
Piter © (2004-03-21 00:54) [13]Игорь Шевченко (21.03.04 00:42) [11]
Компилятор включает очень многое, все виртуальные и динамические методы классов
а статические методы не включает?
← →
Игорь Шевченко © (2004-03-21 01:31) [14]Piter © (21.03.04 00:48)
> Это наподобие того, что если у класса есть public метод,
> но он нигде не используется - должно выдаваться предупреждение?
Да, именно это. Или в интерфейсной части объявлена функция которая используется только в том же юните. Или объявлены глобальные переменные, которые за давностью лет давно перестали использоваться.
Кстати, на том же сайте лежит бесплатная программа для определения нужности включения того или иного юнита в uses, и рекомендации по перемещению его из uses в разделе interface в uses в раздел implementation. Программа называется ICARUS, весит около мегабайта, мной регулярно используется с большой пользой.
> а статические методы не включает?
Если они не используются, то не включает. Статический метод класса - это самая обычная процедура/функция с дополнительным неявным параметром Self, поэтому линкер использует тот же подход, что для функций/процедур, не являющихся методами, когда принимает решение о включении или невключении функции в EXE-файл.
← →
Dudao (2004-03-21 06:26) [15]на torry.net кое-что нашел, но очень замутный и старый софт.
← →
Dudao (2004-03-21 07:30) [16]Peganza Pascal Analyzer (www.peganza.com)
-утилита, выдающая рипорты, как я понял и она к сожалению не походит.
Нужна программа, делающая из такого кода:
procedure TForm1.Something;vari:integer;
begin
beginbegin
...
begin beginend;
procedure TForm1.Something;
var
i:integer;
begin
begin
begin
...
begin
begin
end;
т.е. нужно формирование красивого, читаемого, ступенчатого кода.
спасибо.
← →
Игорь Шевченко © (2004-03-21 15:02) [17]DelForEx - форматировщик исходного кода
← →
Piter © (2004-03-21 18:03) [18]Игорь Шевченко (21.03.04 01:31) [14]
> Это наподобие того, что если у класса есть public метод,
> но он нигде не используется - должно выдаваться предупреждение?
Да, именно это
а что с VCL делать тогда? И вообще со сторонними компонентами/модулями?
Страницы: 1 вся ветка
Текущий архив: 2004.04.11;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.044 c