LINUX.ORG.RU

Как предпочитаете ставить отступы в программном коде?


0

1
  1. Одной табуляцией 633 (49%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Несколькими пробелами 370 (29%)

    *******************************************************************************************************************************************************************************************

  3. Несколькими табуляциями 119 (9%)

    ************************************************************

  4. В жизни не написал и строчки кода 103 (8%)

    ****************************************************

  5. Одним пробелом 46 (4%)

    ***********************

  6. Отступы для отступников! (т.е. не ставите вообще) 20 (2%)

    **********

Всего голосов: 1291

★★★★★

Проверено: post-factum ()

Ответ на: комментарий от r

короче форматировать исходники пробелами - все равно что пробелами форматировать офисные документы.

+100500, ведь нет ничего более омерзительного и ламерского когда набирают документы пробелами вместо красивых и стройных табов

код то же самое, слава табуляции!

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от xroff

Ему про Фому, а он - про Ерёму. Да что ж вы все такие невнимательные? Я не говорил, что нужно лезть со своим форматированием в проект.

Как может код с табуляциями выглядеть одинаково при разных настройках их ширины?

оч просто настройка ширины это просто опция редактора, какой отступ делать на месте символа табуляции

Спасибо, поржал. Вы так и не ответили на вопрос. Ещё раз: как может код с табуляциями выглядеть одинаково при разных настройках их ширины? Как, когда у каждого - своя настройка? Понимаете? У каждого - своя настройка. Ширина табуляции определяется настройкой. В проекте используются табуляции. Как?

burjui
()
Ответ на: комментарий от burjui

> Как, когда у каждого - своя настройка? Понимаете? У каждого - своя настройка

в рамках одного проекта - у всех одинаковая, как и стиль кода, если не так - это бардак и быдлокод

aho
()
Ответ на: комментарий от aho

Да это очевидно. Я про другое: зачем привязываться к какой-то настройке редактора? Захотел открыть в другом редакторе - и что, там тоже настраивать?
Ай, ладно, надоело спорить. К вам - никаких претензий. А упоротые достали уже доказывать, что табы лучше. Хоть бы раз написали, чем конкретно лучше. У меня простой аргумент в пользу пробелов - их ширина не зависит от настроек редактора и длины предыдущего текста. Соответственно, исходники с пробелами в качестве отступов будут выглядеть одинаково в разных редакторах. Такое ощущение, что никто ни разу не открывал исходники, написанные любителями табов шириной в 4 пробела - объявления массивов и т.п. разъезжаются к чёртовой матери. Зачем создавать себе и другим лишние сложности?

burjui
()
Ответ на: комментарий от burjui

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

xroff
()
Ответ на: комментарий от burjui

Если использовать вообще ОДИН пробел, то имхо код будет ещё компактнее. И я например пишу в терминале, в консоли, мне чужой код широченный совершенно ни к чему - и не зря ведь в коде ядра ограничение на по ширине, равное 80-ти символам то есть стандартной ширине терминала как раз.

DRVTiny ★★★★★
() автор топика

>В жизни не написал и строчки кода
но тем не менее
*табов

megabaks ★★★★
()
Ответ на: комментарий от I-Love-Microsoft

>когда набирают документы пробелами вместо красивых и стройных табов
Вы точно не бились головой и не курили?
Что это ещё за документы такие из стройных табов? Или это следствие тотальной экономии бумаги на предприятиях, где зарплату выдают рулонами и без текста?

DRVTiny ★★★★★
() автор топика

Кстати, никто не напомнил о том,о что в асме отступов вообще нет, кроме как в макрокоде. Эх вы :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Что это ещё за документы такие из стройных табов?

Вы точно не ударились об стену (с разбега) прежде чем написать этот вопрос? Умного человека отличает способность не воспринимать текст буквально.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от DRVTiny

Я обычно использую 2 или 4 пробела (мне так лучше видно отступ), а чтобы код не получался очень широким, стараюсь не писать слишком много вложенных блоков - разбиваю код на функции.

burjui
()

А у меня вообще Geany и на работе, и дома, настроен на автоматическую замену табов 4-мя пробелами. Бывает, как открою чужой код на табах, матернусь про себя, пересохраню файл и дальше с ним нормально работаю.

Имел я этих таболюбов.

YogSagot ★★★
()

1 таб. Если надо вырвнять вторую колонку и дальше - то пробелы. Отступы выбирает читающий, и код читается при любых настройках:

typedef enum {
 MX_ERR_OK,            /* No errors */
 MX_ERR_INTERN,        /* Error in program */
typedef enum {
        MX_ERR_OK,            /* No errors */
        MX_ERR_INTERN,        /* Error in program */
Код с одним пробелом следует считать обфусцированным, а автора - проприетарщиком )

unsigned ★★★★
()
Ответ на: комментарий от DRVTiny

> Кстати, никто не напомнил о том,о что в асме отступов вообще нет, кроме как в макрокоде. Эх вы :)

Да что вы говорите.

geekless ★★
()

Не совсем понял про табуляции, но кажется:

Несколькими табуляциями:


Нулевой уровень вложенности - без отступа, первый уровень вложенности - одна табуляция, второй уровень вложенности - 2 табуляции и т.д.

drull ★☆☆☆
()
Ответ на: комментарий от burjui

>Ширина табуляции определяется настройкой. В проекте используются табуляции. Как?

Одинаково - значит согласно настройкам таба. А не одинаково у всех людей с разными настройками.

r ★★★★★
()
Ответ на: комментарий от burjui

> Такое ощущение, что никто ни разу не открывал исходники, написанные любителями табов шириной в 4 пробела - объявления массивов и т.п. разъезжаются к чёртовой матери. Зачем создавать себе и другим лишние сложности?

Табы, формирующие отступы, никуда не разъезжаются. Если же вы при форматировании табами, закладываетесь на величину таба, то ССЗБ. Форматирование, зависящее от длины какого-либо слова или текста, должно выполняться пробелами.

geekless ★★
()
Ответ на: комментарий от burjui

>Захотел открыть в другом редакторе - и что, там тоже настраивать?

Обычно человек настраиватет табуляцию как ему удобнее.

Хоть бы раз написали, чем конкретно лучше.


Тем что человек который предпочитает Nное количество вайтспейсов в отступе которое зависит от монитора, разрешения, фонта, любимого редактора и прочего DPI головного мозга _не зависит и не влияет_ этим на другого человека с другим монитором, разрешением, фонтом, редактором и своим DPI головного мозга.

Доступно?

Я привел пример - я XMLки смотрю с 2мя вайтспейсами, коллега в farе их редактирует с 8мью. Если бы мы были пробельнобольными - нам бы сначала надо біло открыть дискуссию сколько пробелов в табе, а потом сойтись на неудобном для обоих варианте. С табами - нет никаких дискуссий и вариант _для обоих_ удобный, по личным предпочтениям.

Шо неясно?

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


Это как раз нахрен никому не нужная фича.

Зачем создавать себе и другим лишние сложности?


Какая твоя любимая ширина пробельного таба? Допустим 4. А давай договоримся что будет 8 потому что это нравится например мне? Тебе понравится?

При чем совершенно бессмысленный компромис - поскольку необходимости в нем нет.

r ★★★★★
()

юзаю табуляцию.

везде ставлю размер этой самой табуляции равным 2 пробела

Gudvin-t
()

один таб, реже несколько

Viort
()

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

Ijon
()
Ответ на: комментарий от unsigned

>Код с одним пробелом следует считать обфусцированным, а автора - проприетарщиком

По-моему как раз первый пример смотрится естественнее: это минимальная избыточность. А во-втором примере много места слева пропадает зря. Экономнее надо быть :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

>А во-втором примере много места слева пропадает зря. Экономнее надо быть :)

