Как стать автором
Обновить

Комментарии 167

Очень удивился, не найдя такого опроса.
не вполне понятно. В тэгах «английский язык», однако 2 вариант подразумевает скорее kommentariy na latinice, translitom, rather than «in english».
А за что тогда голосовать французам, немцам, испанцам, норвежцам и т. д.?
Думаю, можно было бы разделить на три варианта транслит-латиница-английский, если уж вы хотите охватить всю аудиторию.

ИМХО французы-немцы-испанцы-норвежцы — это исключительно маленькая часть аудитории данного ресурса.
На транслите никто не пишет :) А иммигранты в Скандинавию или Германию есть.
Думаю, что можно было бы сделать разные пункты и проверить-таки теорию на практике, раз уж взялись ;)

Или вам интересно будут ли проблемы с кодировками при принудительном переводе всех на Юникод?)
Прежде всего, хотелось выяснить относительную распространенность двух «школ» комментрирования:

  • Пишем только на русском, нехрен выпендриваться, важна максимальная понятность.
  • Пишем только на английском, думаем на английском, достигаем гармонии с ЯП, компилятором и Джошуа Блохом и Линусом Товальдсом.


Остальным пренебрег ради простоты опроса.
Пишем только на русском, нехрен выпендриваться, важна максимальная понятность.
Не вполне можем согласиться с подобной трактовкой.
Английский все же стандарт де-факто, русские комментарии сразу режут раз в 10 возможную аудиторию разработчиков. Это важно и при продаже американцам, и при поддержке проекта индусами, да и вообще. Выпендреж-то тут при чем?

Кстати, любопытно, те кто использует русские комментарии, названия функций тоже пишут как function dobavlyauNovoyStatistikeEdinichku?
Я так в школе на Паскале писал.
Не скажу за всех, но у нас комментарии на русском, а названия методов по английски. Иногда в комментариях для сложных терминов пишется и русский и английский вариант.
Не обобщайте. Обычно если такие названия функций дают, то комментарии не пишут. И правда, зачем, когда и так понятно, что добавляют новой статистике единичку :)
.NET радует возможностью писать названия переменных, методов, классов и т.п. на русском. Пару раз писал из баловства, чтобы позлить коллег.
Вторая школа однозначно будет засорена транслитом и «скандинавами», поэтому сравнение некорректно. Или я неправильно понял вашу идею, и вы просто проверяете по-русски или не по-русски комментарии пишут?
Не предполагал и с трудом верится, что кто-то может писать именно на транслите. На говнокоде тоже не сталкивался. Вы знакомы с такими людьми? Скандинавов, при всем уважении, ничтожный процент на Хабре. Поэтому не думаю, что результаты будут сильно засорены.

Думал, что победит вариант «по-всякому», т. к. сам так пишу, на втором месте — русский. А результат пока противоположный.
На транслите пишут слабо знакомые с англ.языком, при условии что им лениво переключать раскладку или они работают в команде с интернациональными разработчиками, которые постоянно портят им их русские комментарии записанные в cp1251:)
Я встречал кусок г… кода с комментариями на русском в cp1251, русском в UTF-8, русском в чем-то ещё навечно превратившемся в "???? ????? ?????", транслитом (причем кривым транслитом) и на ломанном английском. Всё это в сорцах одной и той же софтины.
И какие вам больше понравились? :)
Больше всех мне понравился этот:

// filtr dla filtracii otrisovki obratnogo lucha

:)
Особенная жесть — это когда в одном файле кириллические комменты в разных кодировках…
Это не жесть. Жест когда приложение выводит инфу и в сз1251 и в utf8.
Я бы сделал так:

1. На родном языке, национальным алфавитом
2. На родном языке, латиницей
2. На английском
3. На языке страны-работодателя

Вроде как все охвачены. И хоть норвежцы или испанцы в этом опросе вряд ли появятся, но составитель опроса проигнорировал аудиторию стран СНГ, которых на хабре явно не мало.
Комментарии на норвежском? Да шоб таким программистам пришлось такой код разбирать:
/**
* これはクラスのコメント
*/
public class FooClass implements Fooable {

/**
* オブジェクトのインスタンスを作成する
*/
public FooClass() {

}

...
}
Так всё же кристально понятно и без всяких гугло-транслейтов. :)
> Это комментарий к классу
> Создание экземпляра объекта
Это ладно, вот что бывает когда японцам надо писать комменты на японском и английском:

