Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

Оцените код 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.59 MB
Время: 0.047 c
15-1195932949
lookin
2007-11-24 22:35
2007.12.23
Наконец-то вопрос по теме сайта))


15-1195899179
KilkennyCat
2007-11-24 13:12
2007.12.23
Заключение о профессиях и мечтаниях.


4-1180950245
TCrash
2007-06-04 13:44
2007.12.23
Сообщение WM_USER_PREPARE_TO_CLOSE


4-1180708954
Углук
2007-06-01 18:42
2007.12.23
Ctrl+Insert через SendMessage


2-1196067619
webpauk
2007-11-26 12:00
2007.12.23
Блокировка компьютера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский