LINUX.ORG.RU

Мини-опрос: наличие комментариев к исходному коду

 


0

2

Какой код вы предпочитаете брать на гитхабе при прочих равных?

С комментариями или без комментариев?

Является ли плюсом для вас наличие комментариев на русском (украинском). Если нет, то почему.

Пишете ли вы сами комментарии к своему исходному коду? На каком языке преимущественно?

Умеете ли составлять документацию?

★★★★★

Ответ на: комментарий от cocucka

… то хер вы бы тут сидели на ЛОРе.

Да и ЛОР-а бы не было …

anonymous
()
Ответ на: комментарий от cocucka

Вот если б Линус Торвальд

Надо бы ему хоть на чашку кофе с гамбургером задонатить …
Хороший ведь казак?

anonymous
()
Ответ на: комментарий от monk

всегда так делаю, и блоки выделяю сердечками. зато легко найти кто писал, что делать, сколько приготовить денежек и куда звонить

bass ★★★★★
()

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

Вот просто с чистой головой без всего вот этого, хорошо,плохо,неканон,блаблабла? Мне кажется каждому хоть иногда нужно применять научную практику где есть задача как предмет, где есть алгоритмы и инструменты включая комментирование как метод и где есть результат как вывод из всего этого. Не всегда так подходить, но хоть иногда что-бы из головы выветривать частично то что нам вливают и убирать эмоциональный вклад иногда. Эх. Я всё понимаю тут граница между техникой и искусством и я поддерживаю это. Но беда в том что всё больше и больше код и его сопровождение идёт рядом с глубокими предубежденрями и техногенно религиозными взглядами, а техническая целесообразносить которая мало того что имеет честную ситуативность то есть там надо, а тут лучше без, оценивается и воспринимается глобально надо или нет, с последующим принятием того или иного как мантры/правила и прости «хоспади» моды.

anonymous
()
Ответ на: комментарий от anonymous

Хоть кто-то из вас относится к коду как к инженерному делу?

Только так!
Приведу маленький пример.
Написал код, загружающий md 1С 7.7 в динамические массивы.
Но он был написан как-бы это сказать - «правильно».
Понимал, что моя «правильность» является обманом самого себя.
Переписал код с scratch.
По существу разработал функцию, которая может любые метаданные 1С поместить /при этом конечно правильно распарсить/ в динамические массивы.

В чем профит?

В том, что код стал супер простым и пригоден для любых а-ля 1С самопалов представления метаданных.

Ныне вот опять из-за лени переписываю работу с mxl так, чтобы один и тот же код правильно работал с 6-й и 7-й версиями.
По существу это обобщенный код без всяких class, template, STL, … Да мало того, компилятор ни чего и не знает о структуре mxl.
То бишь текст структур в run-time парсится в метаданные, которые затем могут использовать обобщенные алгоритмы.

Код то - не заумный и эффективно работает.

Собственно ни чего нового не создаю.
Всякие скриптовые языки все это умеют, но объектные движки в них - НЕ АХТИ!

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Sorry

Не «динамические массивы», а «динамические объекты».

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Хоть кто-то из вас относится к коду как к инженерному делу?

Уже ответил, но скажу, что программировании может быть «дубовым» и «творческим».
Ныне много чего в IT разработано

Дубово

Владимир

anonymous
()
Ответ на: комментарий от Xintrea

На самом деле, на вопрос monk очень легко ответить. Дело в том, что 1С имеет довольно ограниченный ареал распространения. Поэтому выбор «писать на 1С» практически гарантированно сопряжён с обратной релокацией. А этого я не сделаю ни за какие деньги.

Miguel ★★★★★
()
Ответ на: Real Programmers Don't от pru-mike

Real Programmers don’t comment their code. If it was hard to write, it should be hard to understand.

Как стенограмма речи Хрущева на 25 съезде.
Ничего смешного …

anonymous
()
Ответ на: комментарий от pru-mike

это мудрость веков

Плакать хочется от такой мудрости …

anonymous
()
Ответ на: комментарий от cocucka

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

Xintrea ★★★★★
()
Ответ на: комментарий от cocucka

те, кто пишут комментарии на русском и локализацией не заморачиваются. Зачем им это?

Давай-ка посмотрим вот эту новость: Начата работа по переводу интерфейса MyTetra на русский язык.