image

Это комментарий из кода с которым мне пришлось работать когда еще жил в японии. Если читать на японском, в комменте написано batterichekku, то бишь проверка батарейки.

Пояснение: батарейка на японском звучит batteri. Однако японцы в большинстве своем не знают английский, иногда даже буквы (чем они занимались в школе? черт его знает, наверное мангу под партой читали). Плюс для японского уха звуки р и л звучат одинаково, поэтому получается вот такая чертовщина :) И это не единственный пример, 90% кода такое.
комменты на японском и *код на английском
а что, было бы божественно:
公共の静的関数へのアクセス ()
{

}
Если создадите такой язык, тысячи японских программистов скажу вам спасибо, как минимум :)
Java supports UTF-8 in identifiers.
.Net кстати тоже.
Даже php 5.4, чего уж там.
НЛО прилетело и опубликовало эту надпись здесь
Это только идентификаторы. Все остальное тоже на японский переписать. К слову, английский в Японии это действительно очень серьезная проблема, и такой язык программирования очень помог бы японским школьникам приобщиться к занятию. Надо мне подумать над этой мыслью.
Лучше не надо. Русско-основанные языки программирования уже давно притча во языцах. Аналогично будет и с японско-основанными, полагаю.

Да что говорить, даже японский Ruby вполне англо-основан.
К синтаксису того же одинэса привыкаешь недели за три. Отвыкаешь еще быстрее. Так что это видится проблемой только со стороны.
VC в VS2005 спокойно компилил что-то вроде:

class Класс
{
  Класс()
  {
    std::cout << "Hello world";
  }
};

alias sum ∑
В D так баловались, припоминаю :)
В Go, тоже поддержка есть:
package main

import "fmt"

func テスト() {
	fmt.Println("こんにちは世界")
}

func main() {
	テスト()
}
Вот вы смеетесь, а если бы компания 1С родилась в Японии, все именно так бы и было.
1C для японцев =)

мой вариант для индусов:

डीईएफ़ फू():
    प्रिंट("नमस्ते दुनिया");
У них зачастую как-то также на английском получается.
Для деванагарипишущих. Индус — это религиозная принадлежность. Ория, например, в подавляющем большинстве индусы, но письменность у них своя, а их 35 миллионов.
а как тебе такой код: goo.gl/lQjLw :)
почему sql-запросы не переведены?)
SDK и примеры для нинтендовских платформ, особенно новых, состоят из такого чуть менее, чем полностью. Комментарии либо на японском, либо пострипаны. Документации почти нет.
В процессе — на русском. Когда уже работа подходит к концу (или по завершению модуля/метода) — перевожу на английский.
А не лень? Или есть свободное время?
Комментарии от этого только улучшатся.

PS: если проект делается для себя или в полностью русскоязычной команде, то на русском (это наш язык и нам на нем общаться удобней всего). Если в команде есть иностранцы, то все комментарии обязательно на английском.
Лень. Просто неимоверно лень!
Но это — как заставлять себя делать зарядку по утрам.
Я всё каждое утро собираюсь начать зарядку делать, ага.

По теме, как правило, на русском, но, если требуется от задачи, то на английском.
Сизиф гордится вами!
НЛО прилетело и опубликовало эту надпись здесь
Я например пишу короткие комментарии на английском для однородности текста и из лени переключать раскладку. Некоторые, насколько я знаю, принципиально пишут только на английском. Нюансы есть.
punto switcher
ДЛЯ СЛАБАКОВ

Вообще, не использую именно потому, что очень раздражают ложные срабатывания при кодировании.
У меня автозамена пунтосвитчера отключена. При необходимости вызываю его горячей клавишей. Очень удобно.
Не больше ли возни чем собственно переключения раскладок? :)
Обычно я раскладки переключаю сам именно потому, что научить пунтосвитчер опознавать программный код невозможно. Но, если я начал набирать не в той раскладке, то, вместо того, что бы всё стирать, я жму pause (кнопка смены раскладки в Puntoswitcher) и введённый текст заменяется.
Так одно дело выделить тест и нажать кнопку, чем выделить, нажать, написать заново
«Кнутик» в виде «сложного» исправления совершенствует мой слепой набор.
там можно настроить, чтоб он сам по себе ничего не делал, а при нажатии горячей клавиши перекодировал введенный текст в другую раскладку. если бы не эта его возможность — отказался бы вовсе от него :)
Ничего, СЛАБАКИ добавляют редактор в исключения пунто свичера :)
Иногда код пишется и в документы офиса, и в jabber. Так что исключения не помогают на 100%.
А через 2 года оказывается, что неплохо заопенсорсить результат, но упс — с русскоязычными комментариями он никому не нужен.
НЛО прилетело и опубликовало эту надпись здесь
Точно такой же логикой руководствовалась и наша контора (головной офис в Германии), пока не начали отдавать дальнейшую разработку в оффшор и выходить на меджународный рынок.

Тут-то и выяснилось, что документация и комменты на немецком не есть гуд для разработчиков, а немецкие интерфесы, локали, трейсы, сообщения об ошибках — для клиентов.
НЛО прилетело и опубликовало эту надпись здесь
можно подробнее с этого места? как по мне — это вопрос самодисциплины разработчиков как по отдельности, так и команды. если один начинает писать в проекте int avtonomnayaRespublikaKrym = 1249, то тимлид должен при code-review намекнуть, что это чушь. и товарищи по работе также должны подсказать, что транслит в именах переменных — муветон. не знаешь перевод какого-то слова — google translate вроде как бесплатный. аналогично и с комментариями, хотя там сложнее в том плане, что написать текст на английском сложнее, чем найти имя для переменной. но всё решабельно при желании.
НЛО прилетело и опубликовало эту надпись здесь
вот и я о том же. растолкуйте, пожалуйста, ваши слова «очень накладно».
НЛО прилетело и опубликовало эту надпись здесь
кроме документации — всё вышеперечисленное можно делать в utf8 и на английском. во время выхода продукта на международный рынок можно заплатить еще одну зарплату человеку, который работал над проектом и который переведет документацию на английский. я до сих пор не вижу серьезных поводов не делать изначально на английском. исключения составляют продукты, которые пишутся под узкоспециализированные нужды одного конкретного предприятия, не имеющего офисов за границей или даже в других городах — проекты такого уровня зачастую пишутся вовсе без документации, что, в принципе, нисколько не влияет на мою точку зрения. тем не менее, я, поработав в двух таких компаниях, стараюсь писать комментарии и там на инглише изначально.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
В большинстве языков есть готовые средства интернационализации, а то и локализации. В С/C++ часто используют gettext, C++/Qt — свой механизм, в Java i18n представлен ResourceBundle'ами. И т. д., и т. п.

Они позволяют довольно дешево подготовиться к интернационализации программы. С локализацией чуть сложнее, но тоже реально. Средства в библиотеках той же Java есть изначально.
НЛО прилетело и опубликовало эту надпись здесь
Подготовка почвы.

Например, в случае gettext все наблюдаемые (предназначенные для вывода) строковые литералы на английском обрамляются в вызов специального макроса _("...").

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

Это, конечно, только часть локализации. Но существенно лучше, чем ничего.
При локализации
Изначально делать мультиязычным — да накладно.

Но немного подумать программистам и ПМам— не очень дорого. А подумав приходят мысли, что:
* писать комментарии на английском — неплохая идея. Не весь мир разговаривает на русском, немецком или китайском. А английский язык — всё таки стандарт де-факто. Все программисты (в нашем случае) прекрасно им владеют.
* заворачивать любые статические строки в макрос _T (я сейчас про C++) — может пригодиться в куче случаев. Хотя бы при переходе на юникод.
* при работе с датами может закрасться идея, что не во всех странах одинаково даты пишут. Не нужно эту идею прогонять. Реализовывать необязательно, но хотя бы предусмотреть, что возможны и другие варианты.
и т.д. сходу всё и не перечислю.

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

