А вы выравниваете код?
От: UberPsychoSvin  
Дата: 11.07.16 07:57
Оценка: +1
-- НЕ ВЫРОВНЕННАЯ ВЕРСИЯ.
CREATE TABLE DocStream (
    Id BIGINT NOT NULL,
    MD5 CHAR(32) NULL,
    SHA1 CHAR(40) NULL,
    Status INT NOT NULL
);

-- ВЫРОВНЕННАЯ ВЕРСИЯ.
CREATE TABLE DocStream (
    Id     BIGINT   NOT NULL,
    MD5    CHAR(32) NULL,
    SHA1   CHAR(40) NULL,
    Status INT      NOT NULL
);


Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.
Re: А вы выравниваете код?
От: 0x7be СССР  
Дата: 11.07.16 08:00
Оценка: +6
Здравствуйте, UberPsychoSvin, Вы писали:


UPS>Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.

Выравнивал до распространения автоформатилок, которые плевать хотели на моё выравнивание
В итоге удобство автоформата в целом перевесило читабельность "табулированного" кода.
Плюс, не все коллеги разделяли мою страстью к выравниванию.
Re: А вы выравниваете код?
От: Gattaka Россия  
Дата: 11.07.16 08:00
Оценка:
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>
UPS>-- НЕ ВЫРОВНЕННАЯ ВЕРСИЯ.
UPS>CREATE TABLE DocStream (
UPS>    Id BIGINT NOT NULL,
UPS>    MD5 CHAR(32) NULL,
UPS>    SHA1 CHAR(40) NULL,
UPS>    Status INT NOT NULL
UPS>);
UPS>

UPS>
UPS>-- ВЫРОВНЕННАЯ ВЕРСИЯ.
UPS>CREATE TABLE DocStream (
UPS>    Id     BIGINT   NOT NULL,
UPS>    MD5    CHAR(32) NULL,
UPS>    SHA1   CHAR(40) NULL,
UPS>    Status INT      NOT NULL
UPS>);
UPS>


UPS>Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.

Вобще то это код на SQL, а вы находитесь в форуме по .Net . Что касается выравнивания — есть в R# такая опция как Code Clean. Один раз настраиваете и при нажатии одной кнопки весь файл у вас сам выравнивается
Re: Нет
От: Qbit86 Кипр
Дата: 11.07.16 08:01
Оценка: +13
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>А вы выравниваете код?


В середине строки — никогда.

UPS>Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.


Такое искусственное выравнивание требует сопровождения: изменения одной строки нуждается в ручном перевёрстывании всех остальных. Как следствие, это не diff friendly.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: А вы выравниваете код?
От: UberPsychoSvin  
Дата: 11.07.16 08:32
Оценка: :)
Здравствуйте, Gattaka, Вы писали:
G>Вобще то это код на SQL, а вы находитесь в форуме по .Net .
А и правда, не обратил внимания. У меня постоянно так, начинаю писать на .NET а заканчиваю на SQL.

Здравствуйте, Qbit86, Вы писали:
Q>Такое искусственное выравнивание требует сопровождения: изменения одной строки нуждается в ручном перевёрстывании всех остальных. Как следствие, это не diff friendly.
Вот! Теперь я понял, что меня в этом выравнивании смущало.
Re: А вы выравниваете код?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 11.07.16 08:36
Оценка: 3 (2)
Да, плагином Align в Виме.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Нет
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 11.07.16 08:39
Оценка: +4
Здравствуйте, Qbit86, Вы писали:

Q>Такое искусственное выравнивание требует сопровождения: изменения одной строки нуждается в ручном перевёрстывании всех остальных. Как следствие, это не diff friendly.


Решается опцией ignore whitespace в диффе.
Ce n'est que pour vous dire ce que je vous dis.
Re: А вы выравниваете код?
От: Sinatr Германия  
Дата: 11.07.16 08:42
Оценка:
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.