Да как так то? Какой же интерфейс был ДО русского?

Xintrea ★★★★★
()

Плохо написанному коду комментарии мало помогают.

anonymous
()

Перевод с пацифаевосокго на русский:

Я ни умею в анлиский, эта плоха?

Да, сука, это плохо. Комменты на русском допустимы только в проектах, где 95% контрибьюторов русские. Да и то, такая практика не является там рекомендованной.

Я любителям 1С советую просто навернуть ложечку говна. И сглотнуть, всё как любят.

anonymous
()
Ответ на: комментарий от cocucka

Патриоты должны быть глупенькими и дальше тормозить научно-техническое развитие Мордора, пока он не деградирует в смесь Северной Кореи и Эквадора.

К чему твои попытки образумить?

anonymous
()
Ответ на: комментарий от anonymous

Хм. Погуглил фотки Эевадора. Неплохо. Ну пусть будет какая-нибудь жопа типа Нигерии.

anonymous
()
Ответ на: комментарий от slovazap

И много его на GH?

А речь изначально не только про GH шла.

А какая цель у того кто намеренно делает удобно не для всех?

Я уже объяснял, цель ясна: сделать удобно прежде всего для тех, кто сам с этим кодом работает, кто программу пишет или патчит. А дальше надо смотреть по обстоятельствам. Счастью конечных пользователей, например, язык комментариев абсолютно ортогонален. Тут куда более важен язык сообщений UI. Всё остальное, «полшишечки», «извращённый патриотизм» и прочее — твои домыслы.

С объективной реальностью, в которой в сообществе принят язык ровно один, это ничего общего не имеет.

Эта «объективная реальность» может поменяться, и куда быстрее, чем ты думаешь. Вот если через некоторое время «принятым» языком будет китайский, ты сразу начнёшь топить за то, что кроме китайского, никаких языков в комментариях не должно быть? Или как?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Китайцы платят за изучение английского знаешь сколько? Вот лучше бы местной «элитке» не знать. А то что-нибудь, запрещенное Роскомнадзором, с собою сделают.

anonymous
()
Ответ на: комментарий от anonymous

Китайцы платят за изучение английского знаешь сколько?

Миску риса?

anonymous
()
Ответ на: комментарий от cocucka

Боком тем, что те, кто пишут комментарии на русском и локализацией не заморачиваются.

Эталонное «в огороде бузина, в Киеве дядька». В той же MyTetra работает стандартный механизм переводов Qt, исходный язык UI — английский. Непосредственно в проекте есть русский и французский переводы. У меня языков побольше будет, но думаю, это не потому, что я комментарии по-английски пишу, а потому, что я вывел свой проект на Weblate.

Зачем им это?

Действительно, зачем тебе было связывать несвязанные вещи?

hobbit ★★★★★
()

Лучше с комментариями, ещё лучше качественными, ещё лучше на русском. Комментарии должны быть к месту - описывать сложные функции и если нет документации, то желательно больше комментариев(по делу). Документацию составлять труднее, поэтому проще писать хорошо прокомментированные примеры, в идеале - хорошая документация + качественно документирванный код.

От себя отмечу что важно также - грамотная блочная и внутренняя разбивка логических единиц кода и грамотное именование функций/переменных.

AKonia ★★
()
Ответ на: комментарий от cocucka

Вот если б Линус Торвальдс запилил первую версию линукса с комментами на финском

Тогда бы и финны мало что поняли. У Торвальдса родной язык шведский.

anonymous
()

Комментарии нужны только в тех местах, где без них не понятно. Например, когда в switch пропущен break. В остальных случаях это мусор.

InterVi ★★★★
()
Ответ на: комментарий от InterVi

Комментарии нужны только в тех местах, где без них не понятно

Когда пишешь код — всё понятно. А когда читаешь свой же код через пару месяцев, хочется поколотить не оставившего комментариев придурка.

ugoday ★★★★★
()
Ответ на: комментарий от pacify