Слава богу, что в C++ не получается сделать немецкие названия классов/методов/переменных. Умляуты компиляторы не любят. А то были преценденты с MS Access базой с кучей макросов на VB. Увы, он гораздо толерантнее к использованию национальных языков в программировании.

Сорри, упоминанием про локали, документацию и интерфейсы я всё это увёл в оффтопик, но моё мнение по поводу основной темы простое: только английский.

И вот почему:
— вышеозвученная проблема про интернациональные команды разработчиков. С учётом идущих процессов глобализации заявочки вида «мой продукт будут всегда писать программисты здесь и только для этого рынка» выглядят наивно.
— ненастроенные локали на удалённых серверах: далеко не факт, что сервер, стоящий хрен знает где, сможет показать красивый листинг без крякозябр.
— да и банальная лень щёлкать раскладками клавиатуры :) у меня моментами их вообще по 3-4: английская, намецкая, русская, белорусская.

Разумеется, моё мнение произрастает из простого факта, что 100% знакомых мне программистов обладают приличным знанием этого языка. В других случаях, возможно, стоит подумать.
Мысли сходятся, интересно. Ниже почти то же самое написал, но на 6 минут позже. Радует такой подход.
100% знакомых мне программистов обладают приличным знанием этого языка.

Сейчас работаю над проектом, который писал немец. Вернее втянулся в багофикс его проекта. Так вот после нескольких ляпов мы договорились с ним, что я пишу на русском, а он на немецком везде. Иначе Google Translate мои «английские» комментарии на немецкий «криво» переводит, а его «английские» — на русский. Исключения только примитивные случаи вроде // #12345 workaround.
Так с немецкого надо не на русский, а на английский переводить, разница будет колоссальная.
НЛО прилетело и опубликовало эту надпись здесь
Пишу на английском, заодно и практика какая-никакая.
НЛО прилетело и опубликовало эту надпись здесь
Мне нужен брат-близнец, а его все нет.
Не совсем близнец, скорее сущая противоположность.
Ну, это будет злой брат-близнец.
НЛО прилетело и опубликовало эту надпись здесь
Эх, комментарии…
Код надо учиться писать хорошо, КОД!!!
(эт я про себя, если что) :)
В книге Фаулера «Рефакторинг» существование коментариев ставятся под сомнение в пользу читаемого кода, так что Вы не одиноки.
Что значит на латинице/кириллице? На английском!
… и только на английском.
Только на английском, даже если пишу для себя. Изначально — потому что в tasm на спектруме не было кириллицы, затем потому что постоянно приходилось работать с европейцами, а сейчас уже привык :)
Кстати, а почему в тегах только 1С стоит из ЯП? Опрос проплачен? ;D
Если могу написать краткий комментарий на английском, то пишу на английском. Если же не получается перевести, но комментарий важен (поясняет какую-то неочевидную вещь, либо просто очень нужен в этом месте), то напишу на русском и не буду париться. А так, конечно, если б мог все толково переводить, писал бы везде на английском.
Вообще не программист (учусь абсолютно в другой сфере), но последнее время стараюсь писать комменты к функциям/переменным в своем коде, причем переменные и комменты стараюсь писать на английском (если не знаю подходящего слова — пользуюсь переводчиком, но не использую транслит). Хоть мой код никто не увидит, все-равно какая то неприязнь к использованию транслита/русских названий в переменных.
А зачем вообще нужен транслит? Только для экономии при использовании UTF-8? Ведь это усложняет читаемость для русскоязычных пользователей, а для не владеющих русским это вообще ад, даже словарем не воспользуешься. А любой разработчик просто обязан владеть английским, хотя бы на среднем уровне (мне привычнее немецкий), иначе как читать ту же литературу, которую на русском хрен найдешь?

А если с кодом придется работать другим людям? Что не знающий русского человек сделает с комментарием "/* tut perekhod v nachalo voyd mein*/" :)? Никому же не понравились комментарии на японском, так зачем создавать те же проблемы для других пользователей?

