Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Странные стандарты кодирования. 
:(
    Опции темы
LSD
Дата 9.7.2010, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(bars80080 @  9.7.2010,  20:03 Найти цитируемый пост)
ну, я хотя бы сразу ответил, а ты видать решил осилить мою фразу до конца?

Вынужден огорчить твое ЧСВ, у меня есть и другие занятия кроме как с тобой спорить smile 


Цитата(bars80080 @  9.7.2010,  20:03 Найти цитируемый пост)
там есть табы и пробелы?

Там есть один товарищь который до сих пор не привел примера:
Цитата(LSD @  9.7.2010,  19:50 Найти цитируемый пост)
Я пока от тебя тоже ни одного примера кода, который был бы ужасен при форматировании пробелами и прекрасен при форматировании табами не увидел. Заодно хотелось бы примеры IDE которые могут делать форматирование по Logo.



Цитата(bars80080 @  9.7.2010,  20:03 Найти цитируемый пост)
да любой код, где для отступа применяется таб. нажал одну кнопку - он изменил величину, и всё, ты доволен

Цитата(LSD @  25.5.2010,  15:56 Найти цитируемый пост)
У табов только один плюс любой эстет у которого возникает нестерпимый butthurt от отступов несоответствующих его эстетическим представлениям о красивом коде, может это элементарно исправить изменив размер таба. 

Так вот я к подобным эстетам не отношусь, я могу пережить код с отступом и 2 и 4 и 8, главное чтобы он был в едином стиле и не разъезжался как в случае с табами.


Цитата(bars80080 @  9.7.2010,  20:03 Найти цитируемый пост)
делать отступы? или что-то особенное имел ввиду? 

Делат выравнивание используя табы и пробелы. Перечитай начало топика.


P.S. Надеюсь я ответил достаточно быстро smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
bars80080
Дата 9.7.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 4
Всего: 315



Цитата(LSD @  9.7.2010,  19:11 Найти цитируемый пост)
Вынужден огорчить твое ЧСВ, у меня есть и другие занятия кроме как с тобой спорить

не беспокойся, не ты один тут у меня в ногах


Цитата(LSD @  9.7.2010,  19:11 Найти цитируемый пост)
Так вот я к подобным эстетам не отношусь, я могу пережить код с отступом и 2 и 4 и 8

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


Цитата(LSD @  9.7.2010,  19:11 Найти цитируемый пост)
Там есть один товарищь который до сих пор не привел примера:

привёл, ты на него только что ответил


Цитата(LSD @  9.7.2010,  19:11 Найти цитируемый пост)
Делат выравнивание используя табы и пробелы. Перечитай начало топика.

ммм, первый пост как бэ спрашивает: какого чёрта некто пользуется пробелами. и приведены три причины почему лучше табами. там не говорится, что что-то нужно делать пробелами
PM MAIL WWW   Вверх
Logo
Дата 9.7.2010, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 694
Регистрация: 22.7.2008

Репутация: нет
Всего: 10



Цитата

Делат выравнивание используя табы и пробелы. Перечитай начало топика.


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

Цитата

Так вот я к подобным эстетам не отношусь, я могу пережить код с отступом и 2 и 4 и 8, главное чтобы он был в едином стиле и не разъезжался как в случае с табами.


Уже три страницы болтовни, а реального примера где код с табами разъезжается, как не было, так и нет.
PM MAIL   Вверх
djamshud
Дата 10.7.2010, 03:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: нет
Всего: 39



>сказал, что для выравнивания идентификаторов по одной линии по вертикали, стоит использовать пробелы.

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

Код

class Class{
 void foo(int a,
          int b){
 }
};


И либо пиздец форматированию, либо трах с его поддержкой.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Natalina
  Дата 20.7.2010, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.7.2010

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
LSD
Дата 27.4.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



И на хабре тему подняли
Пора завязывать использовать символы табуляции в коде
Пора завязывать использовать пробелы вместо табуляции в коде
В обсуждении был очень хороший комментарий:
Цитата(Andrey2008)
Кажется я начинаю понимать, откуда такое моё несогласие с миром. Я в основном работал и работаю с унаследованным кодом. И мне совершенно не интересны теоретические и идеологические обоснования почему табы лучше. Я практик. Когда я беру код и вижу, что он разъехался, так по мне пробелы в 100 раз лучше. Никто никогда не заворачивается, что такое indentation, alignment. Просто 5-10 лет назад натабили и пошли дальше.



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
bars80080
Дата 27.4.2011, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 4
Всего: 315



Цитата(LSD @  27.4.2011,  18:35 Найти цитируемый пост)
Кажется я начинаю понимать, откуда такое моё несогласие с миром. Я в основном работал и работаю с унаследованным кодом. И мне совершенно не интересны теоретические и идеологические обоснования почему табы лучше. Я практик. Когда я беру код и вижу, что он разъехался, так по мне пробелы в 100 раз лучше. Никто никогда не заворачивается, что такое indentation, alignment. Просто 5-10 лет назад натабили и пошли дальше.

что-то он ересь какую-то говорит. с унаследованным кодом как раз работать проще с табами. у всех количество пробелов на сдвиг по разному, а таб на сдвиг - он всегда один. код всегда будет открываться в привычном для тебя виде
PM MAIL WWW   Вверх
skyboy
Дата 27.4.2011, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



LSD, я пока тему листал(вижу впервые) была мысля: ща кто-то некромантит после статьи на хабре. так и оказалось  smile 
в статье, кстати, офигенски первым же аргументов отделяется aligning и indentation. и вариант - "только пробелы для первого" и "только табы для второго" лично меня устраивает абсолютно. кроме того, что все равно будут люди, которые станут умудряться нарушать соглашение.
правда, у нас jlint в хуке на коммит запускается...(искать табы НЕ в начале строки и пробелы в начала - тут достаточно базовых знаний регулярок).
PM MAIL   Вверх
LSD
Дата 28.4.2011, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(skyboy @  27.4.2011,  22:24 Найти цитируемый пост)
в статье, кстати, офигенски первым же аргументов отделяется aligning и indentation. и вариант - "только пробелы для первого" и "только табы для второго" лично меня устраивает абсолютно. кроме того, что все равно будут люди, которые станут умудряться нарушать соглашение.

И при этом как-то полностью игнорируется тот факт, что весь это "табовый рай" наступит при полном соблюдении этого если. Иначе он превращается в "табовый ад". В случае же с пробелами, это не рай, но вполне приемлимо всегда. Как показывает мой опыт, в унаследованом коде, всегда будет мешанина aligning и indentation. Ни один индус эти понятия не различает.

Для нормальной работы "табового рая" нужно чтобы средство разработки поддерживало его полностью. Та же IDEA поддерживает smart tab для Java, но для Javascript уже не поддерживает по человечески. А сколько удовольствия можно получить если придется организовывать этот smart tab в редакторе уровня Notepad, это же просто праздник какой-то smile 
Плюс табовые апологеты как-то скромно замалчивают вопрос с max line length. Возьмет C# и какую нибудь типичную функцию:
Код

namespace decl.  - indent 0
class decl.      - indent 1
method decl.     - indent 2
loop decl.       - indent 3
condition decl.  - indent 4

Итого при max line length = 80 и tab size = 8, получаем ширину внутреннего блока 48 символов. А изменив tab size на 2 получим - 72. Т.е. просто сменив tab size на предпочитаемый человек рискует получить 24 пустых знакоместа в конце, т.е. фактически треть ширины экрана.


Цитата(skyboy @  27.4.2011,  22:24 Найти цитируемый пост)
правда, у нас jlint в хуке на коммит запускается...(искать табы НЕ в начале строки и пробелы в начала - тут достаточно базовых знаний регулярок). 

И какая регулярка ловит такое?
Код

-->public void foo(String str,
-->-->-->-->-->....int i,



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
skyboy
Дата 28.4.2011, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Код

assertNotMatch(/^\t*[^\s]/, 'There are some spaces in begin of line');


Добавлено через 39 секунд
это не jlint. типа "псевдокод" smile
PM MAIL   Вверх
LSD
Дата 28.4.2011, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



И что скажет эта регулярка на правильно отформатированный код:
Код

-->public void foo(String str,
-->................int i,

?
smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
skyboy
Дата 28.4.2011, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(LSD @  28.4.2011,  12:32 Найти цитируемый пост)
 на правильно отформатированный код

не расползающийся при любом параметре tab-to-spaces. но это не значит, что такую смесь можно считать стилистически правильной.
а так, да, регулярка работающая в любой момент времени только с одной строкой кода, никак не может провести анализ "оу, так оно же не расползается".
а надо ли?
если б проверка вынудила программиста вместо
Код

-->public void foo(String str,
-->................int i,

написать
Код

-->public void foo(
-->-->String str,
-->-->int i,

стало бы оно хуже читаться? нельзя было бы отличить список параметров от имени функции?
PM MAIL   Вверх
LSD
Дата 29.4.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(skyboy @  28.4.2011,  17:41 Найти цитируемый пост)
но это не значит, что такую смесь можно считать стилистически правильной.

Как это нельзя? А кто тут говорил красивые слова про aligning и indentation, про табы для одного и пробелы для другого?


Цитата(skyboy @  28.4.2011,  17:41 Найти цитируемый пост)
а надо ли?
если б проверка вынудила программиста вместо
...
написать
...
стало бы оно хуже читаться? нельзя было бы отличить список параметров от имени функции?

Ну вот, тут и получается два варианта:
1. Изменить Code Conventions чтобы форматирование легко и приятно ложилось на табы.
2. Заставить всех разработчиков использовать единый отступ, но при этом получить возможность использовать любой aligning (в рамках Code Conventions конечно). А проверить что код форматирован пробелами еще проще, чем табами.

Вот возьмем такой код:
Код

var = someMethod1(longExpression1,
                  someMethod2(longExpression2,
                              longExpression3));

смотрится нормально, а теперь если его отформатировать табами как ты предлагал:
Код

var = someMethod1(longExpression1,
    someMethod2(longExpression2,
        longExpression3));

смотрится менее читабельно.

Понятно, что любое решение не лишено недостатков. Но на мой взгляд невозможность подстроить величину отступа под себя, меньшее зло, чем те пробелы которые вызывает использование табов. Если размер отступа 4, а не 2
Цитата(skyboy @  28.4.2011,  17:41 Найти цитируемый пост)
стало бы оно хуже читаться?

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


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Logo
Дата 14.6.2011, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 694
Регистрация: 22.7.2008

Репутация: нет
Всего: 10



user posted image

 smile 
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Разные вопросы"
Smartov

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


С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разные вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1010 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.