В C# приходится иногда выравнивать ручками то, что автоформат (ctr+k/ctr+d) не распознал. К примеру инициализаторы вложенных структур.

Вы правы, второй вариант читается лучше. Если таких обьявлений будет несколько страниц, то читать будет проще за счет дополнительных телодвижений при написании (добавили новое поле с длинным именем — нужно переформатировать). Вместо пробелов используют символы табуляции. На первых порах программирования в C# у меня была манера форматировать после-строчные комментарии (//..дофига пробелов..комментарий), вылечился, теперь по большому счету пофиг, комментарии читаются легко из-за характерного стиля в VS.

Необходимость проделывать такое вручную существует в средах где отсутствует автоформатирование. И там оно определенно имеет право на жизнь.

P.S.: на StackOverflow такие вопросы оффтоп, т.к. ну реально — opinion based ведь.
---
ПроГLамеры объединяйтесь..
Re[2]: А вы выравниваете код?
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 11.07.16 08:46
Оценка: +3
Здравствуйте, Sinatr, Вы писали:

S>Вместо пробелов используют символы табуляции.


Табуляция только для отступов. Иначе всё поедет при изменении ширины таба.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: Ignore whitespaces
От: Qbit86 Кипр
Дата: 11.07.16 08:48
Оценка: +7
Здравствуйте, Don Reba, Вы писали:

Q>>Такое искусственное выравнивание требует сопровождения: изменения одной строки нуждается в ручном перевёрстывании всех остальных. Как следствие, это не diff friendly.

DR>Решается опцией ignore whitespace в диффе.

А зачем их ignore? Их не надо ignore. Кроме того, это не спасёт от конфликтов. Скажем, в такой табличке кто-то в одной строке изменил тип, увеличив его на пару символов; кто-то другой исправил имя в другой строке, уменьшив самую длинную строку. Оба переверстали.

Изменения должны быть максимально локальными. А навязывание выравнивания вводит неявные зависимости между несвязанными строками.
Глаза у меня добрые, но рубашка — смирительная!
Re[4]: Ignore whitespaces
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 11.07.16 08:55
Оценка: +4
Здравствуйте, Qbit86, Вы писали:

Q>А зачем их ignore? Их не надо ignore. Кроме того, это не спасёт от конфликтов. Скажем, в такой табличке кто-то в одной строке изменил тип, увеличив его на пару символов; кто-то другой исправил имя в другой строке, уменьшив самую длинную строку. Оба переверстали.


Я считаю редкие, легко разрешимые конфликты приемлемой ценой за повышение читаемости кода.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Табуляция
От: Qbit86 Кипр
Дата: 11.07.16 08:59
Оценка: +2 -2
Здравствуйте, Sinatr, Вы писали:

S>Вместо пробелов используют символы табуляции.


Даже в начале строки не стоит использовать табуляцию, а уж в середине и подавно. При чтении в IDE, браузере, текстовом просмотрщике табуляция отображается разной ширины. Если табуляция в начале строки, то исходный текст будет всегда выглядеть по-разному, но хотя бы единообразно внутри файла. А если табуляция внутри строки, то вёрстка скорее всего будет сломана напрочь.
Глаза у меня добрые, но рубашка — смирительная!
Re[5]: Читаемость
От: Qbit86 Кипр
Дата: 11.07.16 09:03
Оценка: -1
Здравствуйте, Don Reba, Вы писали:

Q>>А зачем их ignore? Их не надо ignore. Кроме того, это не спасёт от конфликтов. Скажем, в такой табличке кто-то в одной строке изменил тип, увеличив его на пару символов; кто-то другой исправил имя в другой строке, уменьшив самую длинную строку. Оба переверстали.


DR>Я считаю редкие, легко разрешимые конфликты приемлемой ценой за повышение читаемости кода.