Стараюсь придерживаться некоторых правил:

  1. Документировать каждую экспортируемую функцию используя docstrings (пишу на Julia) – их можно программно экспортировать в документацию публичного API

  2. Для имплементации стараюсь выбирать идиоматическую форму, осмысленные названия переменных, чтобы простой код читался как текст (навеяно идее литерального программирования)

  3. Если код сложный, разбиваю на подблоки в которых начальная строка (или строки) – комментарий к тому, что код должен делать

  4. В некоторых редких случаях комментирую конкретную строку концевым комментарием

  5. Общая идея программы/библиотеки описывается в whitepaper или развернутом README

  6. Часто комментирую коммиты в git, а не просто оставляю однолайновое саммари.

unanimous ★★★★★
()
Ответ на: комментарий от ugoday

это признаки плохого кода, нуждающегося в рефакторинге

InterVi ★★★★
()
Ответ на: комментарий от anonymous

Всякие скриптовые языки все это умеют, но объектные движки в них - НЕ АХТИ!

В 1С 8.x для Windows используются 25000 классов /из блога 1С/.
Динамические объекты пригодны для большой ниши задач.
Разработаю загрузку метаданных 1С 8.x в динамические объекты.

Зачем?
Лишний тест не помешает.

PS: Никакой а-ля 1С не разрабатываю, потому что не 1С-нутый …

Владимир

anonymous
()
Ответ на: комментарий от Xintrea

Да что вы мне своей MyTetra тычите? Проект прекрасно иллюстрирует мои слова о необходимости вести его на английском изначально. Интерфейс изначально был на английском и поддерживал локализацию. Сам проект ведётся на русском, но все дублируется на английском. Интересно, почему? Авторы-то все русские. Наверное, чтоб охватить сообщество пошире. Только вот история изменений-то с коммитами на русском, да еще не несущими смысловой нагрузки. Для продвинутого блокнота это может и ничего, там всё равно ничего интересного. А вот в сложных проектах к каждому изменению надо писать мотивировку: «Что? Зачем? Как?». И это не фразы а-ля «пофиксил прокрутку», а простыни на три-четыре абзаца.

cocucka ★★★★☆
()
Ответ на: комментарий от Nervous

Да, надо бы добавить. Все никак руки не дойдут.

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

Проект прекрасно иллюстрирует мои слова о необходимости вести его на английском изначально.

Это невозможно. Если бы проект велся изначально на английском, самого проекта просто не было бы. Если стоит выбор «не иметь ничего» и «иметь проект с русскоязычными комментариями», разумный человек выберет второе. А упоротый фанатик будет кричать про ненужно.


Интерфейс изначально был на английском и поддерживал локализацию. Сам проект ведётся на русском, но все дублируется на английском. Интересно, почему? Авторы-то все русские.

This. Ты сам ответил на свой вопрос.

Xintrea ★★★★★
()

Чистый код самодокументируем

bvn13 ★★★★★
()

Люблю комментарии…

m_axy + i_cvb - f_dfg; //add m_axy to i_cvb, substract f_dfg
anonymous
()
Ответ на: комментарий от hobbit

А речь изначально не только про GH шла.

Цитирую ОП:

на гитхабе

Но окей, тебе лично я разрешаю включить в обсуждение GL, SH, CB и BB.

кто сам с этим кодом работает, кто программу пишет или патчит

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

Эта «объективная реальность» может поменяться, и куда быстрее, чем ты думаешь.

Думаю что куда медленнее чем ты.

Вот если через некоторое время «принятым» языком будет китайский, ты сразу начнёшь топить за то, что кроме китайского, никаких языков в комментариях не должно быть? Или как?

Именно так. Таких процессов в СПО экосистеме происходит параллельно несчётное количество - меняется основной хостинг, VCS, лицензия, формат README, система сборки, версия питона наконец, и занимает это десятки лет. Я по роду деятельности замечаю такие вещи одним из первых и обычно сразу начинаю топить за переход на новые инструменты, во-первых ради их объективных преимуществ, во-вторых просто чтобы ускорить и так необратимый процесс и минимизировать переходный период срачей, метаний и неразберихи. Почему бы не поменяться и языку.

Гипотетический переход на китайский был бы замечательным событием, и ровно настолько же он маловероятен. Если русские, например, ограничиваются русским исключительно по необразованности, то китайцы - вполне сознательно, это закономерный результат веков дрессировки закукленной нации послушных трудолюбивых рабочих особей. Поэтому если их правительство скажет что теперь курс национальной IT отрасли - на развитие и продвижение СПО с целью построения общемирового коммунизма и вытеснения капиталистической проприетарщины, СПО сообщество сразу вырастет в разы и станет преимущественно китайским. Конечно же в таких условиях первой целью остальной части сообщества станет упростить контрибутинг для китайцев в свои проекты и свой контрибутинг в китайские проекты. Это всё сильно упрощённо, естественно.

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

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Цитирую ОП:

