LINUX.ORG.RU

История изменений

Исправление Yampp, (текущая версия) :

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

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

Выравнивание - только пробелами. Исключений нет.

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

В коде на C++ часто имеет смысл выравнивать пробелами просто для того, чтобы иметь одинаковые настройки редактора под все проекты. Глубина вложений в C++ значительно больше, чем в C.

И еще: в больших closed-source проектах табы использовать НЕЛЬЗЯ, потому что иначе кто-нибудь обязательно сделает кашу, когда выравнивание затрагивает начало строки. Проще поставить pre-commit hook, запрещающий любые табы. Отступ табами можно делать только в проектах со строжайшим code review.

Исходная версия Yampp, :

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

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

Выравнивание - только пробелами. Исключений нет.

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

В коде на C++ часто имеет смысл выравнивать пробелами просто для того, чтобы иметь одинаковые настройки редактора под все проекты. Глубина вложений в C++ значительно больше, чем в C.