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

Вниз

Давайте введем единый стандарт на оформление текста программ...   Найти похожие ветки 

 
Goida ©   (2004-05-14 23:12) [0]

Меня на эту мысль натолкнула одна из соседних веток.
Вот например, так писать не правильно:

if true then begin
 ...
end else begin
 ...
end;

А правильно так:

if TRUE
then begin
       ...
    end
else begin
       ...
    end;

Сразу видно где что, что к чему... И еще можно по поводу обзавания переменных. Типа венгерской нотации. Все конечно ей пользутся, но это выглядит ужасно. Например, переменная типа TLabel:
- lVar
- labelVar
- VarLabel
и пр.
Договориться и жестко придерживаться префиксов в названиях.
Так же и константами и переменными, для различения их. Скажем, константы пишем только большими буквами, а переменные - только не одними большими.
Что думаете?


 
Sergey Masloff   (2004-05-14 23:16) [1]

Goida ©   (14.05.04 23:12)  
1) Во первых в любой команде и так есть стандарт.
2) Во вторых твой вариант ужасен
3) С какого фига я буду придерживаться стандарта предложенного каким-то Goida © а ты - предложенного не менее каким-то  Sergey Masloff (tm)


 
default ©   (2004-05-14 23:16) [2]

а как же свобода выбора?


 
Vasya.ru   (2004-05-14 23:19) [3]

По этой теме много статей "о хорошем стиле программирования" написано.
> А правильно так:
> if TRUE
> then begin
>       ...
>    end
> else begin
>       ...
>    end;

А почему не так?
If TRUE Then
 Begin
   ...
 End
 Else
   Begin
     ...
   End;
Тоже легко читается


 
Игорь Шевченко ©   (2004-05-14 23:22) [4]


> Вот например, так писать не правильно:
>
> if true then begin
>  ...
> end else begin
>  ...
> end;


Да ? Странно, уже 9 лет так пишу на Delphi, ни разу не слышал, что это неправильно. Керниган и Ричи (а это их стиль) вообще-то очень неглупыми людьми были...


> Давайте введем единый стандарт на оформление текста программ...
>


Давайте. Как в VCL, у всех есть, ничего объяснять не надо. У Тейксейры и Пачеко этому самому стандарту целая 6-ая глава посвящена в книге "Delphi 5, руководство разработчика".
Согласен ?


 
Style ©   (2004-05-14 23:23) [5]

Считаю "стандартом" - исходники VCL;
Все равно мы в них заглядываем, и написано там все довольно читаемо. В общем если придерживаться их стиля, то это уже хорошо.


 
Goida ©   (2004-05-14 23:24) [6]