Английский — стандарт де-факто, и так проще всем, если вы подразумеваете развитие проекта в будущем, так что с karech абсолютно согласен, транслит — зло.
Чаще всего на русском ввиду печального знания письменного английского. Понимаю, что это неправильно.
НЛО прилетело и опубликовало эту надпись здесь
не надо так переживать, все комментарии в опенсурсе на английском.
НЛО прилетело и опубликовало эту надпись здесь
Зачем читать код написанный китайцами? Откуда ты знаешь что это китайцы писали? У нас опен сорс пишут онли в китае?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
А вы не читайте китайского кода, от этого аппетит портится. =)
Не факт.
По-моему это дурной тон — писать комментарии не на английском, как и использования транслитерированных слов или нелатинских символов в самом коде. А еще хуже — смесь. Буквально недавно работая над одним проектом с российской коммандой, долго чесал в затылке, что за номер собаки такой (поле «DogNumber»), пока не выяснилось, что это, оказывается — номер договора. :))
Что лучше, не написать комментарий в нужном месте или написать его на русском?
Лучше написать на английском, а еще лучше написать код так, что бы комментариев не требовалось.
Если мой англйский таков, что понять его могут только те, для кого русский родной и изучал английский только в советских школах и вузах. Смысл писать на англйском, если его поймут только русские, и то не факт?
Думаю, что не настолько. Если вы не вчера начали заниматься программированием, то базовый технический английский вы знаете. Слова returns, updates, allocates, и т.д. — вы тоже точно знаете, как и базовый набор предлогов :) Для начала хватит, сочинения ведь писать не надо, а потом это уже дело практики.
Слово return знаю, а когда надо s ставить — нет. В общем переводчики автоматические из моего английского делают бессмысленный набор русских слов. А когда ими перевожу русский, то получаю тот же набор английских слов но с другими окончаниями и/или в другом порядке.
Мда… Тогда может лучше и по русски. Хотя подтянуть английский до уровня, что бы уметь строить предложения оно не сложно и никогда в жизни не помешает…
Для меня субъективно сложно. Нет фидбэка, некому контролировать правильно ли я предложение составил. Хотя бы просто на бинароном уровне «да/нет».
Поверьте, вы не первый и не последний. Обучение языкам не вчера придумали, и далеко не все (включая меня) имеют склонность с изучению языков. Но вариантов масса — от занятий самому (для базовой граматики больше и не надо) до курсов, репетиторов и обучающих програм. Но все равно главное — практика. 80% базы английского я набрал не из школы и не из дополнительных занятий а из компьютеров, просто принципиально не пользуясь локализированными играми и софтом.
Базовой грамматики английского для выражения более-менее сложной русской мысли не хватает, особенно если активный словарный и грамматический запас русского языка немного выше уровня «афтар, убей себя ап стену». А большинство комментариев, необходимость которых чувствуешь, вываливаются за рамки простых мыслей — код или название переменной/функции/метода говорят сами за себя (для них я не «брезгую» гугловским переводчиком воспользоваться) в простых случаях, а в сложных — базовой не хватает.

Причём, имхо, большинство комментариев к коду и/или коммитам даже в проектах людей с нативным английским требования базовой грамматики грубо нарушают. Меня учили, что всегда в английском языке на первом месте подлежащее, на втором сказуемое и уж дальше всякие дополнения и обстоятельства. А на деле видишь комменты типа «fixed issue #12345»

То, что практика главное — полностью согласен. Но практика должна быть с фидбэком, иначе толку от неё мало. Что полезного в том, что я буду писать комментарии на «рунглише» и никогда не узнаю правильно ли я это написал и понимают ли меня англоговорящие люди хотя бы на том уровне, как я понимаю кавказцев или коряков, русский знающих очень поверхностно?