Это не колонка с цифрами, выравненными по разрядам. Тут сканирование чаще происходит построчно. Искусственное выравнивание не очень тут улучшает читаемость. Возможно даже ухудшает, так как внутри строки появляются нерегулярные разрывы.
Глаза у меня добрые, но рубашка — смирительная!
Re[3]: Табуляция
От: Lexey Россия  
Дата: 11.07.16 09:57
Оценка: -1
Здравствуйте, Qbit86, Вы писали:

Q>Даже в начале строки не стоит использовать табуляцию, а уж в середине и подавно. При чтении в IDE, браузере, текстовом просмотрщике табуляция отображается разной ширины.


Не стоит лепить такое форматирование, для которого критична ширина таба. Тогда и съезжать ничего не будет при изменении его размера.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[4]: Табуляция
От: Qbit86 Кипр
Дата: 11.07.16 10:41
Оценка:
Здравствуйте, Lexey, Вы писали:

Q>>Даже в начале строки не стоит использовать табуляцию, а уж в середине и подавно. При чтении в IDE, браузере, текстовом просмотрщике табуляция отображается разной ширины.

L>Не стоит лепить такое форматирование, для которого критична ширина таба. Тогда и съезжать ничего не будет при изменении его размера.

Что такое «форматирование, для которого некритична ширина таба», и за счёт чего гарантируется его несъезжание?
Глаза у меня добрые, но рубашка — смирительная!
Re: А вы выравниваете код?
От: Икс Россия  
Дата: 11.07.16 10:52
Оценка: +1
Здравствуйте, UberPsychoSvin, Вы писали:

Специально — нет, вижуал асист всё равно всё ломает, но иногда получается как побочный продукт работы в режиме Column Mode над кучей строк

Да, читается лучше, но оно не стоит чтобы этим специально заморачиваться.
Re[2]: А вы выравниваете код?
От: UberPsychoSvin  
Дата: 11.07.16 11:02
Оценка: +1 -1
Здравствуйте, Sinatr, Вы писали:
S>P.S.: на StackOverflow такие вопросы оффтоп, т.к. ну реально — opinion based ведь.
Это объективная вещь.

В +ах.
1. Чуть лучше читается.

В -ах.
1. Добавление одной строчки в коммитах может затрагивать целый блок кода, за счёт переформатирования.
2. Дополнительные телодвижения для форматирования.

Минусов больше чем плюсов — значит в рабочих проектах не надо этой фигнёй страдать.
А во всяких одноразовых скриптах можно и выровнять, что бы лучше читались, пока пишутся.
Отредактировано 11.07.2016 11:02 UberPsychoSvin . Предыдущая версия .
Re[5]: Табуляция
От: Lexey Россия  
Дата: 11.07.16 12:20
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Что такое «форматирование, для которого некритична ширина таба», и за счёт чего гарантируется его несъезжание?


Любые начальные отступы блоков кода. Несъезжание гарантируется тем, что в этих отступах нет ничего, кроме табов.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[6]: Табуляция
От: Qbit86 Кипр
Дата: 11.07.16 12:26
Оценка: +4
Здравствуйте, Lexey, Вы писали:

Q>>Что такое «форматирование, для которого некритична ширина таба», и за счёт чего гарантируется его несъезжание?

L>Любые начальные отступы блоков кода. Несъезжание гарантируется тем, что в этих отступах нет ничего, кроме табов.

Я это отдельно оговаривал. Похоже, ты просто не читаешь собощения, лепишь минус по ключевым словам.
Глаза у меня добрые, но рубашка — смирительная!
Re[6]: Табуляция
От: mDmitriy Россия  
Дата: 11.07.16 14:47
Оценка: +2
Здравствуйте, Lexey, Вы писали:
L>Любые начальные отступы блоков кода. Несъезжание гарантируется тем, что в этих отступах нет ничего, кроме табов.
например, просмотр в редакторе с табом по умолчанию 8 не гарантирует несъезжание за пределы экрана
зато точно покажет немеряно пустого места
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.