Re: А вы выравниваете код?
От: mDmitriy Россия  
Дата: 11.07.16 14:49
Оценка: +1
Здравствуйте, UberPsychoSvin, Вы писали:
UPS>Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.
невыравненный код вообще не имеет права на существование...
Re[7]: Табуляция
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.07.16 17:33
Оценка: +1 :)
Здравствуйте, mDmitriy, Вы писали:

D>например, просмотр в редакторе с табом по умолчанию 8 не гарантирует несъезжание за пределы экрана

D>зато точно покажет немеряно пустого места

А зачем вы так переживаете за того чувака, который юзает таб в 8 пробелов? Может дофига пустого места — это именно то, что ему нужно?

А если это у вас такой таб, что мешает просматривать отформатированный код, то ссзс, предлагаю еще и цвет текста сделать белым по белому.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[5]: Табуляция
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 11.07.16 18:09
Оценка: +4
Здравствуйте, Qbit86, Вы писали:

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


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


На практике, это использование табов только для отступов и избежание такого форматирования параметров функций:

Color.FromArgb(red,
               green,
               blue);
Ce n'est que pour vous dire ce que je vous dis.
Re[8]: Тот чувак, который юзает таб в 8 пробелов
От: Qbit86 Кипр
Дата: 11.07.16 21:01
Оценка: 3 (1)
Здравствуйте, seregaa, Вы писали:

S>Может дофига пустого места — это именно то, что ему нужно?


Нет, дофига пустого места — это настройки по умолчанию: в Google Chrome, Unity 3D, Total Commander, etc, etc, etc.

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


Видишь ли, для такого таба не надо что-то специально делать. Достаточно просто не найти настройку «ширина табуляции в <pre>» в Google Chrome.

Кстати, где она? Расскажи, как ты убеждаешь ГитХаб отображать тебе исходный код с табами шириной в 4 символа, а не 8, например?
Глаза у меня добрые, но рубашка — смирительная!
Re[8]: Табуляция
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 11.07.16 21:31
Оценка: 5 (1)
Здравствуйте, seregaa, Вы писали:

S>А зачем вы так переживаете за того чувака, который юзает таб в 8 пробелов?

S>А если это у вас такой таб, что мешает просматривать отформатированный код, то ссзс

Это размер таба по умолчанию. Используется многими инструментами, которые, зачастую, нет возможности настроить или настраиваются они исключительно ректально. Например, всякие веб-приложения для просмотра исходного кода, diff-merge утилиты, консольные утилиты и пр.

Да, большая часть из них так или иначе настраивается. Но частенько с косяками. Например, WinMerge не может иметь разную величину табов для разных типов файлов, а где настраивать ширину таба в интерфейсе github'а я что-то сходу не нашёл.
С уважением, Artem Korneev.
Re: А вы выравниваете код?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 11.07.16 21:36
Оценка:
Здравствуйте, UberPsychoSvin, Вы писали:

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


Я выравниваю по возможности. Но без фанатизма.

Да, Visual Studio и прочие инструменты частенько грохают это форматирование. И аргумент про дополнительные телодвижения при добавлении новых строк тоже актуален. Но читабельность кода для меня важнее, потому в конечном счёте весь подобный код у нас форматируется таким вот образом.

Да и.. только пробелами.
С уважением, Artem Korneev.
Re[9]: Тот чувак, который юзает таб в 8 пробелов
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.07.16 23:15
Оценка: +4 :)
Здравствуйте, Qbit86, Вы писали:

S>>Может дофига пустого места — это именно то, что ему нужно?

Q>Нет, дофига пустого места — это настройки по умолчанию: в Google Chrome, Unity 3D, Total Commander, etc, etc, etc.

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

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

Q>Видишь ли, для такого таба не надо что-то специально делать. Достаточно просто не найти настройку «ширина табуляции в <pre>» в Google Chrome.
Q>Кстати, где она? Расскажи, как ты убеждаешь ГитХаб отображать тебе исходный код с табами шириной в 4 символа, а не 8, например?

