На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Модераторы: ANDLL, ALXR
  
> пробелы ИЛИ табы?, C/C++
   
пробелы ИЛИ табы?
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    Это было неизбежно :P

    Прикреплённая картинка
    Прикреплённая картинка


    Пояснение пунктов: пробелы ИЛИ табы? (сообщение #3768741)
    Сообщение отредактировано: B.V. -
    char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
    for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


    user posted image Чат Исходников в СкайпеЧат Исходников в ДискордеНе проходим, а заходим!
      Пока не голосовал: несколько минут пытался понять принцип вариантов, но не смог. :'(
      То ли 1 TAB==2 пробела, то ли отступ делается в 2 пробела/4 пробела/1 TAB/..., то ли ещё что. Что такое "сколько нужно TAB'ов"?
      Туманно.
        Да скокаможна то

        http://intellindent.info/seriously/
          Пробелы, конечно. IDE/редактор настраиваем на вставку пробелов вместо табов(а ещё лучше авто отступ при нажатии на таб). Ну или вообще автоформатирование кода(clang-format для плюсов, например) поможет.
          "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
            Это надо было сразу в холиварах создавать :D
            Цитата D_KEY @
            Пробелы, конечно.

            О, первый человек, не умеющий пользоваться табами, отметился :D
            Подпись была включена в связи с окончанием срока наказания
              Увы, только пробелы. Нынешние редакторы (программы) напрочь забыли, что такое табуляция.
              Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                Цитата OpenGL @
                О, первый человек, не умеющий пользоваться табами, отметился :D

                Чего там уметь-то?
                "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                  Считаю, что 1 отступ, равный 1 табу - есть хорошее решение. Гибкое. Например, мне нравится, когда 1 таб занимает 2 знакоместа, кому-то нравится классические 8. Что, собственно, не мешает совместно использовать исходник без напряга (просто настройки редактора).
                  Мои программные ништякиhttp://majestio.info
                    Да вот и я не понимаю - всё же элементарно, но тем не менее то, что записывают в недостатки табов и преимущества пробелов происходит только от неумения пользоваться первыми :-? И поэтому, когда говорят не что-то вроде "мне больше нравятся пробелы", а именно безапелляционно утверждают "конечно, пробелы" - другого варианта, кроме как "ниасилили", в голову не приходит :D

                    Добавлено
                    По теме же голосовалки согласен со Славян-ом, варианты непонятные.
                    Подпись была включена в связи с окончанием срока наказания
                      Цитата OpenGL @
                      И поэтому, когда говорят не что-то вроде "мне больше нравятся пробелы", а именно безапелляционно утверждают "конечно, пробелы" - другого варианта, кроме как "ниасилили", в голову не приходит :D

                      Ну понятно же, что там нечто вроде "конечно, мне больше нравятся пробелы" :lol:

                      Добавлено
                      Цитата JoeUser @
                      Считаю, что 1 отступ, равный 1 табу - есть хорошее решение. Гибкое. Например, мне нравится, когда 1 таб занимает 2 знакоместа, кому-то нравится классические 8. Что, собственно, не мешает совместно использовать исходник без напряга (просто настройки редактора).

                      На практике это плохо работает, потому что люди/ide по-разному "доформатируют" исходя из своих представлений о прекрасном. Простейший пример - выравнивание параметров функции.
                      И тут даже утилите автоформатирования(в очередной раз упомяну clang-format) будет непросто.
                      Я таких проектов видел много. Что характерно, раньше их больше было.
                      В открытых проектах, кстати, табы не попадались(или спасал редактор/ide, особо честно говоря не обращал на эту ерунду внимания).
                      Сообщение отредактировано: D_KEY -
                      "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                        Цитата D_KEY @
                        На практике это плохо работает, потому что люди/ide по-разному "доформатируют" исходя из своих представлений о прекрасном. Простейший пример - выравнивание параметров функции.

                        Собственно, ЧТД :-? Абсолютно неважно, как именно форматируется код - вне зависимости от этого юзать табы правлиьно ничто, кроме неумения это делать, не мешает. В частности, делают табами этот "простейший пример" как раз неосилившие.

                        Цитата D_KEY @
                        И тут даже утилите автоформатирования(в очередной раз упомяну clang-format) будет непросто.

                        Не знаю, как clang-format, но astyle умеет отличать alignment от indentation, и юзает табы только там, где надо использовать именно их.

                        Добавлено
                        А вообще, не так давно в этом холиваре была поставлена точка :crazy:
                        Подпись была включена в связи с окончанием срока наказания
                          Цитата OpenGL @
                          Абсолютно неважно, как именно форматируется код - вне зависимости от этого юзать табы правлиьно ничто, кроме неумения это делать, не мешает. В частности, делают табами этот "простейший пример" как раз неосилившие.

                          И ты будешь каждому "неосилившему" в единой кодовой базе объяснять это? :D
                          Я же говорю, на практике плохо работает. Не в теории.

                          Добавлено
                          Да и не так сложно понять, почему людям тяжело так работать.
                          ExpandedWrap disabled
                            {
                            <tab>foo(x,
                            <tab>....y,
                            <tab>....[](int a) {
                            <tab>....<tab>return bar(a,
                            <tab>....<tab>...........100500);
                            <tab>....});
                            }

                          Очень удобно :D
                          IDE хотя бы умеют сами все это ставить правильно?
                          "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                            Цитата D_KEY @
                            И ты будешь каждому "неосилившему" в единой кодовой базе объяснять это?

                            Странный вопрос. Это - просто одна из полезных мелочей. Или ты не осилившим что-либо не объясняешь ничего и никогда? :D

                            Цитата D_KEY @
                            Очень удобно

                            Ты так говоришь, как будто неудобно :D

                            Цитата D_KEY @
                            IDE хотя бы умеют сами все это ставить правильно?

                            Если бы умели - сторонников пробелов бы не существовало.
                            Подпись была включена в связи с окончанием срока наказания
                              Цитата Славян @
                              То ли 1 TAB==2 пробела, то ли отступ делается в 2 пробела/4 пробела/1 TAB/..., то ли ещё что. Что такое "сколько нужно TAB'ов"?
                              Туманно.

                              Эх :)
                              Объясняю:
                              табы -- это символ таба
                              пробелы -- это символ пробела

                              Если отступы в текстовом файле состоят из пробелов, выбираем один из первых трех вариантов. Даже если нажимаете таб и IDE подменяет на пробелы, это всё-таки пробелы. А вот если там табы, то следующие три варианта. Видел экзотику с двойными табами, но, думаю, самым популярным будет 1 таб. Под количеством имеется ввиду количество соответствующих символов в одном отступе. Оно может варьироваться, особенно в случае пробелов

                              Добавлено
                              Возможно, не стоило усложнять, но было интересно узнать статистику 2/4 пробела на отступ :scratch:
                              char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
                              for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


                              user posted image Чат Исходников в СкайпеЧат Исходников в ДискордеНе проходим, а заходим!
                                Цитата B.V. @
                                Видел экзотику с двойными табами

                                А я думал, что это шутка такая в вариантах голосовалки :D
                                Подпись была включена в связи с окончанием срока наказания
                                  Шутка, это про "столько, сколько нужно табов" :D Хотя, разное бывает..
                                  char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
                                  for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;


                                  user posted image Чат Исходников в СкайпеЧат Исходников в ДискордеНе проходим, а заходим!
                                    Тогда уж нужно "величина таба" с вариантами количества пробелов.
                                    Одни с годами умнеют, другие становятся старше.
                                      Цитата OpenGL @
                                      Цитата D_KEY @
                                      Очень удобно

                                      Ты так говоришь, как будто неудобно :D

                                      Конечно. Гораздо проще жмакнуть один раз по табу(или просто перейти по enter на строке выше) в правильно настроенной ide/редакторе, чем страдать херней ради правильно расположенных табов и пробелов.
                                      "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                        Цитата D_KEY @
                                        Гораздо проще жмакнуть один раз по табу(или просто перейти по enter на строке выше) в правильно настроенной ide/редакторе, чем страдать херней ради правильно расположенных табов и пробелов.

                                        Это - достаточно редкий случай :-? Да и по enter в данном случае переходит правильно даже в sublime. Вполне вероятно, что не только он - в остальных редакторах влом проверять.
                                        К тому же непонятно, зачем это делать самому. clang-format, который ты тут расхваливаешь, не умеет в форматирование этого примера?
                                        Подпись была включена в связи с окончанием срока наказания
                                          Цитата Qraizer @
                                          Тогда уж нужно "величина таба" с вариантами количества пробелов.
                                          Да, понятнее бы было.
                                          Короче, у меня раньше всегда так было:
                                          ExpandedWrap disabled
                                            int main()
                                            {
                                            <4пробела>if( 5>3 )
                                            <TAB=8пробелов>return 2;
                                            <4пробела>else return 0;
                                            }

                                          Сейчас же, когда мировой стандарт давит и давит своими TAB'ами в 4 пробела >:(, получается:
                                          ExpandedWrap disabled
                                            int main()
                                            {
                                            <TAB=4пробела>if( 5>3 )
                                            <TAB><TAB>return 2;
                                            <TAB>else return 0;
                                            }
                                          Сообщение отредактировано: Славян -
                                            Ну, у меня "стандарт" 2 пробела. Т.к. один раз tab или дважды space – разницы не вижу в принципе, то табы нафик не нужны, только раздражают, когда открываешь в дебагере, а там таб в 4 пробела.
                                            И вообще, грамотно настроенный эдитор в far-е в лёгкую мне заменяет IDE, а в far-е у меня есть мой замечательный lua-скрипт для отступов.
                                            Одни с годами умнеют, другие становятся старше.
                                              Цитата Славян @
                                              Короче, у меня раньше всегда так было:
                                              Наркомания какая-то :D
                                              Цитата Славян @
                                              Сейчас же, когда мировой стандарт давит и давит своими TAB'ами в 4 пробела

                                              Ты где такой мировой стандарт откопал? Таб всегда был символом, длина отображения которого задаётся в настройках редактора.
                                              Подпись была включена в связи с окончанием срока наказания
                                                Ну в FAR'е/Borland'е по-умолчанию TAB=8 пробелов, в вижуалке TAB=4 пробела.

                                                Добавлено
                                                Ах, да, в TurboC TAB=8 пробелов!! :yummy:
                                                  TAB, он же HT, всегда был символом, используемым для выравнивания, а не для отступов. Позиции выравнивания традиционно располагаются на каждой 8-ой позиции строки. Что там у вас в редакторах, в особенности тех, кто работает там, где нет реестров – это уже далеко не традиционно ориентированные редакторы.
                                                  Одни с годами умнеют, другие становятся старше.
                                                    Цитата OpenGL @
                                                    Это - достаточно редкий случай :-? Да и по enter в данном случае переходит правильно даже в sublime. Вполне вероятно, что не только он - в остальных редакторах влом проверять.
                                                    К тому же непонятно, зачем это делать самому. clang-format, который ты тут расхваливаешь, не умеет в форматирование этого примера?

                                                    Не такой уж и редкий. Но я так и не понял ради чего затевать весь этот геморрой. Какова ценность-то?
                                                    "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                                      Qraizer, мы определяем новые традиции. Для подрастающего поколения :)
                                                      Мои программные ништякиhttp://majestio.info
                                                        Цитата Qraizer @
                                                        TAB, он же HT, всегда был символом, используемым для выравнивания, а не для отступов.

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

                                                        Цитата D_KEY @
                                                        Не такой уж и редкий.

                                                        Параметры лямбдой я передаю часто, однако на такой случай я не натыкался - astyle его форматирует криво, так что я бы запомнил.

                                                        Цитата D_KEY @
                                                        Но я так и не понял ради чего затевать весь этот геморрой. Какова ценность-то?

                                                        Геморрой - что-то такое, что беспокоит всегда. И соответственно, однократная настройка автоформаттера им не является, в отличие от постоянного неудобства при просмотре кода на экранах разных размеров :crazy:
                                                        Подпись была включена в связи с окончанием срока наказания
                                                          Цитата OpenGL @
                                                          Геморрой - что-то такое, что беспокоит всегда.

                                                          Ну так потенциальная невнимательность коллег, некоторые случаи, когда не справляется тулза/редактор/ide. По-моему этого уже достаточно. Еще не очень понятно, на сколько можно автоформатирование строки на tab вешать, ведь тогда мы лишается возможности ручного таба.

                                                          Цитата
                                                          в отличие от постоянного неудобства при просмотре кода на экранах разных размеров :crazy:

                                                          В чем заключается неудобство? Постоянно смотрю на компе и ноуте, даже на телефоне бывает.
                                                          Сообщение отредактировано: D_KEY -
                                                          "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                                            Цитата D_KEY @
                                                            у так потенциальная невнимательность коллег,

                                                            Надуманная причина. Если человек не умеет форматировать код согласно гайдлайнам - его надо бить по рукам. А если умеет, то нахожу эту невнимательность исчезающе маловероятной.

                                                            Цитата D_KEY @
                                                            некоторые случаи, когда не справляется тулза/редактор/ide.

                                                            Это - да, серьёзней, но минус в сравнении с использованием пробелов небольшой.

                                                            Цитата D_KEY @
                                                            Еще не очень понятно, на сколько можно автоформатирование строки на tab вешать, ведь тогда мы лишается возможности ручного таба.

                                                            Если тебе очень-очень надо отформатировать руками, то есть возможность сказать автоформаттеру "не работай отсюда и досюда" прямо в коде в виде комментария. При умном автоформаттере практически не нужно. Мне, например, пригодилось только один раз, когда я писал длинное объявление чего-то шаблонного из буста и захотел разбить его на несколько строк. Да и то не уверен, что нельзя это было отформатировать как надо при помощи настройки конкретно этого случая параметрами командной строки - сильно не разбирался.

                                                            Цитата D_KEY @
                                                            В чем заключается неудобство? Постоянно смотрю на компе и ноуте, даже на телефоне бывает.

                                                            А это, очевидно, продолжение твоего экскперимента :crazy: Давай тоньше.
                                                            Подпись была включена в связи с окончанием срока наказания
                                                              Цитата OpenGL @
                                                              Если человек не умеет форматировать код согласно гайдлайнам - его надо бить по рукам.

                                                              Интересные у вас отношения в команде :D
                                                              Я вот за то, чтоб инструменты под людей затачивать, а не наоборот. Возни с табами больше, людям это вполне может быть неудобно. А профит если и есть, то не для всех и ничтожно мал.

                                                              Добавлено
                                                              Цитата OpenGL @
                                                              Это - да, серьёзней, но минус в сравнении с использованием пробелов небольшой.

                                                              С пробелами все проще же. И несоответствие будет видно сразу вне зависимости от редактора и величины таба.
                                                              "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                                                Цитата D_KEY @
                                                                Я вот за то, чтоб инструменты под людей затачивать, а не наоборот.

                                                                Так я-то как раз за затачивание. А вот любители пробелов в команде меня возможности заточить инструмент лишают :D
                                                                Подпись была включена в связи с окончанием срока наказания
                                                                  Цитата OpenGL @
                                                                  Так я-то как раз за затачивание. А вот любители пробелов в команде меня возможности заточить инструмент лишают :D

                                                                  Я думаю, что скорее нелюбители табов, как лишнего усложнения :D
                                                                  Но под них ведь так же надо затачивать инструмент ;)
                                                                  Вообще как договоритесь, так и будет. Важно, чтоб каждый понимал, что само наличие общих правил важнее его личных предпочтений.
                                                                  "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                                                    пофигу, главное, чтобы у всех в команде были одинаковые настройки :)
                                                                    - Завтра или послезавтра придет фруктовый пароход из Мобила, - сказал Джонни. - А до той поры нам делать нечего.
                                                                    - Но что вы намерены делать? Создать спрос?
                                                                    - Много вы понимаете в политической экономии, - ответил консул довольно невежливо. - Спроса создать нельзя. Но можно создать условия, которые вызовут спрос.
                                                                      Цитата OpenGL @
                                                                      однократная настройка автоформаттера

                                                                      Не встречал редакторов, способных форматировать код так, как задумал я или коллектив, как ни настраивай. В принципе, таковые, наверное, есть, но не в составе используемых java ide. Поэтому только пробелы, а за использование автоформатёра, особенно на всём файле - расстрел на месте.
                                                                      user posted image
                                                                        Цитата wind @
                                                                        а за использование автоформатёра, особенно на всём файле - расстрел на месте.

                                                                        Сразу видны приоритеты :good:

                                                                        Право — это возведенная в закон справедливость. Закон есть этика, высеченная в логике.
                                                                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                        0 пользователей:


                                                                        Рейтинг@Mail.ru
                                                                        [ Script Execution time: 0,2427 ]   [ 20 queries used ]   [ Generated: 16.10.18, 15:16 GMT ]