На жаль, це питання стилю, це дуже суб'єктивно, і, ймовірно, ви отримаєте багато суперечливих результатів. Більше того, стиль використання сильно залежить від використання вами таблиць TAB або пробілів.
Щодо моїх двох центів, я віддаю перевагу варіанту другої версії. Мені це найкраще подобається:
Name : Hamt
Version : 0.1.0
Cabal-Version : >= 1.2
License : BSD3
Author : Jason Baker
Це найчитабельніша та зручна у використанні версія, яку я спробував. Єдиний справжній мінус полягає в тому, що мені доводиться розбиратися, що таке найширше поле, а іноді в кінцевому підсумку доводиться розширювати їх усі, коли одне занадто широке (зазвичай це відбувається лише з CSS). Однак є кілька моментів, які потрібно враховувати.
По-перше, я зазвичай віддаю перевагу табличним таблицям на відміну від пробілів, однак фактична настройка TAB змінюється; наприклад, я звик до 4-пробільних таблиць TAB для коду C (++) або HTML та 2-пробільних таблиць для коду Pascal або Assembler, тоді як для деяких речей, таких як CSS, я не віддаю переваги ширині TAB. Ця варіація досить ускладнює речі, але тоді редактор, який я використовую, кидає в своїх власних ускладненнях. Деякі редактори дозволяють встановлювати налаштування TAB для кожної мови, а деякі не (навіть деякі, які мають різні профілі).
Ви можете уникнути цього ускладнення, відмовившись від ТАБ на користь пробілів. Оскільки код зазвичай є шрифтом фіксованої ширини, використання пробілів справно працює, тоді як якщо ви форматуєте поля у формі, резюме чи іншому некодовому тексті та використовуєте пропорційний шрифт, вам знадобляться таблиці TAB, щоб вирівняти речі .
Я взагалі віддаю перевагу табличним таблицям, тому що навіть з кодом фіксованої ширини, мені стає неприємно переходити курсор через декілька пробілів для кожної ТАБ. Я пам’ятаю, що у старих IDE Borland була можливість курсору через TAB (конкретно цілі довжини пробілу) як єдине ціле, а не через два, чотири тощо. Це зробило практичним вставлення таблиць TAB як пробілів, роблячи навігацію курсором легкою та швидкою. На жаль, я не бачив жодних сучасних редакторів Windows, які могли б це зробити.
Нарешті, важливим фактором у виборі стилю є те, чи будуть користуватися вашим кодом чи ні. Я, як правило, єдиний, хто використовує мій код, тому можу відформатувати все на свій смак, не зважаючи на редактори чи налаштування інших. Якщо ви працюєте з іншими, вам потрібно буде врахувати їх, оскільки вони будуть потребувати вас.
Підсумовуючи, читабельність є хорошою і дуже бажаною, однак налаштування та редактори вам та іншим, хто потребує використання коду, будуть важливі при прийнятті рішення. Якщо ви одні, ви можете просто використовувати формат, який можна прочитати найбільш легко. Можливо, вам доведеться звикнути до його використання, але це, швидше за все, окупиться в довгостроковій перспективі, особливо коли вам потрібно повернутися до коду, про який ви писали деякий час назад: читабельність так само важлива, як і коментарі для розуміння того, що робить код. Якщо ви працюєте з іншими, то вам захочеться спільно розробити якийсь посібник із дизайну для використання командою.
:%s/\([^ ]\) \+/\1 /g