Вы плохо читаете? Я же не говорю ПРИНИМАЙТЕ МОЙ СТАНДАРТ. :( Я сказал: давайте разработаем. Понятно, что у каждой команды есть свои стандарты, но нужно думать о взаимодействии с другими людьми. Придет, например, новичек. До этого он работал у других и у них был другой стандарт. Теперь ему нужно будет привыкать к вашему, что займет какое-то время и снизит его производительность.


 
Goida ©   (2004-05-14 23:29) [7]


> А почему не так?
> If TRUE Then
>  Begin
>    ...
>  End
>  Else
>    Begin
>      ...
>    End;

Почему Я так не пишу.
Потому что с заглавной пишу идентификатора, а это служебные слова. Выделение then и else позволяет лучше их видеть и зрительно разбивает на две части код лучше, чем другие варианты.


 
Игорь Шевченко ©   (2004-05-14 23:30) [8]

Goida ©   (14.05.04 23:24)

Цитата:

"Благодаря использованию единого стиля написанные разными программистами программы станут для всех понятными и удобочитаемыми.
....
Однако мы не рекомендуем слишком сильно отклоняться от стандартов, применяемых разработчиками фирмы Borland. Суть в том, что, если в вашу команду придет новый программист, вероятнее всего он будет знать именно стандарты фирмы Borland"

Ку ?


 
Style ©   (2004-05-14 23:31) [9]


> Теперь ему нужно будет привыкать к вашему, что займет какое-то
> время и снизит его производительность.


Лажа это все, ни кто не будет писать под единым стандартом...
Более того менять свои принципы написания кода. ИМХО - если и делать такой "стандарт", то только на уровне редактора кода Delphi, где бы жестко устанавливались определенные правила (ну возможно были бы варианты этих правил для выбора)...
Например написал ты

const
  value = 100;

поставил точку с запятой, и редактор автоматически VALUE большими буквами написал и заменил его во всем остальном коде.


 
Goida ©   (2004-05-14 23:32) [10]


>  if true then begin
> >  ...
> > end else begin
> >  ...
> > end;
>
>
> Да ? Странно, уже 9 лет так пишу на Delphi, ни разу не слышал,
> что это неправильно

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


 
Goida ©   (2004-05-14 23:35) [11]


> Лажа это все, ни кто не будет писать под единым стандартом...
> Более того менять свои принципы написания кода

Это уже зависит от качеств человека. Смог себя заставить, значит и проект сможешь написать. А если такую мелочь не можешь себя заставить делать, то стоит ли тебе проект доверять? Не так ли? Или рассуждение не верное?


 
Игорь Шевченко ©   (2004-05-14 23:38) [12]

Goida ©   (14.05.04 23:32)


> А если тебе понадобится прокоментировать условие?


А зачем его комментировать ? (Я серьезно)


 
Gero ©   (2004-05-14 23:39) [13]


> Я сказал: давайте разработаем

Поздно. Это уже сделали до нас.

---
Все вышесказанное воспринимать как ИМХО.


 
default ©   (2004-05-14 23:40) [14]

Goida ©   (14.05.04 23:35) [11]
согласись главное условие - это несплошно код
а кто работает в командах привыкнут к стилю друг друга быстро


 
Style ©   (2004-05-14 23:43) [15]


> Не так ли? Или рассуждение не верное?


Не согласен...
Главное, что нужно - это придерживаться тех правил которые зрительно можно заметить в исходниках VCL, т.е. в коде Borland;
И если код вполне дополнен комментариями, то ИМХО этого достаточно для того, чтобы работать в команде. Все остальное - это придирки со стороны руководства.
А если ты начинаешь работать в новом уже существующем проекте, то рано или поздно, тебе все равно придется ознакамливаться с принципами этого проекта, с модулями, основными классами, функцими и т.д.


 
Игорь Шевченко ©   (2004-05-14 23:43) [16]


> а кто работает в командах привыкнут к стилю друг друга быстро


Гораздо быстрее они привыкнут к ЕДИНОМУ стилю. Особенно из-под палки.


 
Goida ©   (2004-05-14 23:43) [17]


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

В моем примере не зачем. Но бывают разные условия: составные, с приминением каких-то собственных идентификаторов... Хотя я понял: ты не думаешь о последрвателях и о будущем. Представь, попросят тебя через 10 лет поправить прогу, а ты уже 10 других проектов написал и напрочь забыл о какой проге тебе говорят (наврядли забудешь, ну ладно). Так вот посмотрев код, ты подумаешь: и почему я не коментировал его тогда? Или не подумаешь?


 
Mihey ©   (2004-05-14 23:44) [18]

Была такая мода в 1980-е - всё с большой буквы писать.


 
Goida ©   (2004-05-14 23:45) [19]


> default ©   (14.05.04 23:40) [14]
> Goida ©   (14.05.04 23:35) [11]
> согласись главное условие - это несплошно код
> а кто работает в командах привыкнут к стилю друг друга быстро

С этим согласен.


 
Goida ©   (2004-05-14 23:46) [20]


> Style ©   (14.05.04 23:43) [15]

А мне кажется мы состоим из мелочей.


 
OlegGashev ©   (2004-05-14 23:46) [21]

Borland придерживается два стиля комментирования условия


if true then //comment
  ....



{comment}
if true then
  ....


 
Style ©   (2004-05-14 23:47) [22]

Помница была у меня интересная книга
Ален Голуб, "Правила программирования C&C++", называется.
Вот там он хорошо основные правила писал.


 
Goida ©   (2004-05-14 23:48) [23]


> Mihey ©   (14.05.04 23:44) [18]

Да, я тоже модничал так. Хотя это было в 90х...


 
default ©   (2004-05-14 23:49) [24]

Игорь Шевченко ©   (14.05.04 23:43) [16]
я имел ввиду чтение кода, писать, конечно, каждый будет по-своему


 
Игорь Шевченко ©   (2004-05-14 23:50) [25]


> Хотя я понял: ты не думаешь о последрвателях и о будущем.


Не забывай добавлять IMHO, пожалуйста.


> Представь, попросят тебя через 10 лет поправить прогу, а
> ты уже 10 других проектов написал и напрочь забыл о какой
> проге тебе говорят (наврядли забудешь, ну ладно). Так вот
> посмотрев код, ты подумаешь: и почему я не коментировал
> его тогда? Или не подумаешь?


Ты мой код, прости, видел ? Скорее всего, не подумаю.

hint: посмотри, много ли условий прокомментировано в исходниках VCL.


 
Goida ©   (2004-05-14 23:51) [26]


> OlegGashev ©   (14.05.04 23:46) [21]

Мне почему-то кажется, что эти модули писались разными отделами одного Борланда :))


 
Goida ©   (2004-05-14 23:54) [27]


> Не забывай добавлять IMHO

Я думаю это и так понятно.

> посмотри, много ли условий прокомментировано в исходниках
> VCL

Ты просто ответь: стоит ли коментировать так, что бы другому програмеру стало понятно что происходит в твоем коде через 5 минут или не стоит?


 
OlegGashev ©   (2004-05-14 23:54) [28]

Goida ©   (14.05.04 23:51) [26]
Я просмотрел только comctrls.pas.

