Помощь - Поиск - Пользователи - Календарь
Полная версия: Стиль программирования
Форум «Всё о Паскале» > Другое > Свободное общение
-Инкогнито-
Многие программисты не используют табуляцию(отступ или красная строка) в своих программных кодах, видимо в надежде экономии пространства и места на диске. Так вот для тех кто еще не в курсе, то что вы неиспользуете табуляцию или экономите на пробелах, кстати о пробелах никогда не ставятся пробелы между названием функции и ее же скобками с входящими данными, не экономит место в будущей программе, не экономит места в оперативной памяти. А все дело в том что, когда вы компелируете программу она вся переписывается на машинные коды, без учета пробелов, естественно, и только после этого из оперативной памяти начинает выполнятся. К тому же экономя место вы теряете читабельность кода, тем самым ужудшая себе жизнь. Так ответьте мне: "Почему же почему?". Почему надо избегать собсственного удобства, и нездрожать людей кодами которые даже дешифратор струдом берет. Ответьте.
klem4
Причем тут "Теоретические вопросы" ? Тема переносится в свободное общение.

ты кстати к кому обращаешься ?
Икогнито
Цитата(klem4 @ 13.11.2007 19:18) *

Причем тут "Теоретические вопросы" ? Тема переносится в свободное общение.

ты кстати к кому обращаешься ?

Да я какбы по вашему сайту не знаток. Но мне тут друг прислал с него немножко прог, вот и решил что эта тема актуальна. Да и вообще по собственному опыту знаю, что она очень актуальна.
Tan
Что значит прислал с него ? Насколько я знаю, сайт форума (линк на который в левом верхнем углу) не доступен. Если ты говоришь о людях, которые пишут здесь (на форуме), то обращайся к ним лично, да и вообще если люди помогают (а большинство здесь этим и занимается), то я думаю, что человек, получивший ответ на свой вопрос пусть даже без пробела между оператором присваивания и переменной, будет рад не меньше. Я считаю, что это дело каждого, каждый пишет как ему удобнее и понятее, а судить людей, которые на добровольных началах безвозмездно помогают другим, в том, что их работа стилистически неверна - бред.
Гость
Цитата(Tan @ 13.11.2007 20:43) *

Что значит прислал с него ? Насколько я знаю, сайт форума (линк на который в левом верхнем углу) не доступен. Если ты говоришь о людях, которые пишут здесь (на форуме), то обращайся к ним лично, да и вообще если люди помогают (а большинство здесь этим и занимается), то я думаю, что человек, получивший ответ на свой вопрос пусть даже без пробела между оператором присваивания и переменной, будет рад не меньше. Я считаю, что это дело каждого, каждый пишет как ему удобнее и понятее, а судить людей, которые на добровольных началах безвозмездно помогают другим, в том, что их работа стилистически неверна - бред.

Я не говорю о стилистической неверности, хотя и о ней тоже может идти речь. А учить можно разному. Также могу сказать, что я рад что вы помагаете всем. Так что и сам хочу людям помочь, потому как програмный код это главное, а если он выгледит как машинные коды прости какие к тебе вопросы.
Boss_kit
Блин Меня заполили...
В общем полностью согласен... Не воспринимаем текст без пробелов!!! Застрелиться проще mega_chok.gif
Определитесь!!!
procedure pl_ (q,w,e,r:integer);  begin inc (pll); pl[1,pll]:=q; pl[2,pll]:=w; pl[3,pll]:=e; pl[4,pll]:=r; end;

Или так:
procedure pl_ (q,w,e,r:integer);  
begin
inc (pll);
pl[1, pll] := q;
pl[2, pll] := w;
pl[3, pll] := e;
pl[4, pll] := r;
end;