Причём пассивные знания пользы практически не приносят. Навыки чтения/понимания очень слабо пересекаются с навыками письма/говорения. Вроде даже научно доказанный факт — разные области мозга активизируются. Я даже по русскому языку сужу — читать и понимать вполне могу, а писать и говорить грамотно — нет, увы :(
А где вариант «не пишу»?

з.ы. в случае необходимости писал бы на английском.
Пишите только «для себя»? А если потом дорабатывать надо будет?
Я, например, пишу комментарии только если код делает то, что может показаться излишним или если это хак, еще, возможно, заметки, на что стоит обратить внимание в случае переработки фукционала. Описывать другими словами то, что можно понять из названия функции и названий переменных, считаю лишним, усложняющим чтение кода.
Латышскоязычная команда, но комментарии только на английском, как и все доки.
Стал писать на английском, т.к. QtCreator частенько подвисает при переключении раскладки. Известный баг и до сих пор не починили.
баг прям как фича…
Увидев вместо варианта «На английском» вариант на латинице, так и захотелось сказать:
Ego scripto comments Latine
Если позанудствовать, то «Scribo commentarios Latine». :-)
Возможно. Вы что имели ввиду?
Я имел ввиду фразу: «Я пишу комментарии на латинице».
Я имел в виду фразу «Я пишу комментарии на латыни», т.е., видимо, то же самое. Просто чуть-чуть грамматику поправил, поэтому и написал, что занудствую ;)
«Ego» обычно опускается; «писать» — «scribo», а не «scripto», что, наверное, может означать «писать скрипты» :-) Про слово «комментарий» уточнил в словаре.
Я в латинице — полный профан. Читаю словарь только, когда совсем делать нечего… Даже в марио поиграть не хочется :)
Но на сколько я знаю «Ego« пишется в том случае, когда употребляется местоимение я с большой букв (Я).
«scribo«, а не «scripto» — скорее всего вы правы. А вот насчет «commentarios» мне честно говоря кажется будет на русском звучать не как «комментарий», а как «комментирую».
Я имел удовольствие изучать латынь в школе. Уже давно не обращался к этому языку, но тогда это действительно было большое удовольствие. Язык поразил своей стройностью, логичностью и упорядоченностью. Приятно было с вашей подачи вспомнить хоть что-то, поностальгировать ;)

«Ego» — действительно «я». Но обычно местоимения не употребляются, а субъект определяется окончанием глагола.
«commentarios» — Accusativus Pluralis (винительный падеж множественного числа) от «commentarius» (http://linguaeterna.com/vocabula/show.php?n=9311): ответ на вопрос «пишу что?».
Только на английском, в т.ч. длинные комментарии на много строк, поясняющие что тут вообще происходит и зачем. Первая и основная причина — лень переключать раскладку. Английский у меня отнюдь не идеальный, ошибок полно, но себя я точно пойму, так что ОК. :-) Опять же — работать иногда приходится на разных компьютерах и ОС — раскладка может переключаться по разному (сам привык с детства к Control-Shift) и не хочется думать об этом. Код бывает под виндой, бывает в никсовом терминале — когда очень давно писал комментарии на русском, частенько сталкивался потом с проблемами с кодировками и сам же не мог свои комментарии сходу прочитать. :-) Ну и не нужно забывать, что большая часть технических терминов — кальки и/или транскрипции с английского — смысл их писать на русском? И стандарта перевода нет, так что теоретически то, что я называю одним словом по-русски, кто-то может называть другим… В общем, на английском проще и надежнее.

Смотря где я этот код пишу. Если это что-то крупное, что пишется в IDE на рабочем месте — комментарии пишу по-русски. А если это мелкий скрипт, который пишу прямо на Unix-сервере в vim'е — то по-английски. Потому что иной раз на сервере вообще поддержка кириллицы не установлена, или настройки терминальной программы какие-то дикие в плане перевода кодировок.
Честно говоря очень удивлен количеству пишущих комментарии на русском. Я думал английский — это стандарт для всех.
Не стал голосовать, т.к. нет варианта «на английском».
Вариант «на латинице» не эквивалентен, т.к. люди могут писать транслитом, чтобы избежать проблемы с кодировками, хотя читаться это будет, конечно, плохо.
Но согласен с большинством комментаторов, что писать комментарии не на английском — как-то странно.
Код может быть использован (сейчас или впоследствии) иноязычными разработчиками; да и вообще, это дополнительная практика в английском. Технический английский очень прост (в сравнении с литературным), не вижу причин не писать комментарии понятном всем языке.
Мда. К тому же я не учел, что в Прибалтике используется латиница. Явно лучше были бы варианты «На родном языке», «На английском».

