Форум: "Прочее";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизУкрашение кода Найти похожие ветки
← →
AlexanderMS © (2006-05-07 20:48) [0]Вот сижу и пишу программу, создаю новую процедуру. Так аккуратненько, с отступами, со сдвигами.
Добавил условный блок (к примеру):if a = 0
then
begin
b := 1;
c := 2
end
else
begin
b := 2;
c := 3
end;
Потом вознимла необходимость добавить циклfor n := 1 to count do
if a = 0
then
begin
b := 1;
c := 2
end
else
begin
b := 2;
c := 3
end;
Отступы снова проставлять уже неохота. Потом - ещё.
repeat
h := gh;
if a > 0 then exit;
for n := 1 to count do
if a = 0
then
begin
b := 1;
c := 2
end
else
begin
b := 2;
c := 3
end;
until g = 0;
И т. д. Код уже неудобен для чтения. Хорошо было бы прямо в Delphi задать команду для украшения кода (пусть даже свою).
Можно ли в Delphi добавить такую команду?
← →
Desdechado © (2006-05-07 20:54) [1]есть такая украшалка кода DelForEx
← →
AlexanderMS © (2006-05-07 20:56) [2]
> есть такая украшалка кода DelForEx
Правда? Есть ли URL?
← →
LexxX © (2006-05-07 20:59) [3]
Ctrl+U
- сдвигает выделенный текст влево на два пробела.Ctrl+I
- сдвигает выделенный текст вправо на два пробела.
← →
Anatoly Podgoretsky © (2006-05-07 20:59) [4]Есть поисковые системы
← →
Grom PE © (2006-05-07 20:59) [5]Ctrl+Shift+U и Ctrl+Shift+I!
← →
TUser © (2006-05-07 21:30) [6]При выделении Alt придавить - будет выделять прямоугольными блоками. Потом можно вставить столбик пробелов.
← →
Virgo_Style © (2006-05-07 21:36) [7]А я это дело автоматизировал своими силами)
программка, в принципе, достаточно нехитрая получается...
← →
Alx2 © (2006-05-07 21:39) [8]>AlexanderMS © (07.05.06 20:48)
Есть бесплатные "украшатели". Встраиваются прямо в IDE.
Я пользуюсь (особо злостно при разборе чужого отбалдыкода) Source Formatter (http://www.slm.wau.nl/wkao/delforexp.html - но линк уже не работает).
← →
Ы (2006-05-07 22:02) [9]http://www.dow.wau.nl/aew/downloads/DelForEx.zip
470кб
← →
antonn © (2006-05-08 07:07) [10]имхо, конечно, но так "красивше и читаемей" :)
repeat
h:=gh;
if a>0 then exit;
for n:=1 to count do
if a=0 then begin
b:=1;
c:=2
end else begin
b:=2;
c:=3
end;
until g=0;
← →
Eraser © (2006-05-08 11:17) [11]
> AlexanderMS © (07.05.06 20:48)
лучше сразу правильно, а не "красиво" оформлять код, иначе если прийдётся работать в команде - проблем не оберёшься...
вот один из стандартов, мне больше всего нравится http://www.delphikingdom.com/asp/viewitem.asp?catalogid=802
← →
Nic © (2006-05-08 11:41) [12]
> repeat
> h:=gh;
> if a>0 then exit;
> for n:=1 to count do
> if a=0 then begin
> b:=1;
> c:=2
> end else begin
> b:=2;
> c:=3
> end;
> until g=0;
Я бы так построил:
repeat h:=gh;
if a>0 then exit;
for n:=1 to count do
if a=0 then
begin
b:=1;
c:=2
end else
begin
b:=2;
c:=3
end;
until g=0;
← →
Nic © (2006-05-08 11:45) [13]А так ещё лучше:
repeat h:=gh;
if a>0 then exit;
for n:=1 to count do if a=0 then
begin
b:=1;
c:=2
end else
begin
b:=2;
c:=3
end;
until g=0;
← →
wicked © (2006-05-08 11:52) [14]> Eraser © (08.05.06 11:17) [11]
во многом спорный стандарт, плюс раздут до неприличия....
> Nic © (08.05.06 11:41) [12] и [13]
на работу я бы такого программера не взял бы....
← →
vagra © (2006-05-08 12:06) [15]Да какая разница? Кто как привык, тому так читать и легче. Я вот вообще отступ делаю после всего. Т.е.
repeat h:=gh;
if a>0 then exit;
for n:=1 to count do if a=0 then
begin
b:=1;
c:=2
end
else
begin
b:=2;
c:=3
end;
until g=0;
← →
Lamer@fools.ua © (2006-05-08 12:35) [16]Я бы оформил так:
repeat
h := gh;
if a > 0 then
Exit;
for n := 1 to сount do
if a = 0 then
begin
b := 1;
c := 2;
end
else
begin
b := 2;
c := 3;
end;
until g = 0;
либо так:repeat
h := gh;
if a > 0 then
Exit;
for n := 1 to count do
begin
if a = 0 then
begin
b := 1;
c := 2;
end
else
begin
b := 2;
c := 3;
end;
end;
until g = 0;
← →
Lamer@fools.ua © (2006-05-08 12:36) [17]P.S./OFFTOPIC
Елы-палы. Ну и на фиг тэг CODE, если пробелы частично всё равно съедаются?
← →
Nic © (2006-05-08 13:10) [18]
> wicked © (08.05.06 11:52) [14]
Я не программер ;) И вряд ли им буду. Это только хобби.
← →
Nic © (2006-05-08 13:10) [19]
> wicked © (08.05.06 11:52) [14]
Вы правда считаете, что приведённое выше оформление не читабельно?
← →
saa (2006-05-08 13:14) [20]Nic © (08.05.06 13:10) [19]
И еще отладкозатруднительно.
← →
Nic © (2006-05-08 13:17) [21]
repeat
h := gh;
if a > 0 then exit;
for n := 1 to count do
if a = 0 then
begin
b := 1;
c := 2
end else
begin
b := 2;
c := 3
end;
until g = 0;
А вот так лучше или нет?
← →
wicked © (2006-05-08 13:17) [22]> Lamer@fools.ua © (08.05.06 12:36) [17]
хозяйке на заметку:
для того, чтобы местный скрипт не сьедал столь любимые пробелы/табы в начале строки, рекомендуется ставить точечку....... да, рутина, зато все пробелы на месте....
кстати, наблюдения подсказали, что отьедает обычно только один таб или несколько пробелов....
> Nic © (08.05.06 13:10) [19]
угу, именно........ когда пишешь один, то этого не заметно.... но если пишешь в команде - это лишние нервы и головная/"глазная" боль....
← →
wicked © (2006-05-08 13:19) [23]> Nic © (08.05.06 13:17) [21]
да, лучше....
остальное - это холиворы на тему, где лучше размещать операторные скобки и прочие вещи....
← →
Nic © (2006-05-08 13:20) [24]
> wicked © (08.05.06 13:17) [22]
В случае, если ведётся разработка несколькими людьми в команде, то, конечно, лучше взять единый стандарт оформления. И лучше - тот, в котором VCL написана. Вроде В Тейкстере и Пачеко целая глава про это есть.
← →
Kolan © (2006-05-08 13:49) [25]Считаю что надо делать так:
repeat
H := Gh;
if A > 0 then
Exit;
for N := 1 to Count do
if A = 0 then
begin
B := 1;
C := 2
end
else
begin
B := 2;
C := 3
end;
until G = 0;
Отступы снова проставлять уже неохота. Потом - ещё.
Именно так и делал. И нечего. Заодно и код просмотришь.Ctrl+Shift+U и Ctrl+Shift+I!
К сожалению с аськой не работает... :(
← →
antonn © (2006-05-08 15:21) [26]а я не люблю, когда знаки присваивания и "логики" (не бейте ногами, не знаю, как их назвать правильней - := = < > :)) обрамлены пробелами. Из за них какая то каша на экране (куча символов через пробел), труднее воспринимать, приходится сначала сосредоточится на одном, потом от него искать нужный. В то время как при такой записи
if a>0 then exit;
текст "блоками" воспринимается - удобнее, имхо, когда текст сгруппирован...
← →
Eraser © (2006-05-08 15:22) [27]
> wicked © (08.05.06 11:52) [14]
>
> > Eraser © (08.05.06 11:17) [11]
> во многом спорный стандарт, плюс раздут до неприличия...
> .
почему же спорный, почти то же самое, что стандарт VCL.
← →
begin...end © (2006-05-08 15:30) [28]> antonn © (08.05.06 15:21) [26]
А я люблю...
:о)
← →
KilkennyCat © (2006-05-08 15:33) [29]
> begin...end ©
и я.
И еще я люблю зписи такого типа:if... then begin
end else begin
end;
а неif ... then
begin
end
else
begin
end
← →
Привидение Хозяина (2006-05-08 15:37) [30]Т.е. я так понял, что все-таки нужна такая процедура, о которой пишет автор, но с кучей настроек, потому как некоторые из примеров приведенных в ветке мною просто нечитабельны.
← →
antonn © (2006-05-08 16:21) [31]KilkennyCat © (08.05.06 15:33) [29]
И еще я люблю зписи такого типа:
if... then begin
end else begin
end;
и я 8)
← →
Пусик © (2006-05-08 16:32) [32]
> Kolan © (08.05.06 13:49) [25]
>
> Считаю что надо делать так:
> repeat
> H := Gh;
> if A > 0 then
> Exit;
> for N := 1 to Count do
> if A = 0 then
> begin
> B := 1;
> C := 2
> end
> else
> begin
> B := 2;
> C := 3
> end;
> until G = 0
Вот так правильно:repeat
H := Gh;
if A > 0 then Exit;
for N := 1 to Count do
begin
if A = 0 then
begin
B := 1;
C := 2
end
else
begin
B := 2;
C := 3
end;
until G = 0;
← →
antonn © (2006-05-08 16:36) [33]кстати, описывая локаные переменные, я предпочитаю делать так:
var i,ii,iii:integer; d,dd,ddd:double; s:single;
нежели так:var i,ii,iii:integer;
d,dd,ddd:double;
s:single;
вот:)
← →
AlexanderMS © (2006-05-08 16:40) [34]DelForEx не соответствует моему стилю. Придётся свою писать...
← →
saa (2006-05-08 16:41) [35]antonn © (08.05.06 16:36) [33]
Сиплюсплюсники бы вас убили. Ведь можно так:
var i: integer;
var ii: integer;
var iii:integer;
var d: double;
var dd: double;
var ddd:double;
var s: single;
Да и комментарий есть где поставить, ведь имена переменных неинформативны.
← →
Пусик © (2006-05-08 16:42) [36]
> var i,ii,iii:integer; d,dd,ddd:double; s:single;
> нежели так:
> var i,ii,iii:integer;
> d,dd,ddd:double;
> s:single;var
i,ii,iii:integer;
d,dd,ddd:double;
s:single;
← →
Nic © (2006-05-08 18:20) [37]
if .. then
begin
..
end else
begin
..
end;
Так вроде правильнее, нежели:...
end
else
begin
...
Хотя, главное, чтобы конечные пользователь был доволен, программа стабильно и хорошо работала и исходник был читаемым :)
← →
vrem (2006-05-08 18:27) [38]Если не красиво оформленный и не рабочий код отформатировать как предлагается - он заработает? :)
← →
VictorT © (2006-05-08 18:30) [39]
> Елы-палы. Ну и на фиг тэг CODE, если пробелы частично
> всё равно съедаются?
я даже догадываюсь, почему. Видимо, используется что-то типа str_replace(" ", " &nbsp;"), потому, два пробела в начале строки отображаются, как один. Лучше вот так: str_replace(" ", "&nbsp; ")
← →
antonn © (2006-05-08 20:38) [40]saa (08.05.06 16:41) [35]
ведь имена переменных неинформативны.
а я всегда в циклах даю неиформативные имена, чтоб внимание не привлекали:) чем глубже - тем неинформативней:)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.067 c