Какой наименее полезный комментарий вы когда-либо видели? [закрыто]

Добавьте это в свой global.asax

private void Application_BeginRequest(object sender, EventArgs e)
{
    Context.RewritePath(System.Text.RegularExpressions.Regex.Replace(
               Request.Path, "/rest/(.*)/", "/$1.svc/"));
}

Это заменит / rest / Service1 / arg1 / arg2 на /Service1.svc/arg1/arg2

20
задан 10 revs, 3 users 47% 23 May 2017 в 12:09
поделиться

96 ответов

/** function header comments required to pass checkstyle */
6
ответ дан Bill the Lizard 23 May 2017 в 12:09
поделиться

GhostDoc придумывает некоторые довольно интересные самостоятельно.

/// <summary>
/// Toes the foo.
/// </summary>
/// <returns></returns>
public Foo ToFoo()
25
ответ дан Mark 23 May 2017 в 12:09
поделиться
  • 1
    @Filip - ТАК набор программирования вопросов, и ответы означали переживать другие веб-сайты и переживать изменения ссылки на сайтах как MSDN. Регистрация ссылки прекрасна, но должна быть соответствующая кавычка – Jon B 17 September 2010 в 13:35

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


   /* Hmmm. A bit tricky. */
18
ответ дан Andrew Edgecombe 23 May 2017 в 12:09
поделиться
  • 1
    Windows, конечно, не был установленной настольной платформой в 1990, когда такие торговые системы были сначала разработаны. И если Вам была нужна серьезная производительность на Вашем рабочем столе, Windows на 16 битов не был опцией. – MSalters 30 August 2010 в 11:33

Я не верю этому. Я вошел в этот вопрос после того, как он имел 22 ответа, и никто не указал на наименее возможно полезный тип комментария:

комментарии, которые являются неправильными.

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

29
ответ дан David M. Karr 23 May 2017 в 12:09
поделиться

Взятый от унаследованного кода, это было единственным описанием следующего if цель условия (условие охватило 4 строки в 120 седлах):

#-- Whoa, now that's a big if condition.
1
ответ дан 2 revs 23 May 2017 в 12:09
поделиться

В огромном приложении

dim J
J = 0 'magic
J = J 'more magic
for J=1 to 100
...do stuff...

VB5 ссылка, очевидно ЭТО ... и да, приложение без тех двух сбоев строк во времени выполнения с неизвестным кодом ошибки. Мы все еще не знаем почему.

10
ответ дан Axeman 23 May 2017 в 12:09
поделиться
  • 1
    @Billy ONeal: Я не говорю это it' s легкий к порту. Я говорю, что эти парни (которые заплачены много больше среднего числа) просто могут получить требуемое знание (не только Google - заплаченный обучение, дорогие консультанты, которые записали целевой сетевой стек самостоятельно:-)) необходимых определенных для ОС вещей не имеют значение, какова ОС. Конечно, все Ose имеют некоторые крошечные грязные секреты, но it' s НЕ причина выбрать определенную ОС. – BarsMonster 29 August 2010 в 01:02

Я удалил имя для предотвращения затруднения, но это - комментарий, найденный в некотором производственном коде. К сожалению, поскольку это было кодом ASP, относясь к модулю VB6, и клиентка была довольно любознательна, именно она указала на комментарий мне, пока я был локален во время посещения консультирования. К счастью у нее было чувство юмора об этом.

'Я не знаю как справка это "% & работы. Это - загрузка & $ ВЈ! созданный тем подрядчиком---------.
я буду просто оставлять его на месте и надеяться, что никому никогда не нужен он изменение.

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

1
ответ дан 3 revs, 3 users 75% 23 May 2017 в 12:09
поделиться

Прокомментированный код является наименее полезным комментарием:)

-5
ответ дан Gautam Jain 23 May 2017 в 12:09
поделиться
  • 1
    Я ценю ответ, но I' ve слышал, что это возможно, но никто не был в состоянии дать пример. It' s легкое обходное решение, поскольку Вы указали выше, мы могли также просто добавить неменьше css файла, но that' s не действительно точка щедрости.:) – Chuck Vose 13 January 2011 в 17:04
// Don't know why we have to do this
21
ответ дан ljs 23 May 2017 в 12:09
поделиться
Thread.Sleep(1000); // this will fix .NET's crappy threading implementation
38
ответ дан MusiGenesis 23 May 2017 в 12:09
поделиться
  • 1
    кроме получения XOR и ИЛИ назад статья MSDN, упомянутая выше от emddudley, перечисляют их обоих как Логичных – Larry Hipp 17 September 2010 в 13:25

Худший комментарий является тем, который дает неправильное объяснение того, что делает код. Это не хуже, чем никакой комментарий вообще.

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

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

9
ответ дан Tom De Leu 23 May 2017 в 12:09
поделиться
  • 1
    It' s defenetly НЕ о нахождении парней со знанием окон. Я уверяю Вас, связанное с ОС знание составляет 1% знания, требуемого сделать такую разработку, и все работающие в этой области могут переключиться на ЛЮБУЮ OS в случае необходимости. – BarsMonster 29 August 2010 в 00:52