Это тока одна строка, а если их200, что тогда??? wacko.gif wacko.gif wacko.gif
-Инкогнито-
Вот люди пишут правильно кто станет спорить с таким заявлением. К тому же 200 строк не предел а один файл програмного кода, вообще невопрос. Ну а если вы несогласны то могу лично сделать свою прогу на пять файлов нечетабельной, и попросить вас ее расшифровать cool.gif .
Цитата(Boss_kit @ 13.11.2007 21:06) *

procedure pl_ (q,w,e,r:integer);  begin inc (pll); pl[1,pll]:=q; pl[2,pll]:=w; pl[3,pll]:=e; pl[4,pll]:=r; end;

Или так:
procedure pl_ (q,w,e,r:integer);  
begin
inc (pll);
pl[1, pll] := q;
pl[2, pll] := w;
pl[3, pll] := e;
pl[4, pll] := r;
end;

Это тока одна строка, а если их200, что тогда??? wacko.gif wacko.gif wacko.gif

klem4
Цитата
Ну а если вы несогласны то могу лично сделать свою прогу на пять файлов нечетабельной, и попросить вас ее расшифровать


Вааау! И ты уверен, что _никто_ на этом форуме не сможет разобраться, если ты просто уничтожишь все форматирование ? Я бы не стал так рисковать.

послушай, какой ответ ты хочешь получить на свой вопрос ?

Цитата
Почему надо избегать собсственного удобства, и нездрожать людей кодами которые даже дешифратор струдом берет. Ответьте.


Люди пишут программы так как умеют, а стиль приходит лишь с опытом, у большинства начинающих программистов как ты наверное догадываешься его быть не может.

Malice
Цитата(Boss_kit @ 13.11.2007 21:06) *

Блин Меня заполили...
В общем полностью согласен... Не воспринимаем текст без пробелов!!! Застрелиться проще mega_chok.gif
Определитесь!!!

Это, я так понимаю, камень в мой огород smile.gif
Как писать код - дело каждого.. Если ты пишешь лабу и в ней разбираться преподу или ты учишься программировать, то форматируй по-правильному, чтоб и самому разобраться и другим проще было. А я пишу так, как мне проще.. Если для кого то - то пусть он хоть разберется в том, что ему дали.
Приведенный пример - просто сокращение однотипных операций, никакой логики, законченная мысль.. В столбик конечно красиво, но безсмысленно, по-моему. В одну строку сварачиваю обычно некий самостоятельный блок, в развернутом виде наблюдать который при пролистывании незачем, только мешает. К примеру:
Код
while x>0 do begin if odd (x mod 10) then inc (a) else inc (b); x:=x div 10; end;

..сделало свое дело и незачем его в столбик писать. Это, конечно, моё имхо, никому не навязываю, мне так проще разобраться в своем коде, а не от того, что я пробелы экономлю wink.gif
Lapp
Уважаемый Инкогнито!
В целом, твоя позиция понятна и не вызывает особых протестов. Форматирование программного текста действительно важно для серьезного занятия программированием. Да что там говорить, правильное форматирование текста вообще очень важно в жизни, во многих ситуациях. Возьмем, к примеру, эту фразу:
Цитата(-Инкогнито- @ 13.11.2007 21:11) *

Вот люди пишут правильно кто станет спорить с таким заявлением.

Она написана без запятой (или тире) и без вопросительного знака. И читать ее действительно несколько затруднительно..

Но ничего. Мы стараемся! smile.gif
volvo
Цитата
мне так проще разобраться в своем коде
Ключевые слова выделены... В своем может и проще. Но ты находишься на форуме, где либо задаешь вопрос, либо на него отвечаешь... То есть, в твоем коде будут разбираться другие люди... Зайди вот сюда и попытайся разобраться в ЭТОМ: Паскаль. Деление матриц. Немогу запустить программу!

А знаешь, насколько проще будет его прочесть, если он будет форматирован?
Malice
Цитата(volvo @ 14.11.2007 10:15) *

Ключевые слова выделены...