По сути — когда готовлюсь написать большой комментарий в проекте «для себя», думаю, кому я сделаю одолжение, поползав по словарю и рискуя в будущем не сходу понять, что написано в комментарии.

Простые комментарии стараюсь «зашивать» в длинные названия переменных и методов.
да и вообще, это дополнительная практика в английском.

Давно убедился, что в таких вещах лучше самостоятельно (без фидбэка) не практиковаться. Первая мысль об этом появилась при прочтении «Дети капитана Гранта».
А почему нет варианта «Не пишу комментарии совсем»? Код должен быть самодокументирован. Максимум — описываю тип аргументов, которые ожидаются в методе, если параметр — масив.
Максимум — описываю тип аргументов

На каком языке? :)

Не любой код может быть самодокументирован. Будьте осторожны в следовании этой идее.
Objective-C. Понятно, что, как и с любым правилом, тут нужно без фанатизма. Но, отсутствие такого варианта не порадовало.
я пишу комментарии на английском языке, но бОльшую часть времени стараюсь придерживаться религии чистого кода
Некоторые «веселые» компиляторы, вроде nc30 не воспринимают нормально кириллицу, приходится писать или КАПСОМ или же англоязычный каммент. Исторически сложилось стараюсь максимально писать пояснение на буржуйском.
Насущный вопрос: всякого рода docstrigs и прочий JavaDoc за комментарии считаются?
Перешли с комментариев на английском на комментарии на русском. Не дело это, в стартапе замедлять работу команды из-за каких-то абстрактных возможных проблем при передаче проекта иностранцам. И по-русски-то написать понятный и недвусмысленный комментарий — искусство; почитать бы, что «англичане» из опроса пишут) Поэтому в проектах используем русские комментарии (к коду и коммитам). Сам код (имена переменных и тд) — по-английски на английском языке, никакого транслита, понятно.

Много раз встречал русские проекты, где комментарии к коммитам принято на английском писать было — обычно это выраждается в какие-то огрызки, а не комментарии к коммитам, вплоть до «fixed bug» или «update». При этом написать нормальный комментарий к коммиту по-русски обычно не проблема, и при наличии личного примера все довольно быстро лениться перестают и начинают писать понятно по собственной инициативе, без всяких административных мер.

Опыт продажи был — ничего страшного, потратили пару дней да перевели большую часть. Можно было, впрочем, и не переводить, код и без комментариев понятным должен быть, да и комментариев не по делу стараемся не писать (хочешь покомментировать кусок кода? а может лучше его в функцию или метод вынести и назвать понятно?).

Если уж вести проект на английском — то чтоб все артефакты были на английском полностью (баг-трекер втч), иначе толку-то.

По-моему категоричное неприятие комментариев на русском — зашоренность. В каждом конкретном случае лучше смотреть, как лучше, догмы — это плохо; обстоятельства разные бывают. И на русском-то не всегда удается мысль выразить понятно, что уж об английском говорить. Я, например, достаточно свободно читаю английский текст, но осознаю, что читаю его все же медленнее, чем русский; чтение английского требует больше внимания и напряжения, и вероятность что-то упустить или не так понять тоже выше. При программировании и так много на чем концентрироваться нужно — лучше, чтоб больше «внимания» на реальную задачу оставалось. Пишу на английском тоже довольно много и достаточно свободно, но осознаю, что делаю ошибки при этом, и скорость, конечно, меньше. Зачем же заранее на команду этот груз вешать, как понадобится — так и разобраться. Короче, лучше плюсы и минусы взвешивать, бывают ситуации, когда продуктивнее русский, бывают — когда английский.
Если программист не может мысль «выразить понятно» на естественном родном языке, то как он код-то пишет?

Так и рождается код, который непонятен даже его написавшим.
НЛО прилетело и опубликовало эту надпись здесь
Когда пишу код, думаю по-английски.
Считаю что в программировании нет места другим языкам кроме языков программирования и английского. Все остальные языки должны быть только в локализации.
Это еще и удобно хотябы потому, что не приходится переключать раскладку лишний раз и не прописывать кодировку в каждом файле(например в python).
Код для публичных репозиториев комментирую только на английском.
Закрытый код комментирую как удобнее — чаще на русском, но если комменатрий небольшой, то иногда на английском.
На английском со словарем (с). Просто попадаются среды разработки, не тянущие кириллицу в принцыпе, вот такая суровая жызнь у не-PC непрограммистов.
Сдвиг парадигмы!
процедура ГЛмояУдалитьКонкретныеЗначенияИзТЗ(тз,яКолонка,яУдаляемоеЗначение,Условие=0) Экспорт 