Комментарии по умолчанию вставляются IDE.

последний проект я работал, на котором использовал Разработчика приложений WebSphere, имел много разработчиков обслуживания и подрядчиков, которые, казалось, не были побеспокоены сотнями, если не тысячи классов Java, которые содержали подобных этому:

/**
 * @author SomeUserWhoShouldKnowBetter
 *
 * To change this generated comment edit the template variable "typecomment":
 * Window>Preferences>Java>Templates.
 * To enable and disable the creation of type comments go to
 * Window>Preferences>Java>Code Generation.
 */

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

15
ответ дан 2 revs 23 May 2017 в 12:09
поделиться
  • 1
    Нет никакого планирования UNIX/Linux. It' s одна из областей, по которым отличаются реализации. И Linux на самом деле имел больше чем один выбор планировщика (google Completely Fair Scheduler Linux для фона), таким образом, Вы can' t даже говорят " планирование Linux является reliable". – MSalters 30 August 2010 в 11:37

Это - абсолютно реальный пример от триггера базы данных:

/******************************************************************************
   NAME:       (repeat the trigger name)
   PURPOSE:    To perform work as each row is inserted or updated.
   REVISIONS:
   Ver        Date        Author           Description
   ---------  ----------  ---------------  ------------------------------------
   1.0        27.6.2000             1. Created this trigger.
   PARAMETERS:
   INPUT:
   OUTPUT:
   RETURNED VALUE:
   CALLED BY:
   CALLS:
   EXAMPLE USE:
   ASSUMPTIONS:
   LIMITATIONS:
   ALGORITHM:
   NOTES:
******************************************************************************/
7
ответ дан JosephStyons 23 May 2017 в 12:09
поделиться
  • 1
    Нет, я имею в виду английские слова как: naï ve, café ré sumé soufflé и т.д. – Thomas Winsnes 18 May 2010 в 15:19

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

// Increase i by one
i++;

абсолютно бесполезны. Я вижу, что увеличен одним, именно это говорит код, мне не нужен комментарий для этого! Комментарии должны использоваться для объяснения , почему что-то сделано (в случае, если это далеко от того, чтобы быть очевидным), или , почему что-то сделано тот путь и не любой другой путь (таким образом, я могу понять определенные проектные решения, которые другой программист сделал, которые далеко не очевидны сразу). Дальнейшие комментарии полезны для объяснения хитрого кода, где абсолютно не возможно определить то, что продолжается при наличии беглого взгляда на код (например, существуют хитрые алгоритмы для подсчета количества набора битов в числе; если Вы не знаете то, что делает этот код, у Вас нет шанса предположения, что продолжается там).

41
ответ дан Mecki 23 May 2017 в 12:09
поделиться

Я думал, что это было о худшем комментарии ТАК сообщение и было разочаровано найти иначе.

-5
ответ дан MidnightGun 23 May 2017 в 12:09
поделиться
  • 1
    См. @Colin' s отвечают ниже. Я могу засвидетельствовать, что МЕНЬШЕ 1.5.5.js действительно поддерживает мультимедийные запросы из поля в том смысле, что they' ре, не разделенное. Они просто can' t использоваться во вложенных правилах. Таким образом, это зависит от того, что Вы подразумеваете под ' support'. – monotasker 13 March 2012 в 19:09

Я когда-то работал над проектом со странным компилятором C. Это дало ошибку на допустимой части кода, если комментарий не был вставлен между двумя операторами. Таким образом, я изменил комментарий на:

// Do not remove this comment else compilation will fail.

И это работало отлично.

37
ответ дан 2 revs, 2 users 89% 23 May 2017 в 12:09
поделиться
  • 1
    - 1 Ни один из них не является логическими операторами. They' ре и BitWise... и Вы смешали XOR и ИЛИ. – Justin Niessner 17 September 2010 в 13:19

Не совсем комментарий, но от JavaDoc, который описал API системы я когда-то, должен был работать с.

setAttribute(attributeName, attributeValue)
Sets an attribute

Нигде не было это, зарегистрировал то, чем атрибут был (они не были атрибутами HTML/XML/etc), какие атрибуты существовали или что оценивает, они могли иметь.

2
ответ дан Quentin 23 May 2017 в 12:09
поделиться

Как только я видел следующий комментарий в некотором коде:

//I know that this is very ugly, but I am tired and in a hurry. 
//You would do the same if you were me...
//...
//[A piece of nasty code here]
3
ответ дан Doron Yaacoby 23 May 2017 в 12:09
поделиться
  • 1
    Снова, это до пользователь для принятия того решения. Я считаю это эквивалентным изменению размеров окна браузера или попытке отключить контекстное меню. Это не сеть site' s помещают для завинчивания с client' s программное обеспечение. – James Sumners 21 June 2010 в 12:35
/* FIXME: documentation for the bellow functionality - and why are we doing it this way */

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

2
ответ дан Zsolt Botykai 23 May 2017 в 12:09
поделиться

У меня есть многие из них:

# For each pose in the document
doc.elements.each('//pose') do |pose| ...