Конечно, ведь свой стиль у меня появился не от того, что я всю жизнь трачу на ответы в форумах, а от того, что что-то пишется для себя..

И наверное так гараздо красивее и понятнее:
function CreatePlane (
Point1, point2, point3, point4: integer; {number of points to be added to the plane }
var CurrentPlane:integer {number of current plane}
): boolean; {return success of operation}
begin
inc (CurrentPlane); {adding new plane}
if CurrentPlane > MAxquantityPlane then
begin
ShowWarningMessage ('Sorry dear user, I can not add planes !!');
CreatePlane:=false;
end
else
begin
plane[1, CurrentPlane]:= point1; {fill the array of planes..}
plane[2, CurrentPlane]:= point2;
plane[3, CurrentPlane]:= point3;
plane[4, CurrentPlane]:= point4;
CreatePlane:=true;
end;
end;


чем просто
procedure pl_ (q,w,e,r:integer);  
begin
inc (pll); pl[1,pll]:=q; pl[2,pll]:=w; pl[3,pll]:=e; pl[4,pll]:=r;
end;

Это уж кому чего..
Но если кому то не понятно, спрашивайте, я объясню, мне не жалко smile.gif Я ж не скажу типа:
" mad.gif На ХАЛЯВУ еще и не устраивает ? Не нравится ? Не ешь ! dry.gif ". Или типа того wink.gif
klem4
Malice, а ты не считаешь, что запись нескольких операций в строчку, тем более цикла, в котором выполняются несколько операций, сильно может затруднить отладку и поиск ошибок ?
Malice
Цитата(klem4 @ 14.11.2007 10:47) *

Malice, а ты не считаешь, что запись нескольких операций в строчку, тем более цикла, в котором выполняются несколько операций, сильно может затруднить отладку и поиск ошибок ?

Почему то нет.. Гараздо сложнее для меня станет, если код будет вытянут на несколько экранов.
-Инкогнито-
Цитата(klem4 @ 14.11.2007 9:44) *

Вааау! И ты уверен, что _никто_ на этом форуме не сможет разобраться, если ты просто уничтожишь все форматирование ? Я бы не стал так рисковать.

послушай, какой ответ ты хочешь получить на свой вопрос ?
Люди пишут программы так как умеют, а стиль приходит лишь с опытом, у большинства начинающих программистов как ты наверное догадываешься его быть не может.

Извини но мне кажется люди при общении обмениваются опытом, то бишь и я предлагаю сразу писать проги как положено, так как стиль программирования, это так же важно как правильно писать. Ну, а если несогласен извини, мое дело помощь предложить, и тему для правильного спора, а в последствии возможно для обучения, этому тоже учат.
Гость
Цитата(Lapp @ 14.11.2007 10:04) *

Уважаемый Инкогнито!
В целом, твоя позиция понятна и не вызывает особых протестов. Форматирование программного текста действительно важно для серьезного занятия программированием. Да что там говорить, правильное форматирование текста вообще очень важно в жизни, во многих ситуациях. Возьмем, к примеру, эту фразу:

Она написана без запятой (или тире) и без вопросительного знака. И читать ее действительно несколько затруднительно..

Но ничего. Мы стараемся! smile.gif

Спасибо за поддержку моего мнения, но я лишь говорю о том что и этому, как и русскому языку, надо учить.
Гость
Цитата(Malice @ 14.11.2007 10:32) *

Но если кому то не понятно, спрашивайте, я объясню, мне не жалко smile.gif Я ж не скажу типа:
" mad.gif На ХАЛЯВУ еще и не устраивает ? Не нравится ? Не ешь ! dry.gif ". Или типа того wink.gif

Я на вас и нерасчитывал, по той простой причине, что нет ничего хуже чем переучивать.
Bard
Цитата
Почему то нет.. Гараздо сложнее для меня станет, если код будет вытянут на несколько экранов.