на гитхабе

Ах да, извиняюсь. Но я отвечал на формулировку «в приличном обществе бъют по лицу на код-ревью». Это не из ОП, конечно. Но тут явно не только про гитхаб.

Если русские, например, ограничиваются русским исключительно по необразованности

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

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

Анонимус выше уже написал: «Знать иностранные языки и презирать свой - две больших разницы».

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

И говоря «в сообществе принят английский», не надо делать вид, что это сообщество собиралось и за что-то там проголосовало. Это получилось в силу исторических причин.

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

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

Да понятна ваша позиция. «Когда мне удобно буду следовать стандартами принятыми в сообществе, когда нет - подотрусь ими, но при этом к себе уважения требую».

slovazap ★★★★★
()

Какой код вы предпочитаете брать на гитхабе при прочих равных?

тот, который активно развивается, у которого есть коммьюнити, способное помочь, поддержать. Комменты тут перпендикулярны и второстепенны.

С комментариями или без комментариев?

капитан очевидность подсказывает, что если код понятен без комментов, комменты не нужны

Пишете ли вы сами комментарии к своему исходному коду? На каком языке преимущественно?

да, пишу, но только там, где они уместны, и там где смысл может быть не понятен только из имен перененных, методов, и т.п. (шаги алгоритма например). Плюс TODO, NOTE и вот это все, чтобы можно было просто коллеге сказать, типа см. TODO и хреначь доделывай.

Язык, естественно, английский. Что за странный вопрос? Комменты на другом языке - это признак местечковости и вероятной недалекости разраба. Стоит ли брать его код…

seiken ★★★★★
()
Ответ на: комментарий от slovazap

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

Прямо фильм «Кубанские казаки». Не буду спорить, это кончится «нацполом».

Да понятна ваша позиция. «Когда мне удобно буду следовать стандартами принятыми в сообществе, когда нет - подотрусь ими, но при этом к себе уважения требую».

Уважать стоит за вклад в СПО, а не по формальным критериям. Я вот, например, уважаю авторов Double Commander, а есть люди, которых бомбит от того, что он на паскале написан. Вторые, понятное дело, уважения не заслуживают.

к себе

Продолжаем передёргивать? Я писал как раз не про свой код, я комментарии как раз на английском пишу. А вот читая такие темы, думаю: а может, зря? Какой-то англоязычный шовинизм прёт. Причём если бы его демонстрировали англичане или американцы, это было бы хотя бы логически понятно. Но нет, это делают люди, чей родной язык русский.

hobbit ★★★★★
()

Какой код вы предпочитаете брать на гитхабе при прочих равных?

Брать куда? Главное чтобы код работал и был не совсем уж васянским, т.е. использовался не в 1,5 проекте. Хотя если прямо то что надо и с виду культурный, то можно и васянский.

Конечно с комментариями лучше, только их нормально никто не пишет.

Пишете ли вы сами комментарии к своему исходному коду?

Иногда. На английском.

Является ли плюсом для вас наличие комментариев на русском

Безразлично.

no-such-file ★★★★★
()
Ответ на: комментарий от anonymous

или софта для госструктур

Они и опенсорс иногда делают в нормальных странах

peregrine ★★★★★
()
Ответ на: комментарий от Xintrea

Именно по этой причине, все кто не знают английского на достаточном уровне не должны программировать. Но, к сожалению, это так не работает.

peregrine ★★★★★
()
Ответ на: комментарий от hobbit

Простейший случай — заказчик решил.

Тогда это очень хороший заказчик. Его получится доить вечность, потому что он не уйдёт на аутсорс к индусам.

peregrine ★★★★★
()
Ответ на: комментарий от Xintrea

Ох лол так ты автор этого, ладно, не буду комментировать, а то Хоббит меня заругает.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

все кто не знают английского на достаточном уровне не должны программировать

Все, кто не знает как ставить знаки препинания в русском языке, не должны на нем говорить. Срочно уходи с linux.org.RU, тебе здесь не место.

Xintrea ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.