# For each sprite in sprites
@sprites.each do |sprite| ...

# For each X in Y
for X in Y do ...

я пытаюсь сократить это, все же.: (

4
ответ дан Firas Assaad 23 May 2017 в 12:09
поделиться
  • 1
    I' d на самом деле предпочитают другой путь. С интернет-банкингом я редко ввожу что-либо критическое как номер кредитной карты. Я ввожу все это время с электронной коммерцией. – ceejayoz 14 June 2010 в 20:49

Просто типичная Наука Аккомпанемента 101 комментарий типа:

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

4
ответ дан Konrad Rudolph 23 May 2017 в 12:09
поделиться
  • 1
    PS. Поле номера кредитной карты является чувствительным полем. Вход в систему/пароль для интернет-магазина IMO не является чувствительными полями. – el.pescado 14 June 2010 в 21:05

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

, Например, в Службе обмена сообщениями Java (JMS или в J2EE), класс QueueReceiver.receive содержит следующий драгоценный камень: "Этот вызов, блоки до сообщения прибывают, тайм-аут, истекает, или этот потребитель сообщения закрывается. Тайм-аут нуля никогда не истекает и блоки вызова неограниченно долго".

Звучит великолепно? право?

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

В этом случае при создании QueueConnection из QueueConnectionFactory он говорит Вам, что сообщения не были бы переданы, пока запуск не называют. Но это не появляется в получить методе.

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

Между прочим, мое исследование имеет дело с удобством использования JavaDoc в целом, и в том, находят ли люди на самом деле важные директивы в JavaDocs. Если кто-либо хочет смотреть, связанное здесь .

3
ответ дан Uri 23 May 2017 в 12:09
поделиться
  • 1
    +1 я также видел это, и я соглашаюсь, что некоторые данные не должны храниться, такие как CCNs. – rook 15 June 2010 в 06:23
// Magic
menu.Visible = False
menu.Visible = True

Это от платформы UI в некотором коде PowerBuilder, я раньше продолжал работать. Платформа создала пункты меню динамично (от данных базы данных). Однако, когда PowerBuilder был обновлен от 16-разрядного до 32-разрядного, код меню прекратил работать. Ведущий разработчик так или иначе решил, что, скрывая меню и затем показывая это заставило это отображаться правильно.

2
ответ дан Paul Lefebvre 23 May 2017 в 12:09
поделиться
  • 1
    Согласно комментарию выше, символы в 4E00-9FBF не ограничены использованием на японском языке, таким образом, это не надежный тест. unicode.org/faq/han_cjk.html#4 – Paul Legato 30 July 2012 в 02:40

Каждый раз, когда я преподаю ООП в C++ или Java, я обычно получаю следующее:

// My class!
Class myclass 
{
    //Default constructor
    public myClass()
    {
       ...
    }
}

Моя политика состоит в том, чтобы объявить студентам, что они потеряли бы точки и для недостаточной и для лишней документации

4
ответ дан 2 revs, 2 users 73% 23 May 2017 в 12:09
поделиться

Посторонние повреждения комментария. Обычно, если существует логическое разделение потока, строка комментариев как:

/***************************************************************************/

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

А бывший программист, который должен остаться неназванным, решенным для добавления следующих двух строк:

//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

После каждая строка кода .

3
ответ дан Steropes 23 May 2017 в 12:09
поделиться

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

/**
 * Method declaration
 *
 *
 * @param table
 * @param row
 *
 * @throws SQLException
 */
void addTransactionDelete(Table table, Object row[]) throws SQLException {
75
ответ дан Diomidis Spinellis 23 May 2017 в 12:09
поделиться

Я писал этот небольшой драгоценный камень прежде:

//@TODO: Rewrite this, it sucks. Seriously.

Обычно это - хороший знак, что я достиг конца своей сессии кодирования за ночь.

53
ответ дан Ross 23 May 2017 в 12:09
поделиться
  • 1
    существуют плагины, которые могут включить его снова, цель состоит в том, что пользователь думает, что он хочет записать в том поле и не только избранном материале, который он уже ввел. плюс сохранение пароля на каждом браузере Вы используете для бизнеса, плохая идея. – IAdapter 20 June 2010 в 14:33

Комментарии сгенерированы auto-javadoc инструментом (например, JAutoDoc). Я сделал, чтобы член команды отправил большой объем кода, который был прокомментирован как:

/**
 * Gets the something
 *
 * @param num The num
 * @param offset The offset
 */
public void getSomething(int num, bool offset)

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

4
ответ дан sk. 23 May 2017 в 12:09
поделиться
  • 1
    Это зависит от того, как электронная коммерция работает. – el.pescado 14 June 2010 в 20:57

Я видел этот комментарий вчера в приложении C #:

//TODO: Remove this comment.
15
ответ дан 17 October 2019 в 02:38
поделиться

AHHHRRGGHHH Только что нашел это в каком-то древнем коде, держу пари, парень подумал, что он довольно забавный

private
  //PRIVATE means PRIVATE so no comments for you
  function LoadIt(IntID: Integer): Integer;
10
ответ дан 17 October 2019 в 02:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: