[Devel] Кодинг-стайл для Python
Evgeny Sinelnikov
sin на etersoft.ru
Ср Сен 29 18:18:40 MSD 2010
29 сентября 2010 г. 18:10 пользователь Devaev Maxim
<mdevaev на etersoft.ru> написал:
>> Единообразность кода по отношению к чему? По отношению к трём-шести
>> проектам, которые будут у нас или по отношению тысячам других?
> Единообразность кода, который пишут разработчики в рамках одного проекта.
>
>> Это субъектвное качество. Между решением объективным проблем и
>> предоставлением субъективных удобств, мы выбираем первое.
> Раскин от этих слов в гробу переворачивается, серьезно. Из-за того, что
> люди решали объективные проблемы, мы имеем чудовищное время загрузки
> компьютера (как минимум, биоса), объективно-ужасные в плане юзабилити
> графические интерфейсы и откровенно неудобные, но функциональные, сотовые
> телефоны. Это как пример. Суть моих слов сводится к тому, чтобы выбирать
> _правильное_ решение, которое является квинтэссенцией технически верного и
> удобного решения.
>
>> Потому, что так сложилось. Потому, что так проще. Потому, что табы -
>> это не "удобный и правильный способ". Единственное зачем они нужны,
>> это чтобы ты мог поставить себе шесть пробелов на отступ, игнорируя
>> все потенциальные проблемы с переносом кода, а также необходимостью
>> перенастраивать стандартные настройки редактора для правки кода в
>> общепринятом виде.
> Сложилась, да, но проще кому? Разработчику? Помилуй, разработчику как раз
> проще, когда он получает максимум возможностей для настройки под себя. Ты
> же не будешь настаивать на тотальном использовании в компании mcedit с
> синим фоном, потому что N людей у нас используют kate, как минимум двое vim
> и несколько еще какие-то IDE.
>
> Перенос кодя - понятие относительное. Переносить код куда? Если брать
> наработки какого-то другого проекта, то не факт, что там будут
> использоваться волшебные четыре пробела, хотя вероятность повышается. При
> объединении программной инфраструктуры 90% исходного кода остается
> неизменной, потому нет разницы, что используется в качестве отступов в
> разных модулях. А при мерже одного модуля программист в любом случае
> просматривает код и ему ничего не мешает заменить пробелы на табы. Хоть
> три, хоть десять.
>
>> Ещё раз. Преимущества возможности поставить шесть пробелов на отступ,
>> вместо четырёх, менее приоритетный вариант, чем:
>> - потенциальные проблемы с переносом кода;
> Про перенос я написал выше.
>
>> - необходимостью перенастраивать стандартные настройки редактора.
> Да, ввести команду :set expandtab это долго. Стандартные настройки чуть ли
> не во всех редакторах можно задавать шаблонами. Большинство людей
> использует таб для установки четырех пробелов. Я предлагаю оставить это как
> есть, но выставлять не четыре пробела, а табуляцию, вид которой можно
> настроить, в отличие от.
>
>> А также необходимостью рассказывать всем, что все общепринятые
>> стандарты "не удобные и не правильные". У нас и так хватает
>> маргинальных проблем. Изьбавьте меня от этой, пожалуйста.
> Мне тоже не нравится эта полемика, потому я и предлагаю оставить
> использование табов/пробелов на совести главразработчика. За сим и написал
> в стандарте.
>
Что оставить решает политика. Политика поределяет то, что по
умолчанию. По умолчанию пробелы.
Ты хочешь навязать свою политику, я говорю - нет. Эта политика
маргинальна, я не буду её поддерживать. На уровне компании мы не будем
её поддерживать.
--
Sin (Sinelnikov Evgeny)
Подробная информация о списке рассылки Devel