Вот если бы мне это действительно было нужно, я бы не поленился и погуглил. И нашел бы такой способ:
https://github.com/tiimgreen/github-cheat-sheet#adjust-tab-space

Пример отображения с 4 пробелами: https://github.com/jquery/jquery/blob/master/src/core.js?ts=4

Но по мне так для код и с 8 символами выглядит терпимо, что на c#, что на java.
https://github.com/linq2db/linq2db/blob/master/Source/Data/DataConnection.cs
https://github.com/osmdroid/osmdroid/blob/master/osmdroid-android/src/main/java/org/osmdroid/views/MapView.java
Во всяком случае недостаточно плохо, чтобы заставлять авторов менять свои предпочтения.
Особенно с учетом того, что основная работа с кодом происходит не в браузере.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[9]: Табуляция
От: seregaa Ниоткуда http://blogtani.ru
Дата: 11.07.16 23:15
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Это размер таба по умолчанию. Используется многими инструментами, которые, зачастую, нет возможности настроить или настраиваются они исключительно ректально. Например, всякие веб-приложения для просмотра исходного кода, diff-merge утилиты, консольные утилиты и пр.

AK>Да, большая часть из них так или иначе настраивается. Но частенько с косяками. Например, WinMerge не может иметь разную величину табов для разных типов файлов, а где настраивать ширину таба в интерфейсе github'а я что-то сходу не нашёл.

Ответил в предыдущем сообщении.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[10]: Тот чувак, который юзает таб в 8 пробелов
От: Qbit86 Кипр
Дата: 11.07.16 23:37
Оценка: 3 (1) +1 -1
Здравствуйте, seregaa, Вы писали:

Q>>например?

S>Вот если бы мне это действительно было нужно, я бы не поленился и погуглил. И нашел бы такой способ:

«This does not work on Gists, or raw file views»

S>Ну вы пробельщики и эгоисты. Вместо того, чтобы изучить и настроить под себя свой инструмент, вы хотите насадить свои стандарты всем вокруг.


Олол. Табуляторщикам проще допустить, все вокруг должны настраивать по несколько программ на всех своих рабочих компах, просто чтобы три с половиной табуляторщика наслаждались своей табуляцией. Невзирая на гайдлайны и рекомендации.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: Нет
От: мыщъх США http://nezumi-lab.org
Дата: 12.07.16 00:29
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q> Такое искусственное выравнивание требует сопровождения: изменения одной

Q> строки нуждается в ручном перевёрстывании всех остальных. Как следствие, это не diff friendly.
где вы такой diff откопали? кошерный diff кушает опцию: --ignore-space-change
google://diff ignore whitespace
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: А вы выравниваете код?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.07.16 07:20
Оценка: +2
Здравствуйте, UberPsychoSvin, Вы писали:

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>Вторая вроде бы лучше читается, но я так на всякий случай никогда не делаю, потому что ни в каких "coding convention" таких советов не читал.


Есть местами. BSD'шный style(9) явно такое рекомендует:

     When declaring variables in structures, declare them sorted by use, then
     by size (largest to smallest), and then in alphabetical order.  The first
     category normally does not apply, but there are exceptions.  Each one
     gets its own line.  Try to make the structure readable by aligning the
     member names using either one or two tabs depending upon your judgment.
     You should use one tab only if it suffices to align at least 90% of the
     member names.  Names following extremely long types should be separated
     by a single space.

     struct foo {
             struct foo      *next;          /* List of active foo. */
             struct mumble   amumble;        /* Comment for mumble. */
             int             bar;            /* Try to align the comments. */
             struct verylongtypename *baz;   /* Won't fit in 2 tabs. */
     };
     struct foo *foohead;                    /* Head of global foo list. */
(подчёркивание — моё)

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

Хуже то, что большинство сейчас ориентируется на автоформатирование в IDE, а в нём я такое ещё не видел ни разу. Вообще, это автоформатирование очень часто слишком тупое.
The God is real, unless declared integer.
style indentation
Re[4]: Табуляция
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.07.16 07:22
Оценка: +1
Здравствуйте, Lexey, Вы писали:

L>Здравствуйте, Qbit86, Вы писали:


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


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


Реально на сейчас табуляция в коде просто вредна — экономия ничтожна, а проблемы из-за разной ширины значительно существеннее.
The God is real, unless declared integer.
Re[11]: Тот чувак, который юзает таб в 8 пробелов
От: seregaa Ниоткуда http://blogtani.ru
Дата: 12.07.16 08:57
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Здравствуйте, seregaa, Вы писали:


Q>>>например?

S>>Вот если бы мне это действительно было нужно, я бы не поленился и погуглил. И нашел бы такой способ:
Q>«This does not work on Gists, or raw file views»

А почему цитату до конца не привел? "This does not work on Gists, or raw file views, but a Chrome or Opera extension can automate this."

S>>Ну вы пробельщики и эгоисты. Вместо того, чтобы изучить и настроить под себя свой инструмент, вы хотите насадить свои стандарты всем вокруг.

Q>Олол. Табуляторщикам проще допустить, все вокруг должны настраивать по несколько программ на всех своих рабочих компах, просто чтобы три с половиной табуляторщика наслаждались своей табуляцией.

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

Q>Невзирая на гайдлайны и рекомендации.

Гайды и рекомендации разные, и если проходится участвовать в разных проектах, то приходится перенастраивать инструменты и работать с разношерстным выравниванием.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[11]: Тот чувак, который юзает таб в 8 пробелов
От: seregaa Ниоткуда http://blogtani.ru
Дата: 12.07.16 09:08
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Олол. Табуляторщикам проще допустить, все вокруг должны настраивать по несколько программ на всех своих рабочих компах, просто чтобы три с половиной табуляторщика наслаждались своей табуляцией. Невзирая на гайдлайны и рекомендации.


Посмотри на количество проголосовавших за табы и пробелы http://stackoverflow.com/research/developer-survey-2015#tech-tabsspaces
45% предпочитают табы, 33% — пробелы. Не похоже на "три с половиной" табуляторщика. Поэтому твой аргумент работает против тебя.
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[12]: Тот чувак, который юзает таб в 8 пробелов
От: Qbit86 Кипр
Дата: 12.07.16 09:17
Оценка:
Здравствуйте, seregaa, Вы писали:

Q>>«This does not work on Gists, or raw file views»

S>А почему цитату до конца не привел?

Так и ты до конца все пункты не рассмотрел. Где настраивается отображаемый размер табуляции в инспекторе Unity 3D или в текст. просмотрщике Total Commander?

S>"This does not work on Gists, or raw file views, but a Chrome or Opera extension can automate this."


То есть ты считаешь нормальным навязывать всему миру установку каких-то сторонних экстеншнов под разные браузеры (а что насчёт Edge и Firefox?), а если кто не хочет, «то ссзс, предлагаю еще и цвет текста сделать белым по белому.»

S>С табами всегда есть альтернатива — можно смотреть как есть, а можно настроить инструмент под себя.


Не просто «настроить инструмент под себя», а перебрать все установленные на компе мерджилки, текстовые просмотрщики и браузеры, не говоря уже о каких-то консольных утилитах.

S>В случае с пробелами такой альтернативы нет — ты полностью зависим от прихоти автора кода.


