Текущий архив: 2006.12.31;
Скачать: CL | DM;
ВнизОптимальный стиль программирования Найти похожие ветки
← →
Cyrax © (2006-12-01 20:31) [0]1. В Delphi для имён типов стандартом является буква "T" вначале имени. Причём для всех типов, включая классы. Хотя для классов можно было использовать и букву "C". Для имён указателей используется буква "P".
В С и C++ картина совсем иная. Имена типов и классов формально никак не выделяются.
2. В Delphi активно используются заглавные буквы для неконстант, для разделения слов в составе имени используется регистр. В C и C++ - знак "_", причём заглавные буквы в составе имени неконстант встречаются намного реже, чем в Delphi...
3. Отступы. По-моему, 8 пробелов это уже слишком. Фрагмент кода
void TiXmlBase::PutString( const TIXML_STRING& str, TIXML_STRING* outString )
{
int i=0;
while( i<(int)str.length() )
{
unsigned char c = (unsigned char) str[i];
if ( c == "&"
&& i < ( (int)str.length() - 2 )
&& str[i+1] == "#"
&& str[i+2] == "x" )
{
Оптимальный вариант - 2 или 4 пробела. Я использую 2...
← →
Джо © (2006-12-01 20:33) [1]И в чем суть ветки? Крик души? :)
← →
Cyrax © (2006-12-01 20:38) [2]Джо © (01.12.06 20:33) [1]
И в чем суть ветки? Крик души? :)
Хочу узнать предпочтения Delphi"стов и C-ников относительно организации кода. Часто вижу код, извращённый до невозможности... А веть ещё и либы пишут...
← →
Cyrax © (2006-12-01 20:39) [3]Да и по первым двум веткам - разница налицо. Тут уже встаёт вопрос, с чем связаны эти две тенденции (для Delphi/Pascal и C/С++)...
← →
ANTPro © (2006-12-01 20:46) [4]> [2] Cyrax © (01.12.06 20:38)
Эксперт тебе в руки :)
http://www.dow.wau.nl/aew/downloads/DelForEx.zip
← →
Cyrax © (2006-12-01 21:06) [5]Что там ?
6 метром - многовато...
← →
Vga © (2006-12-01 21:07) [6]> [3] Cyrax © (01.12.06 20:39)
Исторически. Кстати, встречал для С++ рекомендации разделять слова заглавной буквой, но первое слово - с маленькой. Примерно так myFunctionWithLongMultiwordName() :)
Примерно такой стиль вроде и Qt поощряет...
← →
Чапаев © (2006-12-01 21:08) [7]> Хочу узнать предпочтения Delphi"стов и C-ников относительно
> организации кода
А предпочтения 1С-ников не хочешь? Могу натравить франчайзинг...
← →
Vga © (2006-12-01 21:08) [8]> [5] Cyrax © (01.12.06 21:06)
Форматтер сорсов на Delphi. А вот откуда про 6 метров??? Он вроде меньше полуметра весит...
← →
Джо © (2006-12-01 21:09) [9]> Кстати, встречал для С++ рекомендации разделять слова заглавной
> буквой, но первое слово - с маленькой
Это т.н. "camelCase", используется активно в Java для имен методов.
← →
Vga © (2006-12-01 21:09) [10]> [2] Cyrax © (01.12.06 20:38)
Дельфист. Стиль - почти как в генофонде (на пробелы местами скуплюсь, и на комменты).
← →
Vga © (2006-12-01 21:10) [11]Кстати, то, что в С часто используются маленькие буквы с _ в качестве разделителя возможно связано с тем, что там все ключевые слова в нижнем регистре и язык регистрочуствительный.
← →
ANTPro © (2006-12-01 21:12) [12]> [5] Cyrax © (01.12.06 21:06)
Какие 6 метров? 472кб...
Delphi Formatter - Встраивается в IDE. Жмем ctrl+D и открытый файл оформляется по стилю Borland.
← →
Он (2006-12-01 21:15) [13]
> 3. Отступы. По-моему, 8 пробелов это уже слишком
В студии 4. И в настройках настраивается. Как, впрочем, и в Delphi.
← →
Vga © (2006-12-01 21:15) [14]> [12] ANTPro © (01.12.06 21:12)
Не совсем. Стиль настраивается. Плюс штуки 4 пресетов стиля.
← →
ProgRAMmer Dimonych © (2006-12-01 21:31) [15]> Оптимальный вариант - 2 или 4 пробела. Я использую 2...
Объясните мне тупому, почему два? Неужели у всех программистов, кроме меня, так плохо со зрением, что один пробел и его отсутствие - неразличимы?
Очень часто приходится сталкиваться с кодом, в котором вложенных begin...end"ов не меньше десятка, я к этому отношусь нормально. Но когда каждая из этих строк в два раза по длине превышает ширину окна редактора, причём из-за этих самых пробелов, то это просто нечитаемо. Согласен, воспитывает умение и желание всё создавать своим мозгом, но иногда это становится крайностью.
← →
ANTPro © (2006-12-01 21:38) [16]> [15] ProgRAMmer Dimonych © (01.12.06 21:31)
> почему два?
Потому что, все измеряется степенью двойки :)
← →
Джо © (2006-12-01 21:41) [17]> [15] ProgRAMmer Dimonych © (01.12.06 21:31)
> Очень часто приходится сталкиваться с кодом, в котором вложенных
> begin...end"ов не меньше десятка
Коду такому — отступы не помогут, его нужно переписать.
← →
Vga © (2006-12-01 21:44) [18]> [15] ProgRAMmer Dimonych © (01.12.06 21:31)
Затем, что 18 и 20 пробелов проще различить, чем 9 и 10
← →
ProgRAMmer Dimonych © (2006-12-01 21:44) [19]> ANTPro © (01.12.06 21:38) [16]
2 в нулевой = 1.
> Джо © (01.12.06 21:41) [17]
Ну, иногда бывает, что такой код читать удобнее, но просто количество пробелов не позволяет этого делать, не трогая прокрутки. С ходу примера не приведу, но двойной for с двойным if"ом внутри (каждый из if"ов - с begin...end"ом) - это не фантастика, а вполне реальный код.
← →
isasa © (2006-12-01 21:44) [20]Крик души.
Все, что угодно, только не венгерская нотация. :)
← →
ProgRAMmer Dimonych © (2006-12-01 21:45) [21]> Vga © (01.12.06 21:44) [18]
:) ?
← →
Джо © (2006-12-01 21:46) [22]> [20] isasa © (01.12.06 21:44)
> Крик души.
> Все, что угодно, только не венгерская нотация. :)
Мой крик души: Всё, что угодно, только не этот противный Джавовский camelCase! :D
← →
Джо © (2006-12-01 21:48) [23]> С ходу примера не приведу, но двойной for с двойным if"ом
> внутри (каждый из if"ов - с begin...end"ом) - это не фантастика,
> а вполне реальный код.
Десятка не набирается:for
begin
for
begin
if
begin
if
begin
Всего 8 :)
Но и такое, по-моему, переписать нужно. Одинарными оступами не лечится :)
← →
Vga © (2006-12-01 21:49) [24]> [21] ProgRAMmer Dimonych © (01.12.06 21:45)
В прямом смысле. Чем больше отступ, тем он заметнее. Иначе в некоторых случаях становится сложно понять, какой это отступ/блок.
← →
Vga © (2006-12-01 21:50) [25]> [23] Джо © (01.12.06 21:48)
Да и влезает нормально (правда, у меня 17" ЖК в стандартном разрешении).
← →
Джо © (2006-12-01 21:52) [26]> [25] Vga © (01.12.06 21:50)
> > [23] Джо © (01.12.06 21:48)
>
> Да и влезает нормально (правда, у меня 17" ЖК в стандартном
> разрешении).
У меня 19, влезает тем более :) Но что с того, что он в экран помещается? Оно в мозгу не помещается, вот главная проблема :)
← →
Vga © (2006-12-01 21:53) [27]> [26] Джо © (01.12.06 21:52)
Если 19" ЖК и ничего не изменилось (т.е. они по прежнему 1280х1024) - то помещается точно также :)
А чтобы в мозгу не помещалось, есть и более эффективные методы, тут где-то на сишный сорец шахмат была ссылка :)
← →
ProgRAMmer Dimonych © (2006-12-01 21:54) [28]
> for
> begin
> for
> begin
> if
> begin
> if
> begin
После первого for"а тоже надо бы отступ сделать, как после второго. :)
А код вполне нормальный. IMHO.
> Vga © (01.12.06 21:49) [24]
В QBasic в своё время подпрограммы в редакторе показывалисьне прямо в тексте программы, а отдельно. Может, проще использовать что-то подобное, чем 5432135 пробела?
← →
Джо © (2006-12-01 21:56) [29]> [28] ProgRAMmer Dimonych © (01.12.06 21:54)
>
> > for
> > begin
> > for
> > begin
> > if
> > begin
> > if
> > begin
>
>
> После первого for"а тоже надо бы отступ сделать, как после
> второго. :)
Это просто опечатка у меня. Набирал прямо в форуме.
> А код вполне нормальный. IMHO.
Жутки код, жуткий. ИМХО :)
П.С. У меня такой тоже встречается, я не лицемер :)
← →
Vga © (2006-12-01 21:58) [30]> > Vga © (01.12.06 21:49) [24]
> В QBasic в своё время подпрограммы в редакторе показывалисьне
> прямо в тексте программы, а отдельно. Может, проще использовать
> что-то подобное, чем 5432135 пробела?
???
Насколько я знаю, подпрограммы (которые теперь функциями зовутся) и в дельфи отдельно. А коду, изобилующему goto вообще отступы ни к чему. Он и так разбору не подлежит.
← →
Vga © (2006-12-01 21:59) [31]> [29] Джо © (01.12.06 21:56)
На самом деле надо так:
for
begin
for
begin
if
begin
if
begin
← →
ProgRAMmer Dimonych © (2006-12-01 22:02) [32]> Vga © (01.12.06 21:58) [30]
В какой версии Delphi? У меня в 7 всё идёт в одном текстовом поле, одном окне редактора.
Кстати, goto ближе к ассемблеру. Если Вы мне покажете программу, в которой нет ни одного jmp, буду очень признателен.
← →
ProgRAMmer Dimonych © (2006-12-01 22:03) [33]> Vga © (01.12.06 21:59) [31]
Сколько пробелов? В этом шрифте смотрится вполне прилично, IMHO...
← →
TUser © (2006-12-01 22:08) [34]Я пробелов раньше ставил три. Логика - если надо будет вставить промежуточный уровень, то это легко можно следать даже два раза, несмещая кусок кода. Получалось, что где-то два пробела, глде-то 1, где-то три. Вот это было ужасно. Теперь ставлю два всегда. В последнее время стал не ставить "лишние" пробелы, например
for i := ...
for j := ... do begin
...
end;
вместоfor i := ...
for j := ... do begin
...
end;
← →
ANTPro © (2006-12-01 22:13) [35]> [19] ProgRAMmer Dimonych © (01.12.06 21:44)
> 2 в нулевой = 1.
Черт, про четность забыл сказать :)
← →
Vga © (2006-12-01 22:13) [36]> [32] ProgRAMmer Dimonych © (01.12.06 22:02)
Не на x86. Никакой замены jxx в этой системе команд нет.
> [33] ProgRAMmer Dimonych © (01.12.06 22:03)
2, как обычно. Разрешение надо выше ставить... И вообще, форматируй как хочешь, для приведения к любимому виду чужих сорцов есть DelFor и подобные.
> > Vga © (01.12.06 21:58) [30]
> В какой версии Delphi? У меня в 7 всё идёт в одном текстовом
> поле, одном окне редактора.
А в этом плане... Естественно в одном, там же только подпрограммы. Программа - это в dpr от begin до end. Обычно 2+<количество форм> строк.
← →
ProgRAMmer Dimonych © (2006-12-01 22:16) [37]> Vga © (01.12.06 22:13) [36]
> > В какой версии Delphi? У меня в 7 всё идёт в одном текстовом
>
> > поле, одном окне редактора.
>
> А в этом плане... Естественно в одном, там же только подпрограммы.
> Программа - это в dpr от begin до end. Обычно 2+<количество
> форм> строк.
Вот. А в QBasic отображалась только основная часть программы, а доступ к подпрограммам осуществлялся через F2. По нажатии на F2 выводился список всех процедур/функций программы свозможностью перехода к выбранной. На экране каждая процедура была похожа на отдельную программу (за исключением оформления как процедуры). В файл сохранялось единым целым. Так сказать, удобства ради.
← →
Vga © (2006-12-01 22:21) [38]> [37] ProgRAMmer Dimonych © (01.12.06 22:16)
В Delphi это уже не нужно, т.к. как я уже сказал, в большинстве модулей "основная часть программы" отсутствует.
← →
MeF Dei Corvi © (2006-12-01 22:27) [39]
> Вот. А в QBasic отображалась только основная часть программы,
> а доступ к подпрограммам осуществлялся через F2. По нажатии
> на F2 выводился список всех процедур/функций программы свозможностью
> перехода к выбранной. На экране каждая процедура была похожа
> на отдельную программу (за исключением оформления как процедуры).
Это же жутко неудобно!
← →
ProgRAMmer Dimonych © (2006-12-01 22:28) [40]> MeF Dei Corvi © (01.12.06 22:27) [39]
Чем?
Страницы: 1 2 3 вся ветка
Текущий архив: 2006.12.31;
Скачать: CL | DM;
Память: 0.56 MB
Время: 0.052 c