Я стобой полностью согласен Malice. Для меня в частности удобнее когда программу можно поместить в макс. 2-3 экрана yes2.gif . Но естественно не все операции в одну строчку no1.gif . По моему главное чтобы все было на месте между своим Begin-ом и End-ом. В одну строчку можно написать только похожые операнды wink.gif А вот на счет пробелов я думаю хватит и 1-го или 2-х. good.gif


Пример:


Var
a,b:integer;

Function min(a,b:integer):integer;
Begin
If a>b then min:=b
else min:=a;
End;

Begin
Readln(a); Readln(b);
Writeln(min(a,b));
End.

cool.gif
Malice
Цитата(Bard @ 15.11.2007 16:45) *

Я стобой полностью согласен Malice.

Наверное причина такого сжатого кода - моя плохая оперативная память smile.gif Пока листаю, забываю что там раньше было, а когда все на виду - еще справляюсь.. Так то вот, старость не радость lol.gif (зларадствовать только не надо,
зато я и не злопамятный по этой же причине, это плюс blum.gif )
мисс_граффити
на LISPе никто писать не пробовал?.. в одну строчку.
например:
Код
(DEFUN RES1 (LST1 LST2)
  (JOINLSTS (JOINLSTS (REVERSE (CONS (SDGN LST1)(ALLUSDGN LST1)))(GLUE (ALLDSDGN LST1)(REVERSE (ALLUSDGN LST2))))(CONS (SDGN LST2) (ALLDSDGN LST2))))

как - нормально читается? сразу видно, где от какой ф-ции аргументы?
а без пробела между именем ф-ции и аргументами работать не будет. так что - не стоит категорично говорить "никогда не ставится".
Boss
Есть еще один пример экономии места :
asm mov dx,3dah; @q: in al,dx; test al,8; jz @q end;

Вся проблема в том, что не все знают Паскалевский asm... Можно только догадаться, что ';' обозначает следующую строку.
Malice
Цитата(Boss @ 15.11.2007 22:13) *

Есть еще один пример экономии места :
asm mov dx,3dah; @q: in al,dx; test al,8; jz @q end;

Вся проблема в том, что не все знают Паскалевский asm... Можно только догадаться, что ';' обозначает следующую строку.

Если ты не знаешь асм, есть ли смысл в знании, что знак ";" - следующая строка ? Как бы это тебе помогло ?
ps И это не следующая строка, а разделение операторов как в обычном паскале..
pps чего к кубику пристал ? Напиши красивее если можешь, написано же - из очень давнего, этому коду уж больше 10 лет имхо.. blum.gif
ppps если считаешь себя умнее автора тех строк, раз критикуешь код, - напиши лучше ! Красиво и понятно..
Boss
Да так asm я примерно знаю, но писать на нем свободно не могу. За кубик прошу прощения, просто передо мной стоит задача разобрать 3D графику, вот пытаюсь понять твой метод вращения куба...
Malice
Цитата(Boss @ 15.11.2007 22:28) *

вот пытаюсь понять твой метод вращения куба...

Ну что ж.. Если форматирование так помогает пониманию почему бы просто не расставить нужные пробелы и табуляции, на это уйдет не более 5 минут. Дя больших кодов даже программы вроде есть автоматического форматирования yes2.gif
Altair
Развели флейм.
Разумеется форматирование кода вещь просто необходимая, более того современные редакторы сами форматируют код.
А те кто не форматируют свой код умышленно просто не уважают тех, кто будет с его кодом работать.
andriano
Цитата(Malice @ 14.11.2007 10:59) *

Почему то нет.. Гараздо сложнее для меня станет, если код будет вытянут на несколько экранов.

На первый взгляд - логично.
Действительно, трудно осознать, что делает блок, не помещающийся целиком на экран.
Однако в этом случае на помощь приходит декомпозиция: разделение одной подпрограммы на несколько, выполняющих более дробные функции.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.