Comments 52
Нет, я не перевожу комментарии. Я считаю (лично мое мнение), что комментарии в коде должны быть на английском.
Абсолютно правильное мнение.
ps. Спасибо и ждем pdf.
Вы знаете, я много за свою жизнь видел кода, но мало комментариев на английском, я видел кучу коментариев на языке с английскими корнями, которые при переводе выглядят как «я твой дом труба шатал». Непонятно зачем цепляться за такой таджикоанглийский, лучше уж писать на русском.
Всегда существует вероятность того, что Ваш код будет поддерживать не носитель русского языка. Английский просто универсальнее.
Евгений, вы неоставляете возможность иностранному разработчику поддерживать код. Это может быть офшорная разработка или разработчик-иностранец в вашей компании. Английский в любом его исполнении понимается большинством разработчиков, поэтому «дом труба шатал», лучше чем "ハウスパイプ揺れ".
Скопирует в ГуглТранслейт и получит тот же результат, что я бы написал (а может к тому времени транслейт ещё поумнеет и результат будет лучшем чем на момент написания кодв). Но если у него рядом (или на связи) будет человек, знающий хорошо и русский, и английский, то сможет нормально переписать на английском. А если гугл даст мне английский аналог «дом труда шатал», то я могу его понять (будь английский мой родной) и как «дом трубу шатал» и как «у дома шаталась труба». и как «дом с трубой шатался» и ещё кучей способов.

Так что лучше писать комментарии на русском «сколько времени» чем на «английском» «how many time». Проверено на работе в трехязычной команде, где лишь два человека хорошо владели двумя языками, причем общий для них был немецкий. Я писал на русском, немец переводил с русского на немецкий и свои комменты на немецком писал, а англичанин с немецкого на английский. переводил. В итоге почти все комменты были переведны с обычного русского и обычного немецкого на английский. но всё это так, без особого напряга, типа встретился коммент и переводят. Патчей только с переводом обычно не было. А собственно предложил такую систему ввести англичанин, как ему надоело узнавать что же мы имели в виду написав «дом труба шатал». :)
Это еще и хорошая прокачка английского, если не практиковаться так и будет разработчик всю жизнь «труба шатал» — я только из-за этого и пишу по-английски комменты.
И еще есть что-то чуждое в кириллице в коде.
Долго вы уже пишите такие комментарии? Насколько хорошо знаете английский? Можно подумать, английский — это только слова. Языковые конструкции и прочее не прокачать комментариями — поправить-то вас некому.
В таком случае языку нельзя обучиться самостоятельно, если судить по вашей логике: у меня нет преподавателей и носителей языка — т.е. поправить меня некому.
Можно подумать, английский — это только слова.

Но и слова тоже. Одними комментариями сыт не будешь, правда: нужны аудио и видео, книги и журналы. Однако, если попытаться перевести сложный коммит, мозг начнет напрягаться — это хорошо, не так ли?
В таком случае языку нельзя обучиться самостоятельно, если судить по вашей логике: у меня нет преподавателей и носителей языка — т.е. поправить меня некому.
Нет, не правильно. Вы можете взять учебник и выучиться. Только учебник — это методика, там есть последовательность, как выучить язык. Комментарии в коде — не методика изучения языка, максимум — расширение словарного запаса и то до какой-то степени.
Однако, если попытаться перевести сложный коммит, мозг начнет напрягаться — это хорошо, не так ли?
Или вы его переведёте неправильно, если его писал неуч, который не отличает «важный» от «импотент».
Нет, не правильно. Вы можете взять учебник и выучиться.
Надеюсь вы не думаете, что я предлагаю начать изучение английского с написания комментариев в коде?

максимум — расширение словарного запаса и то до какой-то степени.
Вы так говорите будто это что-то плохое. Или, грубо говоря, вы со мной согласны, но не согласны? :-)
Практика — она и есть практика, в ней ошибаются и осознают свои ошибки. Написание писем, комментариев к коду, тикетов в трекере, общение на форуме — практика письменного английского.
Это если осознаете. Обычно люди не осознают, что они пишут «дом труба шатал». Если каждое слово, вернее каждую грамматическую конструкцию проверяете по справочнику (не забывая про список исключений) — то, да, лучше писать на английском комментарии. Но вряд ли это допустимо в рабочих проектах. Да и в своих тоже уу меня как-то не прижилось — или программировать, или язык изучать.
И еще есть что-то чуждое в кириллице в коде.

А, по-моему, нормально: github.com/idlesign/pyyaru/blob/master/pyyaru/pyyaru.py %P

