Здравствуйте, IT, Вы писали:
IT>Привычки иногда бывают вредные. А если мне после тебя сопровождать твой код, то при отсутствии единого стиля, я его скорее всего выброшу и перепишу по новой.
А может быть проще воспользоваться фичей "Reformat code"?
Здравствуйте, McSeem2, Вы писали:
КЕ>>Как правило перенос строки просто отбивают одной табуляций без выравнивания по скобке и в этом случае текст не потеряет структуры при изменении размера табуляции. Заглянул в соглашения rsdn и boost — там делают именно так.
MS>В BOOST я ничего не нашел из поводу рекоммендаций по переносу и выравниванию аргументов/операций для длинных строк.
В явном виде это не описано ни в rsdn, ни в boost, но в примерах (ненормативных?) везде используется выравнивание такое как я сказал.
MS>А по поводу табуляций, вот: MS>
MS>Tabs are banned because of the practical problems caused by tabs in multi-developer projects like Boost, rather than any dislike in principle. See mailing list archives. Problems include maintenance of a single source file by programmers using tabs and programmers using spaces, and the difficulty of enforcing a consistent tab policy other than just "no tabs". Discussions concluded that Boost files should either all use tabs, or all use spaces, and thus the decision to stick with spaces.
5.4. Use spaces, not tabs, for indentation. If everyone always used tabs, it would probably be OK, but since they don't we end up with files full of mixed spaces and tabs. Variable tab width causes alignment problems, so they are banned from source code.
Поскольку мы говорим о стиле принятом для некоторой группы, то можем гарантировать что все будут использовать табы, и соответственно все будет ОК.
Здравствуйте, prVovik, Вы писали:
КЕ>>Чтобы сдвинуть курсор (или подвинуть всю строку) на один отступ влево при использовании табуляции надо один раз нажать '<-' (или backspace/delete), а при использовании пробелов — 4 раза. Для меня это достаточная причина использовать табы.
V>Не проблема. Я, например, всегда курсор перемещаю влево-вправо только с зажатым контролом. Он тогда удобно перепрыгивает целиком через лексемы, последовательности пробельных символов и пр. В таком режиме символы табуляции вообще незаметны.
В чем-то удобно, но не то. Я не могу в одно касание подвинуть строку влево, и также не могу установить курсор на определенный отступ.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, IT, Вы писали:
MS>>>Чисто из любопытства — чем вызвано требование использовать табуляцию для отступов в начале строки? Есть этому какое-то разумное rationale?
IT>>Разные программисты предпочитают устанавливать разный размер отступа в своих редакторах. Кому-то нравится 4 символа, кому-то 2, кому-то 8. Использование табулиции в качестве отступа позволяет удовлетворить потребности всех.
MS>Дык от этого форматирование неизбежно отъезжает... Например, это противоречит требованию не писать длинных строк. Вообще, это крайне сложно написать текст программы так, чтобы он хорошо выглядел при любом размере табуляции. На практике получается полный бардак, в результате которого, со временем узаконивается вполне определенный размер табуляуции, скажем, 4. Дальнейший шаг, логически вытекающий из предыдущего — полный отказ от табуляций.
Если ты внимательно прочтешь указанные выше правила, то должен будешь заметить, что табуляция там используется только для отбивки отступа от начала строки. Для форматирования текста после первого значащего символа предлагается использовать исключительно проблелы. Более того оговаривается, что кроме случаев табличного форматирования запрещается делать более одного пробела и оговривается где пробелы допустимы, а где нет.
Что касается редакторов и автоматических замен, то все известные мне приличные редакторы (в том числе и VS) не заменяют на табуляции пробелы внутри строки (заменяют только начальные проблелы).
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
MS>Имелось в виду — как установить отдельный цвет для этих точек-стрелочек, как это сделал IT — так, чтобы они почти сливались с фоном и не мешались.
Для работы это не нужно. Это нужно только если ты боришся с хлопцами вроде тебя наформатировшивми код пробелами вручную. Тогда Ctrl+Shift+8 + Alt+8 и все ОК.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Костя Ещенко, Вы писали:
КЕ>Чтобы сдвинуть курсор (или подвинуть всю строку) на один отступ влево при использовании табуляции надо один раз нажать '<-' (или backspace/delete), а при использовании пробелов — 4 раза. Для меня это достаточная причина использовать табы.
Это как раз фигня. Смартабы в современных IDE спасают.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, xvost, Вы писали:
X>В РеШарпере Code Formatter настраивается гибче. И умеет то, чего не умеет студия — оптимизация using директив, вставка private/internal модификаторов, etc.
(*) Может прежде чем говорить нужно было попробывать и 2005-ю студию?
X>1) Рефакторингов у РеШарпера больше. И работают аккуратнее — на наших особо хитрых тестовых примерах 2005я лажает
А на моей практике не одной шибки.
X>2) Навигация по коду в РеШарпере удобнее
Чем?
X>3) Error highlighting, quickfixes, etc.
highlighting и в студии нормальный. А quickfixes возможно. Лично мне он не очень нужен.
X>4) Различные варианты Code completion — с автоматичской вставкой usings, etc. Особая сила — Smart completion
См. (*)
X>5) Подхват практически всех изменений "на лету". Например, чтобы увидеть XML doc в Студии надо сборку сначала собрать. Мы жэе вытаскиваем из исходников напрямую.
Чушь. См. (*)
X>6)-99) ... и еще куча всего
См. (*)
В общем, см. (*).
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
КЕ>>Чтобы сдвинуть курсор (или подвинуть всю строку) на один отступ влево при использовании табуляции надо один раз нажать '<-' (или backspace/delete), а при использовании пробелов — 4 раза. Для меня это достаточная причина использовать табы.
VD>Это как раз фигня. Смартабы в современных IDE спасают.
От чего спасают? В IDE VC7.1 смарт индент мне ничем по помог.
Здравствуйте, VladD2, Вы писали:
VD>Если ты внимательно прочтешь указанные выше правила, то должен будешь заметить, что табуляция там используется только для отбивки отступа от начала строки. Для форматирования текста после первого значащего символа предлагается использовать исключительно проблелы. Более того оговаривается, что кроме случаев табличного форматирования запрещается делать более одного пробела и оговривается где пробелы допустимы, а где нет.
OK, еще раз. Это некий абстрактный кусок на C++, это не суть. C# предполагает еще более длинные имена и конструкции.
В этом случае, с табуляциями действительно нет проблем. Но не читается это — тяжело визуально различать, где имя функции, где аргументы, где — внутренность блока.
Но, как я уже сказал, спорить не буду — табуляции вполне оправданы при данном подходе (C# + VS2003+). Я лишь хотел узнать и разобраться в причинах таких требований. Теперь узнал и разобрался. Спасибо.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Prokher, Вы писали:
P>Очевидно при работе в коллективе необходимо придерживаться какого-то соглашения по оформлению кода.
Вот кусок моей старой программы. Кто разберётся, что это — тому пирожок с полки. Уж извините больше ничего нет.
Тут данные структурированны, уж не подумайте, что я все '/n' стёр.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, _orion_, Вы писали:
__>>А ссылку на эти рекомендации Microsoft можно узнать ??
VD>Наши сделаны на их базе. Отличия минимальны.
Да, спасибо.
И все-таки хотелось бы узнать ссылку на оригинальные.
MS>>>Дык от этого форматирование неизбежно отъезжает... Например, это противоречит требованию не писать длинных строк.
IT>>Почему? Какая разница ставишь ты 4 пробела или делаешь табуляцию в размером в 4 символа?
MS>Разница огромная. Вот текст, в том виде, в котором он задумывался (отступ==табуляция==4):
Не о том думаете. Я вот пропорциональные шрифты использую, и куда идет все это сложное форматирование?
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, McSeem2, Вы писали:
MS>>Чисто из любопытства — чем вызвано требование использовать табуляцию для отступов в начале строки? Есть этому какое-то разумное rationale?
IT>Разные программисты предпочитают устанавливать разный размер отступа в своих редакторах. Кому-то нравится 4 символа, кому-то 2, кому-то 8. Использование табулиции в качестве отступа позволяет удовлетворить потребности всех.
Это работает торлько если все например на Visual Studio пишете. У нас наоборот только пробелы. Потому как если ты пишешь кроссплатформенный код то твои 4 табуляции становятся 8 например в unix — там иногда бывает нужно без IDE код править — и получается полный капец. А еще хуже код из пробелов и табуляций в перемешку.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
IT>На шарпе даже с более длинными идентификоторами короче получается А насчёт читабельности я лучше умолчу.
Речь не об этом. Речь о том, что ты все равно не имеешь права так писать — выравнивать аргументы пробелами нельзя, а с табуляйцами неизбежно возникает покривение. Надо так: