Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Прическа для кода   Найти похожие ветки 

 
Alx2 ©   (2002-08-13 14:17) [0]

Где-то года полтора использую шароварный причесыватель кода ChienCA (мастер, интегрируемый в Delphi). Вещь довольно приятная, особенно когда приходится открыть и причесать взлохмоченные файлы "слева" для облегчения их изучения.
Вот небольшой пример "до того":

var A:array[0..9, 0..9, 0..9, 0..9] of byte;

procedure InitMatrix;
var i,j,k,n,c:integer;
begin
// Заполняю матрицу символами
c:=0;
for i:=0 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
for n:=0 to 9 do
begin
A[i,j,k,n]:=c;
Inc(c);
if c>255 then c:=0;
end;
end;

procedure Disturb(S:String);
var i,j,k,n,o:integer;
tmp:byte;
l:String;
begin
l:="";
for i:=1 to Length(S) do l:=l+IntToStr(Ord(S[i]));
for o:=1 to Length(l) do
for i:=0 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
for n:=0 to 9 do
case StrToInt(l[o]) of
0:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[j,i,k,n];
A[j,i,k,n]:=tmp;
end;
1:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[j,k,i,n];
A[j,k,i,n]:=tmp;
end;
2:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[j,k,n,i];
A[j,k,n,i]:=tmp;
end;
3:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,j,i,n];
A[k,j,i,n]:=tmp;
end;
4:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,j,n,i];
A[k,j,n,i]:=tmp;
end;
5:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,n,j,i];
A[k,n,j,i]:=tmp;
end;
6:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[k,n,i,j];
A[k,n,i,j]:=tmp;
end;
7:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[n,k,j,i];
A[n,k,j,i]:=tmp;
end;
8:begin
tmp:=A[i,j,k,n];
A[i,j,k,n]:=A[n,k,j,i];
A[n,k,j,i]:=tmp;
end;
end;
end;

после того:

Var A: Array[0..9, 0..9, 0..9, 0..9] Of Byte;

Procedure InitMatrix;
Var I, J, K, N, C: Integer;
Begin
//


 
Игорь Шевченко ©   (2002-08-13 14:22) [1]

DelForEx - бесплатно и со вкусом :-)


 
Ученик ©   (2002-08-13 14:51) [2]

Развитие темы чужих исходников: может быть существует средство, позволяющее узнать где используются те или иные процедуры, функции (не модули, а именно процедуры, функции) или я что-то упустил в Delphi IDE.


 
FLIZ_   (2002-08-13 14:52) [3]

я тоже хаааачу! :-)

кинь указанную "расческу" на fliz@yandex.ru
если не трудно, хорошо?

спасибо!


 
Neox ©   (2002-08-13 14:52) [4]

А где можно взять эти прически?


 
Alx2 ©   (2002-08-13 14:59) [5]

Ну, началось :))


 
wicked ©   (2002-08-13 15:08) [6]

есть еще "совсем бесплатня"... входит в состав free pascal и называется ptop...
правда, у неё очень серьёзный недостаток - если опции командной строки ей не по вкусу, оставит вам пустой файл... хотя приходит с исходником и при желании и это можно исправить... ;)


 
Alx2 ©   (2002-08-13 15:09) [7]

Вот, кажется "живой" линк:
ftp://ftp.informatik.rwth-aachen.de/pub/mirror/delphi.icm.edu.pl/ftp/d20free/delforex.zip


 
Ученик ©   (2002-08-13 15:14) [8]

http://delphi.mastak.ru/cgi-bin/search.pl?words=DelForEx&n=0


 
vuk ©   (2002-08-13 15:29) [9]

А что, самому ручками сразу нормально написать религия не позволяет? :o)


 
Игорь Шевченко ©   (2002-08-13 15:35) [10]

Ученик © (13.08.02 14:51)

Уже несколько лет ищу такую программу. Написать самому, увы, времени не хватает. Найдете - поделитесь, плз. Может, в GExperts что-то добавят...


 
Ученик ©   (2002-08-13 15:37) [11]

