Простіри завжди слід використовувати, оскільки самі вкладки не є достатньо гнучкими для багатьох стилів, а змішування вкладок та пробілів (майже) завжди створює абсолютний безлад.
Для прикладу одного стилю, який зазвичай потребує пробілів, розгляньте щось на кшталт:
call_some_function(parameter1,
parameter2,
parameter3,
parameter4,
parameter5,
parameter6,
parameter7);
Якщо ви не бажаєте перейменовувати всі свої функції, щоб бути точним кратним розміру вкладок (мінус один для круглих дужок), це не зробить.
Що стосується змішування вкладок і пробілів, ви майже одразу стикаєтеся з серйозною проблемою: вкладки не розширюються послідовно однаково. Деякі програми розглядають вкладку як еквівалентну певній кількості пробілів. Інше програмне забезпечення розширить модуль вкладки на певну кількість пробілів - наприклад, елемент після вкладки завжди починатиметься з номера стовпця, кратного (скажімо) 8.
Навіть якщо ви можете запобігти змішанню пробілів з вашими вкладками, у вас все ще виникає проблема: вкладки також погано грають із шрифтами змінної ширини. Ця проблема виникає, коли (наприклад, ви хочете вирівняти остаточні коментарі:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
Наразі вони стоять ідеально. Однак, якщо переглядати шрифт змінної ширини, речі стають некрасивими. З пробілами, коментарі (часто будуть) можуть бути трохи невідповідними. Однак із вкладками перекоси часто стають досить радикальними:
a.m = 9; // this is the slope
a.i = 4; // this is the intensity
a.x = 1; // this is the x-intercept
Раптом невелику різницю в ширині між 'i' і 'm' або 'x' у нашому шрифті змінної ширини було збільшено до цілої зупинки вкладки.
Суть полягає в тому, що практично будь-яка зміна в тому, як ви переглядаєте код за допомогою вкладок, як би не здавалося тривіальним, може і зазвичай призведе до нечитабельного безладу.
Щоб відповісти на ваші інші запитання: інші вже вказали на це, але я не можу уявити, щоб хтось із редакторів програмування (або багато чого іншого) насправді використовував пробіл для вставки пробілів, тож ваше запитання про "введення spacespacespacespace" - це не має значення, тому що ніхто так чи інакше не робить. Так само і з зворотним інтервалом: важко уявити редактора, який потребує натискання BkSpcчотирьох разів, щоб перейти до попередньої зупинки вкладки, тому (знову ж таки) питання не має значення.
Підсумок: вкладки добре, якщо ви (і тільки ви) коли-небудь переглянете свій код, і ви це робите лише коли-небудь з одним редактором, який ви ніколи не переналаштовуєте (зовсім!) Ці умови, однак, настільки близькі до неможливих переконайтеся, що існує лише одна розумна відповідь: ніколи не використовуйте вкладки.
tab
. Якщо ви не можете налаштувати це у своєму улюбленому редакторі, вам потрібен кращий редактор.