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

Вниз

Оцените код 2   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2007-11-23 19:05) [40]

> Германн  (23.11.2007 16:58:36)  [36]

Пробелы было жалко?


 
Германн ©   (2007-11-23 19:08) [41]


> Anatoly Podgoretsky ©   (23.11.07 19:05) [40]

Нет. Байты было жалко. Компилятор зараза не переваривает pas-файлы более 32К


 
J_f_S   (2007-11-23 19:16) [42]


> Нет. Байты было жалко. Компилятор зараза не переваривает
> pas-файлы более 32К

Это какой-то Паскаль для embedded устройств? :)


 
Германн ©   (2007-11-23 19:20) [43]


> J_f_S   (23.11.07 19:16) [42]

Для 51-го процессора.
:-)


 
Dmitry S(1)   (2007-11-23 20:18) [44]

Блин, после создания собственного c-подобного скрипта со всеми операторами pre-post incremement/decrement, указателями, статементами for, switch и тп, генерации кода, от дельфи блевать охота :) После visual assist для visual net - ставишь { скобку(shift + "["), а тебе сразу ставят "}" с верным переносом на следующей сторке ваш begin-end - просто ха-ха. Бедные убогие дельфисты с комплексом неполноценности. На форуме C++ дельфи не обсуждается, только на вашем форуме поливают грязью с++. Все как в жизни.


 
turbouser ©   (2007-11-23 20:28) [45]


> Dmitry S(1)   (23.11.07 20:18) [44]

Спасибо. Поржал. :))
Пеши исчо.


 
DVM ©   (2007-11-23 20:37) [46]


> После visual assist для visual net - ставишь { скобку(shift
> + "["), а тебе сразу ставят "}" с верным переносом на следующей
> сторке ваш begin-end

Вы давно делфи видели? Поглядите, например, D2007.


> На форуме C++ дельфи не обсуждается, только на вашем форуме
> поливают грязью с++

Там просто никто не знает его. Как показывает практика, программисты на делфи в большинстве своем владеют и си и делфи. Те кто программирует исключительно на си в большинстве своем о делфи вообще не имеют представления. Как они могут чего то сравнивать там.


 
Efir   (2007-11-23 20:55) [47]


> Dmitry S(1)   (23.11.07 20:18) [44]


А что ж ты здесь тогда забыл?


 
@!!ex ©   (2007-11-23 20:56) [48]

> [44] Dmitry S(1)   (23.11.07 20:18)

Ага. Сишники приходят похоливарить сюда. ;)


 
Anatoly Podgoretsky ©   (2007-11-23 20:58) [49]

> @!!ex  (23.11.2007 20:56:48)  [48]

Только плохо у них выходит на нашей площадке.


 
isasa ©   (2007-11-23 21:49) [50]

Взрослые люди, в некоторых местах, профессионалы, блин ...
Ну кому какая разница, ка он обозвал переменную. Ограничения - корпоративные правила, исключения - венгерская нотация(мужик дико удивил самоорганизованностью). С приходом ООП пиши, что поле значит своими словами ...
Кстати, уже можно и по русски ...


 
@!!ex ©   (2007-11-23 21:51) [51]

> [50] isasa ©   (23.11.07 21:49)

я не понял...


 
isasa ©   (2007-11-23 22:03) [52]

:)
Проехали ...

Качество кода определяется нк названиями переменных и т.д, а качеством использования ресерсов среды, в которой написан код.
Например, длинное наследование, или большое количество потомков - плохо(это с точки зрения MS), или использование оператора case (что меня изумило, добезобразия), много if в завершенном модуле ...


 
Anatoly Podgoretsky ©   (2007-11-23 22:04) [53]

> @!!ex  (23.11.2007 21:51:51)  [51]

Он имел ввиду последние версии Дельфи, там переменные можно называть на родном языке, единственный недостаток регистрозависимо. Можно написать - ДельтаВремени := ...


 
@!!ex ©   (2007-11-23 22:14) [54]

> [53] Anatoly Podgoretsky ©   (23.11.07 22:04)

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


 
isasa ©   (2007-11-23 22:17) [55]

@!!ex ©   (23.11.07 22:14) [54]
абстрактно


 
isasa ©   (2007-11-23 22:19) [56]

Зы. Это, все равно, что обсуждать почерк человека. Ошибки, или нерациональность - обсуждаемы. Остальное - холивар.


 
Anatoly Podgoretsky ©   (2007-11-23 22:20) [57]

> @!!ex  (23.11.2007 22:14:54)  [54]

Перпердикулярно.


 
isasa ©   (2007-11-23 22:24) [58]

Anatoly Podgoretsky ©   (23.11.07 22:20) [57]

Не, нельзя так, меня, в принципе, и первая ветка заинтересовала, но работа, будь она ладна, задрала ...
Боюсь затюкают "доброжелатели" простую душу ... :)


 
Anatoly Podgoretsky ©   (2007-11-23 22:28) [59]

Ну да, можешь таааааааакой холивар разжечь.


 
isasa ©   (2007-11-23 22:30) [60]

Чукча не писатель, чукча читатель ...
ОтписАлся ..


 
Германн ©   (2007-11-24 01:02) [61]


> DrPass ©   (23.11.07 15:20) [10]
>
> ...и еще пора избавляться от дурацкой студенческой привычки
> писать begin в той же строке, что и предыдущий оператор
>