>vuk
Здесь о чужом коде

>Игорь Шевченко
ok


 
Alx2 ©   (2002-08-13 15:38) [12]

>vuk © (13.08.02 15:29)
>А что, самому ручками сразу нормально написать религия не
>позволяет? :o)

Себя процитирую:

"Вещь довольно приятная, особенно когда приходится открыть и причесать взлохмоченные файлы "слева" для облегчения их изучения."

Ну и готовый юнит "полачить" руки чешутся иногда :)


 
Alx2 ©   (2002-08-13 15:43) [13]

>Ученик © (13.08.02 14:51)
А Browser не позволяет это?
Или я что-то недопонял?


 
Ученик ©   (2002-08-13 15:53) [14]

>Alx2
Browser не показывает использование процедур или функций в других модулях, а только использование модулей друг другом.


 
Alx2 ©   (2002-08-13 15:57) [15]

>Ученик © (13.08.02 15:53)
А, нужно что-то типа бровзеровского "used by"?


 
Ученик ©   (2002-08-13 15:58) [16]

>Alx2 © (13.08.02 15:57)
Да, с номером строки


 
Alx2 ©   (2002-08-13 15:59) [17]

Все равно не въезжаю.
>Browser не показывает использование процедур или функций
>в других модулях
У меня показывает. Или как понимать "показывает"?


 
Ученик ©   (2002-08-13 16:07) [18]

> Alx2 © (13.08.02 15:59)
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Trim(" aaa "));
end;

Что у тебя написано про ShowMessage и Trim ?


 
Игорь Шевченко ©   (2002-08-13 16:10) [19]

Alx2 © (13.08.02 15:59)
Ученик © (13.08.02 16:07)

Меня, кстати, интересует больше не то, что где используется, а то, что нигде не используется. Причем по достаточно большому проекту (~700 units), где визуальный поиск уже не помогает.


 
Alx2 ©   (2002-08-13 16:12) [20]

ShowMessage:

Dialogs.pas (339)
...
Dialogs.pas (1847)
StdActns.pas (921)
....
Unit1.pas (195)

Trim:

Ну, думаю, дальше понятно... sysutils, ... etc

Просто флажок нужно снять в Options->Compiler->debbuging->Reference Info->Defenitions Only


 
Alx2 ©   (2002-08-13 16:13) [21]

>Игорь Шевченко © (13.08.02 16:10)
Так называемый dead code?


 
Ученик ©   (2002-08-13 16:16) [22]

>Alx2 © (13.08.02 16:12)
Классно, "...или я что-то упустил в Delphi IDE".


 
Alx2 ©   (2002-08-13 16:22) [23]

>Игорь Шевченко © (13.08.02 16:10)
В этом случае только из windows.pas наберется не один десяток сотен таких функций.


 
Игорь Шевченко ©   (2002-08-13 16:56) [24]

Alx2 © (13.08.02 16:22)

Не dead code, а "declared, but never used". С возможностью фильтра, естественно. Проект живет своей жизнью, ее надо привести в регулярные рамки. И от старого мусора избавиться.


 
Jeer ©   (2002-08-13 17:42) [25]

Поищите на дисках CodeRush от
www.eagle-software.com


 
Игорь Шевченко ©   (2002-08-13 17:52) [26]

Jeer © (13.08.02 17:42)

Забыл добавить - программа нужна Freeware



Страницы: 1 вся ветка

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.011 c
14-27157
Vasso
2002-08-06 11:20
2002.09.09
Отношение к WinXp


14-27158
ReapeR
2002-08-13 11:37
2002.09.09
Delphi 7


1-27027
alex-worker@e-mail.ru
2002-08-27 12:54
2002.09.09
Как измененить


14-27200
esprit_bel
2002-08-12 08:54
2002.09.09
Винт


1-27061
delpher_gray
2002-08-28 09:24
2002.09.09
Цикл for ... to ... do снизу вверх :-)