Однако этот пример не говорит о том, что так нужно делать везде, он говорит о том, что нужно понимать целевую аудиторию проекта.
Кстати, в виндоус если не писать насильно print string, а скажем так print (integer, string), в случае кириллицы во втором примере в трейсе будут кракозябры.
Да, в win много интересного, только как это относится к комментариям на русском?
Напрямую :-) Вы пишите комментарии на русском, вы пишите эксепшены на русском, программа падает, я гляжу в консоль и вижу «РЁРёСЂРѕРєР°СЏ …» — я вынужден искать этот участок в коде.
Неа, вы что-то путаете, я исключения на русском не пишу :)
Кхм. Какая разница в мотивах? Я имею ввиду, если вы пишите комментарии по-русски, почему эксепшены по-английски? Комментарии и эксепшены — своего рода синонимы, т.к. и те и другие оставляют подсказки разработчику.
А я просто не считаю их синонимами, иначе, встав на этот путь, можно и код объявить синонимом — он тоже подсказка разработчику.

Посмотрите на это так: строки документации предназначены тем, кто знакомится с кодом программного продукта, описания в исключениях — тем, кто пользуется программным продуктом.
Спасибо! Многое просто повторяет PEP8, но всё равно было любопытно прочитать. Скажите, а в чём смысл использования спойлеров в этой статье?
А Вы попробуйте развернуть все эти спойлеры и посмотрите на бегунок полосы прокрутки Вашего браузера. А если вы с планшета зайдете? Замучаетесь мотать. Мне кажется, это просто забота о людях. Да и вообще — какая-то изюминка сохраняется:)
Arch сейчас поставляется с python 3.x в роли основного интерпретатора python'а. Как следствие, путь /usr/bin/python будет указывать на третью версию. Если Вы всё ещё используете вторую ("~95%" (тут могло быть любой число) серьёзной разработки на python'е), то ваш скрипт вполне может и не поехать. Например из-за print или метаклассов.
Люто плюсую. Использование прямого пути к интерпретатору ограничивает использование virtualenv.
Используйте оператор % для форматирования строк...

Заклинаю, используйте метод format().
Да, все правильно, если бы я публиковал своё мнение, я бы так и написал. Хотя бы потому, что это Python 3 compatible:)
Почему не положено? Примечание переводчика сделайте просто.
Да ладно вам. Переход от 2.7 (гляжу на свой проект и говорю честно) к 3.0 будет все равно, что его переписать. Если он вообще когда-нибудь перейдет. В таком ключе format() это все равно что писать на горящий дом. Да и приятнее иногда старый синтаксис: 'Hi, %s!' % username
А еще вот:
log.debug('foo: {}'.format(x))
log.debug('foo: %s', x)

Хотя я понимаю, что это слабый аргумент )
Я не из-за совместимости, я из-за внешнего вида. Когда 3-4 переменных нужно загнать в строку оператор % внешне уже не выглядит привлекательным лично по-моему мнению.
На вкус и цвет :-)
foo = """Hi, %(user)s…%(message)s"""
bar = {'user': username…'message': message}
baz = foo % bar

А вот передать 10 аргументов в format(), чтобы оно свалилось в 5 строчек будет не красиво. Если случай действительно сложный, я использую переменные — код так приятнее.
Я хотел сказать, что если аргументов много лично я предпочитаю разделять код на переменные: обратите внимание на многоточие — в таком случае оба подхода выглядят одинаково хорошо.
Опять же, лично мне нравится больше старый синтаксис, если аргумент один или их не больше трех, поэтому я и написал «на вкус и цвет».
Что странно. При создании Python впитал в себя лучшее из языкостроения тех времен, так зачем от этого отказываться, если это оказалось весьма удобным?
Совсем не это было в обосновании PEP 3101.
Ну, и речи об отказе от % и замене методом не идёт.
Да ни чем. Как видно из моего комментария, старый синтаксис мне порой нравится больше.
Ребят, понимаю что оффтопик, начал учить Питон 3.3 для научных целей (анализ соц. сетей и обработка естественного языка).
Подскажите основные ресурсы по Питону на русском, именно форумы чтобы спрашивать, набрал в гугле «python русское сообщество» и ВСЕ первые ссылки это заброшенные форумы, последнее сообщение в которых хорошо если несколько месяцев назад. Самый актуальный это пока vingrad — но и на нем не так чтоб много народу.
Английский знаю и пользуюсь преимущественно pyvideo.org www.codecademy.com/ru/tracks/python и stackoverflow.
Максимальная длина строки — 80 символов

У них мониторы 1024х768 что ли? Почему не 120 символов?
Only those users with full accounts are able to leave comments. Log in, please.