На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Стандартное оформление кода Delphi неудобочитаемо :(
    Цитата kuzduk @
    ибо правильно. истинно глаголю!

    Рекомендую добавлять ИМХО :) Истина в последней инстанции не наша прерогатива :) Тем более при декларации столь сомнительных вещей...

    Добавлено
    Цитата #SI# @
    Сань, я парился в чужом коде. В отладчике...

    Не ты один, поэтому знаю, что обфусцирование кода неграмотными авторами очень сильно затрудняет понимание самого алгоритма, куда и относится в том числе неграмотное студенческое форматирование текстов...
      Цитата
      Рекомендую добавлять ИМХО
      не люблю иностранные слова. "истинно глаголю" - звучит твёрже и душевнее))
        Цитата Rouse_ @
        обфусцирование кода неграмотными авторами
        Дык грамотные в моей области не попадались! :wall:
        Цитата kuzduk @
        не люблю иностранные слова. "истинно глаголю"
        Это в МногоШум - там поймут (или забанят). Как фишка ляжет (ака на всё воля Божья).
          Цитата kuzduk @
          "истинно глаголю" - звучит твёрже и душевнее))

          Имею Мнение Хрен Оспоришь - звучит гораздо убедительней :)
            Цитата
            Имею Мнение Хрен Оспоришь - звучит гораздо убедительней
            :D :D :D :D
            http://video.yandex.ru/users/kuzduk/view/20/#
              Цитата kuzduk @
              Подпись выключена.
              Кандидат на горшочек :whistle: .
                Цитата kuzduk @
                Аргументом что моё форматирование более наглядное является раскраска блоков цветами. Эта раскраска конкретно и наглядно показывает вашему глазу наглядность моего форматирования.


                Очень сомнительное заявление. Я уже сказал про многоэтажность - бессмысленное растягивание кода по вертикали, в результате чего взглядом охватывается меньшая область (тем более что слово then не несет никакой смысловой нагрузки и не зря во многих языках после if-а никакого then нет). Это первое. Второе - стандарты на форматирование кода существуют для того, чтобы чужой код было проще понимать. И в этом смысле стандарт, продвигаемый разработчиками вместе с исходниками стандартных библиотек и должен являться единственной и общей нормой. Потому что введя свои правила ты заставляешь людей адаптироваться одновременно к двум стилям. Ну а на самом деле в любой нормальной организации где приняты требования к оформлению кода тебе за такую самодеятельность оторвут руки и будут правы
                Сообщение отредактировано: --Ins-- -
                  Цитата --Ins-- @
                  Я уже сказал про многоэтажность
                  Кто на Лиспе писал - поймут!
                  Цитата --Ins-- @
                  не зря во многих языках после if-а никакого then нет
                  И не только в Си!
                    Цитата --Ins-- @
                    Я уже сказал про многоэтажность - бессмысленное растягивание кода по вертикали, в результате чего взглядом охватывается меньшая область

                    Именно поэтому я и считаю, что begin в отдельной строке уместен только в начале процедуры/программы. Во всех прочих случаях begin гораздо более уместен в той же строке что и if..then, for...do, with...do и т.п.
                    Ну и конструкция:
                    ExpandedWrap disabled
                      end
                      else begin

                    мне тоже не нравится. end в отдельной строке не должен быть, если это ещё не окончание блока условного ветвления.
                    На мой вкус гораздо лучше такой код:
                    ExpandedWrap disabled
                      if ... then begin
                        ...
                      end else begin
                        ...
                      end;
                    Сообщение отредактировано: northener -
                      Цитата northener @
                      На мой вкус гораздо лучше такой код:

                      А такой
                      ExpandedWrap disabled
                        if ...................................
                           ...................................
                           ................................... then begin
                           ................................
                           ................................
                           ................................
                        end else begin
                           ...
                        end;
                      тоже "гораздо лучше"?
                      Сообщение отредактировано: leo -
                        Цитата leo @
                        А такой
                        CollapsedWrap disabledLine numbers off

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

                        тоже "гораздо лучше"?

                        Нет. Но я бы написал не совсем так, а так:
                        ExpandedWrap disabled
                          if ...............................
                          ..................................
                          .................................. then begin
                            ............................
                            ............................
                            ............................
                          end else begin
                            ...
                          end;
                        Сообщение отредактировано: northener -
                          Цитата --Ins-- @


                          На самом деле это твои многоэтажные конструкции нечитаемы. А стандартное оформление у тебя все равно неверно. Нужно не
                          CollapsedWrap disabledLine numbers off

                          if true then //блок then команд
                          else //блок else команд


                          а
                          CollapsedWrap disabledLine numbers off

                          if true then
                          //блок then команд
                          else
                          //блок else команд


                          Чтобы как минимум при прогоне под отладчиком по строкам было видно когда мы перешли по условию, а когда - нет

                          Ну и вот ещё одно спорное утверждение. Код то всё таки пишется не для отладчика. Так что простой код вполне может выглядеть как:
                          ExpandedWrap disabled
                            if A < B then Smths:=Value1 else Smths:=Value2;

                          А возникнут проблемы при отладке - во многих случаях достаточно после выполнения этой строки проверить значение Smths.
                          P.S. Конечно возможны проблемы с оптимизатором. Но они не такие частые и не столь серьёзные. Имхо. Да и в случае конкретной проблемы всегда можно "разбить" эту строку на две строки. А после отладки вернуть всё на одну строку.
                            Ба, с какой страстью серьёзные и уважаемые мужи ударились в холивар! :rolleyes:
                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                            0 пользователей:


                            Рейтинг@Mail.ru
                            [ Script execution time: 0,0401 ]   [ 17 queries used ]   [ Generated: 28.03.24, 19:30 GMT ]