А ещё, представь, ты зависим о того, переносит ли автор скобку { на новую строку или пишет в конце предыдущей. Может, стоит перед скобкой тоже вставлять какой-нибудь специальный неотображаемый символ, чтоб читатель мог настроить в своём окружении, переносить ли по этому символу скобку или нет?

Q>>Невзирая на гайдлайны и рекомендации.


Microsoft: «Use the default Code Editor settings (smart indenting, four-character indents, tabs saved as spaces).»
Google: «We use spaces for indentation. Do not use tabs in your code. You should set your editor to emit spaces when you hit the tab key.»
PEP 8: «Spaces are the preferred indentation method. Tabs should be used solely to remain consistent with code that is already indented with tabs.»

S>Гайды и рекомендации разные, и если проходится участвовать в разных проектах, то приходится перенастраивать инструменты и работать с разношерстным выравниванием.


Я сейчас как раз работаю в проекте, где «исторически сложилась» табуляция, будь она проклята.
Глаза у меня добрые, но рубашка — смирительная!
Отредактировано 12.07.2016 9:28 Qbit86 . Предыдущая версия .
Re[12]: Тот чувак, который юзает таб в 8 пробелов
От: Qbit86 Кипр
Дата: 12.07.16 09:20
Оценка: +1
Здравствуйте, seregaa, Вы писали:

Q>>...просто чтобы три с половиной табуляторщика наслаждались своей табуляцией. Невзирая на гайдлайны и рекомендации.

S>Посмотри на количество проголосовавших за табы и пробелы http://stackoverflow.com/research/developer-survey-2015#tech-tabsspaces

Прекрасная ссылка; по ней говорится: «Upon closer examination of the data, a trend emerges: Developers increasingly prefer spaces as they gain experience. Stack Overflow reputation correlates with a preference for spaces, too: users who have 10,000 rep or more prefer spaces to tabs at a ratio of 3 to 1.»
Глаза у меня добрые, но рубашка — смирительная!
Re[13]: Тот чувак, который юзает таб в 8 пробелов
От: seregaa Ниоткуда http://blogtani.ru
Дата: 12.07.16 09:29
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>>>...просто чтобы три с половиной табуляторщика наслаждались своей табуляцией. Невзирая на гайдлайны и рекомендации.

S>>Посмотри на количество проголосовавших за табы и пробелы http://stackoverflow.com/research/developer-survey-2015#tech-tabsspaces
Q>Прекрасная ссылка; по ней говорится: «Upon closer examination of the data, a trend emerges: Developers increasingly prefer spaces as they gain experience. Stack Overflow reputation correlates with a preference for spaces, too: users who have 10,000 rep or more prefer spaces to tabs at a ratio of 3 to 1.»

Так и знал, что ты обратишь на это внимание. Однако изначально ты говорил только о количестве. Так до бесконечности перескакивать (что то мне это напоминает...)
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[13]: Тот чувак, который юзает таб в 8 пробелов
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 12.07.16 09:33
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>То есть ты считаешь нормальным навязывать всему миру установку каких-то сторонних экстеншнов под разные браузеры (а что насчёт Edge и Firefox?), а если кто не хочет, «то ссзс, предлагаю еще и цвет текста сделать белым по белому.»


Просто представь, что автор напечатал восемь пробелов, и не надо ничего настраивать.
Ce n'est que pour vous dire ce que je vous dis.
Re[14]: Тот чувак, который юзает таб в 8 пробелов
От: Qbit86 Кипр
Дата: 12.07.16 09:37
Оценка:
Здравствуйте, seregaa, Вы писали:

Q>>Прекрасная ссылка; по ней говорится: «Upon closer examination of the data, a trend emerges: Developers increasingly prefer spaces as they gain experience. Stack Overflow reputation correlates with a preference for spaces, too: users who have 10,000 rep or more prefer spaces to tabs at a ratio of 3 to 1.»

S>Так и знал, что ты обратишь на это внимание. Однако изначально ты говорил только о количестве.

Вполне вероятно, что у меня искажённая оценка количества табуляторщиков, потому что стараюсь оставаться в среде experienced developers. Если же тебя окружают вчерашние студенты, то вполне возможно они фигачат табы как в дельфи.
Глаза у меня добрые, но рубашка — смирительная!
Re[7]: Табуляция
От: Lexey Россия  
Дата: 12.07.16 09:39
Оценка:
Здравствуйте, Qbit86, Вы писали:

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


Я минус тебе влепил за "Даже в начале строки не стоит использовать табуляцию". Ибо именно в начале строки ее и желательно использовать. Твои дальнейшие оговорки никак не отменяют первое утверждение.
"Будь достоин победы" (c) 8th Wizard's rule.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.