Угу ты экономишь 1р74ком на каждом килобайте кода на отступе слева что в масштабах страны...

r ★★★★★
()

Так и знал, найдутся придурки смешивать и табы, и пробелы! Боже, заставь их всю жизнь не вылезать из похапэ!

matumba ★★★★★
()
Ответ на: комментарий от DRVTiny

Почему же отступ красной строки шириной не в одну буквы? Почему поля в нормальных книгах и странах не 1 см (ублюдочные ГОСТ не в счет)?

Надо не «различим», а «читать приятно».

sv75 ★★★★★
()
Ответ на: комментарий от sv75

>Надо не «различим», а «читать приятно».
Главное - не «приятно», а можно или нельзя читать. К тому же, мне неприятно, когда чужой код уезжает далеко за границы экрана, потому что чувак видите ли сочинял его в графической IDE на монике с разрешением 1600x1200.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от r

>Угу ты экономишь 1р74ком на каждом килобайте кода на отступе слева что в масштабах страны...

Я экономлю, чтобы побольше блоков if вместить, а это нужно для того, чтобы мой код был не такой тупой, как это принято, а мог хоть что-то и сам узнать/проанализировать.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

>Я экономлю, чтобы побольше блоков if вместить, а это нужно для того, чтобы мой код был не такой тупой, как это принято, а мог хоть что-то и сам узнать/проанализировать.