// Universal procedure: deleting values from table
// delete from table "тз" column "яКолонка" all values "яУдаляемоеЗначение"
// You can delete range of values. Use: "<=" ">=" ">" "<" "<>"
// Example:  яУдаляемоеЗначение=5 Условие= "<=" will remove all values less than 5

        Если Условие=0 Тогда
                Если ТипЗначенияСтр(яУдаляемоеЗначение)="Строка" Тогда
                        Для Индекс=1 По тз.КоличествоСтрок() Цикл
<...>
 
public enum ExpType {
РАВНО(1, «Равно»),
НЕ_РАВНО(2, «Не равно»),
ПУСТО(3, «Пусто»),
БОЛЬШЕ(4, «Больше»),
МЕНЬШЕ(5, «Меньше»),
БОЛЬШЕ_ИЛИ_РАВНО(6, «Больше или равно»),
МЕНЬШЕ_ИЛИ_РАВНО(7, «Меньше или равно»),
МЕЖДУ(8, «Между»),
ПОХОЖЕ(9, «Похоже»),
ПОХОЖЕ_БЕЗ_РЕГИСТРА(10, «Похоже без регистра»),
НЕ_ПОХОЖЕ(11, «Не похоже»);
/*… */
}

Код на русском языке Джава =) обошлись без комментариев =)
А почему нет варианта «Не пишу комментариев@? мой код не нуждается в комментариях, тут понятно и ежу.
А вообще конечно пишем на англицком.
Для себя комментирую на русском. То, что выкладываю на гуглокод — комментирую либо на английском, либо на обоих языках сразу.
Причем делать английские комментарии стал сравнительно недавно, когда народ, попытавшись прочитать мой код на гуглокоде, испугался «кракозябр», которые возникли на месте моих комментариев по причине того, что гуглокод — на юникоде…
А я стараюсь изначально в юникоде файлы делать.
Юникод в консоли читать неудобно: less|enconv?
У меня консоль как раз cp1251 плохо выводит, а с utf8 проблем нет.
А при чем здесь 1251?
Это к примеру. К сожалению, эта кодировка живее всех живых, даже в кроссплатформенных проектах. =(
Да не, у меня классика — КОИ8-Р.
Это ещё куда ни шло…
Но у меня был исходник, в котором разные разработчики писали комменты на русском но в разных кодировках. Это вообще жесть была.
Да уж…
Для настоящей интернационализации — надо писать на эсперанто :)
Я и код на кириллице пишу в 99% случаев
На работе русский проект целиком, документация генерится по javadoc, поэтому проектное требование — комментарии только на русском. А в своих проектах везде на английском.
Пишем ПО для государственных систем, то есть не предполагается какая-то международность в разработке. Поэтому в коде проекта комментарии только на русском.

НО! Есть целый ряд компонентов, превращающихся в небольшие библиотеки под свободными лицензиями. Там все комментарии и документация только на английском.
В FOSS-проектах везде только английский и точка.

В сугубо русскоязычных проектах, начинающихся с русскоязычной документации — практически всё по-русски (иногда забываю и пишу по-английски, но докстринги обязательно на русском, чтобы сгенеренная документация читалась легко).

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

А вот в университетах часто учат не только писать комментарии на эстонском, но и называть переменные, методы, классы и колонки в базе данных эстонскими словами. Так что приходится студентов переучивать.

На эту тему есть много забавных случаев: например, когда в банке колонка «остаток счёта» много лет называлась EEK (т.е. эстонские кроны), а потом внезапно Эстония перешла на евро. А эту колонку уже все-все-все используют. Или я встречал два одинаковых метода, но с разными названиями — одно по-русски, другое по-эстонски. В общем, корки отмачиваются ещё какие.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории