LINUX.ORG.RU

Табы или пробелы? (ну и вопрос к этому)


0

0

Чем принято делать отступы в исходниках? Что считается хорошим стилем: 4/8/? пробелов или табуляция?

А ещё вопрос такой: а как бы настроить отступы единообразно для всех режимов emacs? А то как я сейчас посмотрю, в разных режимах по умолчанию всё по-разному. Где-то 2/4 пробела, где-то табуляция. Чую, есть какая-то общая настройка, но найти не получилось.

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

> Как раз наоборот, один хочет отступ в 4 пробела, другой в 3, третий в 2, четвертый в один, а еще, кадр, в 0 - договоритесь :)

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

// wbr

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

>> в последнее время начинаю склоняться к 4 пробелам (особенно в конфигах и языках разметки.)
>языках разметки
> Это что б врагам больше скачивать что ли? :)

я вот только что the lost room скачал, насмотревшись рекомендаций в talks. думаю, этим поступком я обнулил себе карму на эффект от табов на много-много поколений вперёд.

// wbr

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

Не обедали ещё, а на одном чае далеко не уедешь :)

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

> есть конкретный проект и в каждом конкретном проекте в том числе установлены принятые для конкретно этого проекта форматирования исходного кода

Вопрос в том, как эти [правила] лучше выбирать. А он связан с тем, сколь это удобно.

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

Ну, вот Die-Hard'у табы доставляют. Кроме того, неудобно, когда в коде с шагом в 4 пробела встречаешь строчку с отступом в 5 пробелов (это один уровень отступа или два?). Вот и думай - оставить как есть, или переформатировать согласно правилам проекта... А найти такие пробелы по всему файлу/проекту (или - аналогично - найти пробелы вместо табов) - это нужен регэксп. Кстати, рекомендую для поддержки стиля составить такой регэксп явно и периодически проходить им по всему проекту. Можно даже не глядя :) (Конечно, для этого нужен правильный code formatting style).

alexsaa
()

Однозначно табы! Потому что тогда любой член команды может настроить ширину таба под себя. А пробелы заставляют мучаться коллег, которые предпочитают другую ширину, чем ты.

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

> Однозначно табы! Потому что тогда любой член команды может настроить ширину таба под себя.

это сказка, которая в реальности не работает.

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

> Однозначно табы! Потому что тогда любой член команды может настроить ширину таба под себя. А пробелы заставляют мучаться коллег, которые предпочитают другую ширину, чем ты.

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

// wbr

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

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

Афигеть. Тебе бы в пропаганде работать.

> в противном случае команду можно смело разгонять и набирать новую.

А может, пусть лучше настроят размер таба? Дешевле обойдется. %)

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

> Афигеть. Тебе бы в пропаганде работать.

нет, всего лишь опыт работы в различных коллективах. причём как положительный, так и отрицательный.

> А может, пусть лучше настроят размер таба? Дешевле обойдется. %)

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

// wbr

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

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

Ну то есть за то, что не договорятся насчет идентации (договорившись об остальном) - разгонять всё же не надо?

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

> Ну то есть за то, что не договорятся насчет идентации (договорившись об остальном) - разгонять всё же не надо?

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

// wbr

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

>таб на 2 пробела
>кто меньше ?

Таб в 0 пробелов легко:

<?php

class rp1990_catalogue_brand extends base_page_db
{
function main_table_storage() { return 'partners'; }
function main_table_fields()
{
return array(
'id' => 'partnerID',
'title' => 'name',
);
}

function url() { return '/catalogue/sire/'.$this->id().'/'; }
function submenu() { return ''; }

function local_template_data_set()
{
return array(
'items' => objects_array('rp1990_catalogue_item', array(
'manufacturer_id' => $this->id(),
'order' => 'title',
'published' => 1,
'obsolete' => 0,
)),
);
}
}

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

(если непонятно, то табы в этом примере есть - см. сорец страницы ;) )

KRoN73 ★★★★★
()
Ответ на: комментарий от Die-Hard

> http://www.linux.org.ru/jump-message.jsp?msgid=2701660&cid=2702080

На мой взгляд, это один из самых плохих стилей кода. Если не худший.
В первую очередь из-за тех пакостей, которые он подложил тому,
кто попытается сделать рефакторинг и, скажем, заменить $expr = reduce_expr на $expr = reduce_expression.
И табы люблю отчасти за то, что они делают явно недопустимым такое ущербное форматирование.

Я такой код пишу так:

$expr = reduce_expr(
    $expr,
    $complete_apriori,
    $apriori_fpt,
    $ruleset);

и не парюсь насчёт эстетики открытой круглой скобки
(в конце концов, открытую '{' оставляют почти все стили). Заодно снимается ряд и других проблем.

Может, для перла это и приемлемо (код рефакторят редко),
но, скажем, для Java это маразм. Про Си не скажу, пишу на нём очень мало.

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

А вообще, чувствую, мы подошли к границе holy war: судя по всему, у нас в целом одни и те же проблемы (не считая специфики языков), но решения всё равно разные. Надеюсь, когда мне придётся работать над твоим проектом, ты научишь меня правильно работать твоими инструментами в твоём стиле кода. За обсуждение и за ссылку спасибо в любом случае.

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

> ...скажем, заменить $expr = reduce_expr на $expr = reduce_expression.

reduce_expr менять на reduce_expression надо вместа с форматированием.

> ...и не парюсь насчёт эстетики открытой круглой скобки

Если скобок много разных, то потом хрен в скобках разгребешься. Пример -- формулы в ТеХе.

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

> Это -- классическая холливарная тема.

Одна из древнейших %)

tailgunner ★★★★★
()
Ответ на: комментарий от Die-Hard

Тема-то холиварная, но грань между rational discussion и holy war всё равно есть ;-)

alexsaa
()

Юзайте astyle и будет вам щястье.

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