Весьма "апломбное" утверждение. Некогда было днём заниматься архивами, поэтому промолчал. Сейчас время нашел. Не знаю сколько тебе лет, но сей стиль, который ты ругаешь появился очень давно. И не у студентов.
Например именно в этом стиле написана библиотека Turbo Professional. Кто хорошо помнит времена ДОСа и ТР5, тот хорошо знает эту библиотеку. Собственно тот, кто писАл тогда программы на Паскале только её и использовал (если, конечно не был дураком).
Идём дальше. Широко известная и очень популярная (и в добавок очень полезная всем новичкам) RxLibrary тоже использует такой стиль.


> DVM ©   (23.11.07 16:28) [15]
>
>
> > Не надо. Незачем раздувать код во вертикали, вставая бессмысленные
> > элементы.
>
> В VCL везде с новой строки ставят.
>

Не везде. В VCL Д4 есть 5 иных примеров. (Кстати я искал только then begin). В VCL Д6 - 32.
Но действительно - это скорее исключения из правил.


> DVM ©   (23.11.07 16:37) [19]
>
>
> > @!!ex ©   (23.11.07 16:31) [16]
>
>
> > И что это значит?
>
> Это значит, что begin ставят с новой строки. Лучше придерживаться
> традиций.
>

Лично для меня "традиция" - это Turbo Professional, с которого я и начинал.


 
Pavia ©   (2007-11-24 02:16) [62]

Пишу всегда  так

if True then
begin
end;

что бы для begin и end отступы совпадали. Тогда легко отследить где какой блок кончается где начинается следующий блок.


 
Германн ©   (2007-11-24 02:21) [63]


> Pavia ©   (24.11.07 02:16) [62]
>
> Пишу всегда  так
>
> if True then
> begin
> end;
>
> что бы для begin и end отступы совпадали. Тогда легко отследить
> где какой блок кончается где начинается следующий блок.
>

И что?


 
homm ©   (2007-11-24 07:21) [64]

Пишу всегда  так

if True then begin
  Code := Sode;
  inc(Pode);
  Dec(Mode);
end;


что-бы были верные выравнивания текста. Тогда легко отследить где какой блок кончается где начинается следующий блок.

Я что-то не так делаю?


 
Dmitry S ©   (2007-11-24 08:03) [65]

Раньше писал так
if True then begin
 Code := Sode;
 inc(Pode);
 Dec(Mode);
end;

Но с недавнего время пишу всегда так:
if True then
begin
 Code := Sode;
 inc(Pode);
 Dec(Mode);
end;

И вроде как лучше стало:)


 
isasa ©   (2007-11-24 09:12) [66]

Германн ©   (24.11.07 01:02) [61]

:)

Подтверждаю. Вот образец и того кода.
По качеству продукта видно, что писали серъезные дядьки и тетки.


{*********************************************************}
{*                     TPCMD.PAS 5.05                    *}
{*        Copyright (c) TurboPower Software 1987.        *}
{* Portions copyright (c) Sunny Hill Software 1985, 1986 *}
{*     and used under license to TurboPower Software     *}
{*                 All rights reserved.                  *}
{*********************************************************}

unit TpCmd;
 {-Convert keystrokes to commands. This unit is intended primarily for
   internal use.}
...
 function ScanCommands(K : KeyArrayPtr;
                       var CmdBuffer : CmdBuffArray;
                       BufNext : Word;
                       var Cmd : Byte;
                       var FoundAt : Word) : MatchType;
   {-Scan K^ for a match on CmdBuffer}
 var
   BufIndex : Word;
   CmdIndex : Word;
   CmdLen : Byte;
   Matching : Boolean;
 begin
   Cmd := NoCmd;
   CmdIndex := 0;
   CmdLen := K^[CmdIndex];

   {Scan the command list}
   while CmdLen <> 0 do begin
     FoundAt := CmdIndex;
     Inc(CmdIndex);
     BufIndex := 0;
     Matching := True;
     while Matching and (BufIndex < BufNext) and (BufIndex < CmdLen-1) do
       if CmdBuffer[BufIndex] = K^[CmdIndex+BufIndex] then
         Inc(BufIndex)
       else
         Matching := False;
     if not Matching then begin
       {No match, try next command}
       Inc(CmdIndex, CmdLen);
       CmdLen := K^[CmdIndex];
     end else begin
       if BufNext = CmdLen-1 then begin
         {Complete match}
         ScanCommands := FullMatch;
         Cmd := K^[CmdIndex+BufIndex];
       end else
         ScanCommands := PartMatch;
       Exit;
     end;
   end;

   {No match if we get here}
   ScanCommands := NoMatch;
 end;



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

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

Наверх




Память: 0.61 MB
Время: 0.014 c
15-1195735621
Bruther
2007-11-22 15:47
2007.12.23
Как сделать чтобы программа работала


15-1195852567
Evanescence
2007-11-24 00:16
2007.12.23
как в php-nuke 8 заменить динамические адреса на статические?


2-1195900395
Igor Zorkov
2007-11-24 13:33
2007.12.23
Как поместить MainMenu на ControlBar


15-1195943981
lookin
2007-11-25 01:39
2007.12.23
Криминальный талант (фильм) - где бы скачать...


2-1196011828
sdaf
2007-11-25 20:30
2007.12.23
проблемы с RxRichEdit