При длине последнего условия в 40 символов даже в консольном режиме 80x25 у тебя поместится 39 вложенных ifов. Наверное вложенности всего 10 в консольном режиме - это очень мало для типичного кода:)

r ★★★★★
()
Ответ на: комментарий от r

r, а ты как бы не забыл, что операторы внутри блоков if тоже какую-то длину имеют? Да и само условие тоже не в один символ, хотя бы скобки надо.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

я тебе дал пол консоли - 40 символов. Мало? Возьми 50. Будет 29 уровней вложенности.

r ★★★★★
()

Одной табуляцией
Однако на работе Code Convention требует 4 пробела

some-body ★★
()
Ответ на: комментарий от DRVTiny

> побольше блоков if вместить

Нагромождение if-ов сильно затрудняет читабельность кода. Нужно этого избегать.
Вместо кучи вложенных условий и полезного кода внутри можно сделать ряд отрицательных проверок с выходом. Таким образом, если все условия удовлетворены, будет исполняться код после последнего if'а Чтобы было понятней:

if (a) {
    if (b) {
        if (c) {
            do something..
        } else {
            log and return;
        }
    } else {
        log and return;
    }
} else {
    log and return;
}
лучше переписать так:
if (!a) {
    log and return;
}
if (!b) {
    log and return;
}
if (!c) {
    log and return;
}
do_something;

some-body ★★
()

Где пункт «За меня отступы ставит IDE»?!

iZEN ★★★★★
()

Как задано в документации/требованиях/сообществе. Если нет — то табы с пробелами. Внешний индент табами, выравнивание пробелами, дабы не разъезжалось. Единственно верный способ с табами.

tensai_cirno ★★★★★
()
Ответ на: комментарий от sv75

Пардон, с табами можно и нужно и делать пробелы.

Если у нас есть к примеру вызов функции с большим списком аргументов, то мы переносим аргументы на новые строки. И чтобы потом у людей этот список аргументов не разъезжался (у людей по разному таб настроен, у кого-то 4 символа, у кого-то 2, ага-ага) внутренний индент отбивается пробелами и только пробелами!

tensai_cirno ★★★★★
()
Ответ на: комментарий от DRVTiny

Для этого есть 1) стандарты на длину строки 2) табы.

Главное - не «приятно», а можно или нельзя читать.

Классический Фортран доказывает, что читать можно и без отступов.

sv75 ★★★★★
()
Ответ на: комментарий от tensai_cirno

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

sv75 ★★★★★
()
Ответ на: комментарий от sv75

Это утопия. А у нас реальность. Кстати вроде же есть в редакторах поддержка умного внешнего индента, то есть ставим таб, а он сам конвертирует в нужное количество пробелов, как-то так.

tensai_cirno ★★★★★
()
Ответ на: комментарий от some-body

some-body, забороли вы меня: да, я согласен, что нагромождение блоков if - не тру, я просто люблю очень длиииннные строки программного кода :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от vurdalak

>В яве ставлю табуляциями, потому что eclipseпри создании класса по-умолчания расставил табуляции. В питоне пробелами, ибо PEP8.

Спешу тебя огорчить: стандарт Явы тоже предписывает проблеы (а именно 4)

annulen ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

>нет ничего более омерзительного и ламерского когда набирают документы табами вместо красивых и стройных пробелов

fixed

А вообще делать надо как полиси проекта предписывает, почти везде используют пробелы

annulen ★★★★★
()
Ответ на: комментарий от geekless

>Табы, формирующие отступы, никуда не разъезжаются. Если же вы при форматировании табами, закладываетесь на величину таба, то ССЗБ. Форматирование, зависящее от длины какого-либо слова или текста, должно выполняться пробелами.

В результате получим ацкую смесь табов и пробелов - НЕНАВИСТЬ!

annulen ★★★★★
()
Ответ на: комментарий от annulen

Спешу тебя огорчить: стандарт Явы тоже предписывает проблеы (а именно 4)

В следующий раз буду ставить пробелы. Просто пока не задумывался об этом, эклипс думал за меня.

vurdalak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.