На главную Наши проекты:
Журнал   ·   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 неудобочитаемо :(
    Стандартное оформление кода Delphi неудобочитаемо

    Шаблоны идущие по умолчаию - от сатаны.

    Предлагаю свой взгляд на данный вопрос и своё решение: http://kuzduk.ru/_delphi_templates.html
    Сообщение отредактировано: kuzduk -
      На самом деле это твои многоэтажные конструкции нечитаемы. А стандартное оформление у тебя все равно неверно. Нужно не
      ExpandedWrap disabled
        if true then //блок then команд
        else //блок else команд

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

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

        Именно так и пишу. А выпендрёжЫ - дык именно от них вопросы уровня - А Пачиму??? :D
        Сообщение отредактировано: #SI# -
          Цитата
          ExpandedWrap disabled
            if true then
              //блок then команд
            else
              //блок else команд


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



          вот это аргумент. согласен. я бы для удобства отслеживания при отладке тоже бы на новые строки переносил. Но всё равно бы написа поприятнее для глаза:


          ExpandedWrap disabled
            if true
            then
              //блок then команд
            else
              //блок else команд
            Цитата kuzduk @
            ExpandedWrap disabled
              if true
              then
                //блок then команд
              else
                //блок else команд

            Писать then с тем же смещением от начала строки, что и if - идеологически неверно.

            PS. А за конструкцию if true я бы вообще расстреливал. :D
              kuzduk, предлагаю ознакомиться с рекомендациями форматирования кода от разработчиков языка.
              Их разрабатывали совсем не глупые люди.
              http://www.delphikingdom.com/asp/viewitem.asp?catalogID=802
                Цитата Rouse_ @
                kuzduk, предлагаю ознакомиться с рекомендациями форматирования кода от разработчиков языка.
                Их разрабатывали совсем не глупые люди.
                http://www.delphikingdom.com/asp/viewitem.asp?catalogID=802

                ознакомился. Кроме декларативных предписаний "правильно/неправильно" нет никаких аргументов. Почему так правильно, а так нет (конкретно для блока if)? Просто "так правильно". Так надо. Такой стандарт. так все пишут. А почему?

                мне вот такое "правильное" форматирование глаза режет:
                ExpandedWrap disabled
                  if A < B then
                  begin
                    DoSomething;
                    DoSomethingElse;
                  end
                  else
                  begin
                    DoThis;
                    DoThat;
                  end;


                а такое радует:
                ExpandedWrap disabled
                  if A < B
                  then
                  begin
                    DoSomething;
                    DoSomethingElse;
                  end
                  else
                  begin
                    DoThis;
                    DoThat;
                  end;
                  Попробую прояснить:

                  ExpandedWrap disabled
                    if A < B then // условие
                    begin // блок правильного выполнения условия
                      DoSomething;
                      DoSomethingElse;
                    end // завершение блока
                    else // в условии присутствует блок выполняющийся при его несработке
                    begin // блок не правильного выполнения условия
                      DoThis;
                      DoThat;
                    end;// завершение блока


                  и второй вариант:

                  ExpandedWrap disabled
                    if A < B // условие
                    then // мусор


                  Зачем и кому нужен мусор?
                  Повысить читабельность кода? Да бросьте...
                    Лично мне ближе по духу правила автора библиотеки ICS ICS & MidWare coding style
                      И в догонку, смысл переноса THEN на новую строку не имеет никакого смысла.
                      Хочется его отделить от условия? Так ведь это было бы оправдано только в случае возможности вот такой конструкции.

                      ExpandedWrap disabled
                        if A < B else


                      т.е. когда THEN можно сократить и сразу выполнить ELSE, а раз такого сделать нельзя, то и смысла нет в принципе.
                        Цитата Rouse_ @
                        предлагаю ознакомиться с рекомендациями форматирования кода от разработчиков языка.
                        Их разрабатывали совсем не глупые люди.
                        Розыч, их разрабатывали НЕ СОВСЕМ глупые люди.
                        Шо про заморочки Филиппа Кана думал Никлаус Вирт - мне неведомо. Но вот за оператор with я бы им обоим ... выкрасил. На пасху...
                          Цитата kuzduk @
                          Почему так правильно, а так нет (конкретно для блока if)? Просто "так правильно". Так надо. Такой стандарт. так все пишут. А почему?


                          Зато по твоей ссылке из первого поста все аргументированно, ага-ага :D
                            Цитата #SI# @
                            Но вот за оператор with я бы им обоим ... выкрасил. На пасху...

                            Цитата
                            Многие считают, что если шиповник растение, то можно применять его в любых количествах и сколько угодно времени. Повредить оно не может. На самом деле, бесконтрольное и бездумное применение шиповника может нарушить работу многих органов.
                              Цитата
                              Зато по твоей ссылке из первого поста все аргументированно, ага-ага

                              Я грю про наглядность кода.
                              Аргументом что моё форматирование более наглядное является раскраска блоков цветами. Эта раскраска конкретно и наглядно показывает вашему глазу наглядность моего форматирования.

                              Добавлено
                              Масло масляное написал, но специяльно. ибо правильно. истинно глаголю!
                                Сань, я парился в чужом коде. В отладчике...
                                Цитата kuzduk @
                                Аргументом что моё форматирование более наглядное

                                На вкус, на цвет... Кому и кобыла - невеста. Етс... :D
                                ЗЫ - нет в мире совершенства.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0453 ]   [ 17 queries used ]   [ Generated: 26.04.24, 10:52 GMT ]