Разница в оформлении исходников наблюдается также у Микрософта. При чем, очень заметная разница.


 
Goida ©   (2004-05-14 23:56) [29]


> Ты мой код, прости, видел ? Скорее всего, не подумаю

Ты бери в общем. Мы ведь не тебя конкретно обсуждаем.


 
Goida ©   (2004-05-14 23:57) [30]


> OlegGashev

Но это ведь не значит, что это правильно. Плохо все это :(


 
Игорь Шевченко ©   (2004-05-14 23:57) [31]


> стоит ли коментировать так, что бы другому програмеру стало
> понятно что происходит в твоем коде через 5 минут или не
> стоит?


Я отвечу по-другому. Код с самого начала надо писать так, чтобы без комментариев или с минимумом их было понятно, что в нем происходит, и другому программисту через 5 минут, и тебе самому через полгода. Если через полгода понятно, то и через 10 лет будет понятно.
Опять же, советую обратиться к исходникам VCL, как к образцу.

ЗЫ: Я чту заповеди святого Мартина :)


 
OlegGashev ©   (2004-05-14 23:59) [32]

Goida ©   (14.05.04 23:57) [30]
Если будет директива придерживаться такого-то стандарта, будешь придерживаться, иначе будут бить по пальцам. :-)


 
Goida ©   (2004-05-15 00:04) [33]

Ладно, все понятно. Будем писать так как пишем :) Это наилучший вариант :) А когда начнут бить по пальцам, тогда стоит опять поднять эту тему.


 
Игорь Шевченко ©   (2004-05-15 00:06) [34]

Goida ©   (14.05.04 23:56)

А если в общем, тогда что брать ?

Исходники VCL или исходники Автосхемы Дмитрия О ?

Это, извини, две огромные разницы.
Давай тогда договоримся о том, что мы рассматриваем, как требующее подведения под стандарт.


 
Goida ©   (2004-05-15 11:43) [35]


> Игорь Шевченко ©   (15.05.04 00:06) [34]


> Исходники VCL или исходники Автосхемы Дмитрия О ?

Я не призываю брать что-то за основу. Можно и без неё. Неужели не понятно, что можно договориться всем до чего-то одного. Предложить варианты, проголосовать за него. А потом придерживаться выбранного варианта в обязательном порядке. Что-то типа кодекса чести у программиста. Понятно, что можно будет и по другому оформлять тексты, но это будет лишь говорить о черте характера самого программиста. А там уж работодателю принимать решение.
Я считаю, что нужно разработать стандарт. А на основе чего он будет - это дело десятое. Главное, чтобы он поддерживался большинством.


 
Nikolay M. ©   (2004-05-15 11:59) [36]

http://delphi.vitpc.com/asp/viewitem.asp?UrlItem=/article/coderules.htm
А можно еще бесконечное число таких стандартов придумать, которые будут различаться количеством пробелов перед операторами. И что, после Автосхема станет хорошей программой?

ПС
"Разруха - она в головах" (с).


 
Иксик ©   (2004-05-15 12:13) [37]

http://community.borland.com/soapbox/techvoyage/article/1,1795,10280,00.html
Object Pascal Style Guide
This article documents a standard style for formatting Delphi code. It is based on the conventions developed by the Delphi team.


 
Игорь Шевченко ©   (2004-05-15 12:30) [38]


> Я считаю, что нужно разработать стандарт. А на основе чего
> он будет - это дело десятое. Главное, чтобы он поддерживался
> большинством.


Уже все разработано, я (и не только я) уже который пост об этом твержу. Им и рекомендуется пользоваться.


 
Goida ©   (2004-05-15 12:52) [39]


> Nikolay M. ©   (15.05.04 11:59) [36]

Вот это да!!! Да я так и пишу, за исключением пары моментов! Ну раз мой стиль письма признан, тогда я спокоен :)

А вообше тему завел об этом, потому что пришлось разбирать текст предшественнков. Такое ощущение, что понятие о стиле им не ведомо было. Ну так все нагорожено, так захламлено, что 1/4 времени расставлял коментарии и служемные слова... Все таки 4 года до меня писали...


 
Nikolay M. ©   (2004-05-15 16:11) [40]


> 1/4 времени расставлял коментарии и служемные слова... Все
> таки 4 года до меня писали...

А тот, кто будет это разгребать после тебя, тоже, наверное, будет материться и постить сюда предложения о "правильном" форматировании и оформлении :)



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

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

Наверх




Память: 0.58 MB
Время: 0.049 c
14-1085131447
blackman
2004-05-21 13:24
2004.06.06
На 22 мая


1-1085226382
zep
2004-05-22 15:46
2004.06.06
перемещение Image a


3-1084785872
AlexKont
2004-05-17 13:24
2004.06.06
Delphi7,MS SQL


4-1083080101
DoG
2004-04-27 19:35
2004.06.06
Pipe s


3-1084419857
Адмирал
2004-05-13 07:44
2004.06.06
Список БД в InterBase/FireBird