Каков лучший комментарий в исходном коде, с которым Вы когда-либо встречались? [закрытый]

360
задан 14 revs, 11 users 61% 17 September 2011 в 14:54
поделиться

518 ответов

в присвоении домашней работы в колледже для учителя, который был особенно непреклонен, что мы комментируем наш код:

//I wonder if she actually reads these.

, Когда присвоение было возвращено в красном пере рядом с тем комментарием "да, Я делаю"

56
ответ дан shsteimer 23 November 2019 в 00:15
поделиться

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

public class Contact
{
    //...    

    /// <summary>
    /// Gets or sets the name of the first.
    /// </summary>
    /// <value>The name of the first.</value>
    public string FirstName
    {
        get { return _firstName; }
        set { _firstName = value; }
    }
}
56
ответ дан Martin Brown 23 November 2019 в 00:15
поделиться
    /* Mark: If there's one thing you learn from this code, it is this...
   Never, ever fly Air France.  Their customer service is absolutely
   the worst.  I've never heard the words "That's not my problem" as 
   many times as I have from their staff -- It should, without doubt
   be their corporate motto if it isn't already.  Don't bother giving 
   them business because you're just a pain in their side and they
   will be sure to let you know the first time you speak to them.

   If you ever want to make me happy just tell me that you, too, will
   never fly Air France again either (in spite of their excellent
   cuisine). 

   Update by oej: The merger with KLM has transferred this
   behaviour to KLM as well. 
   Don't bother giving them business either...

   Only if you want to travel randomly without luggage, you
   might pick either of them.
   */
63
ответ дан Russell Bryant 23 November 2019 в 00:15
поделиться
// Catching exceptions is for communists

От страница Mike Duncan на SQLite.

67
ответ дан 2 revs, 2 users 91% 23 November 2019 в 00:15
поделиться

Наверху заголовочного файла:

/* Project : XYZ (Please somebody shoot me!)
 *
 * File : $Id: defs.h,v 1.1 $
 *
 * Purpose : Create havoc rather than peace among many nations
 *
 * History : Back-ported changes that were not in CVS.  Please somebody,
 *  shoot us and put us all out of our misery.
 */

"проект XYZ" (изменившее имя) был семилетним испытанием. Тот последний комментарий был записан одной рослой душой, которая была вовлечена с самого начала до конца.

70
ответ дан Kristopher Johnson 23 November 2019 в 00:15
поделиться

при отъезде моего последнего задания я встроил некоторое искусство ASCII в источник...


                                      ,_-=(!7(7/zs_.             
                                   .='  ' .`/,/!(=)Zm.           
                     .._,,._..  ,-`- `,\ ` -` -`\\7//WW.         
                ,v=~/.-,-\- -!|V-s.)iT-|s|\-.'   `///mK%.        
              v!`i!-.e]-g`bT/i(/[=.Z/m)K(YNYi..   /-]i44M.       
            v`/,`|v]-DvLcfZ/eV/iDLN\D/ZK@%8W[Z..   `/d!Z8m       
           //,c\(2(X/NYNY8]ZZ/bZd\()/\7WY%WKKW)   -'|(][%4.      
         ,\\i\c(e)WX@WKKZKDKWMZ8(b5/ZK8]Z7%ffVM,   -.Y!bNMi      
         /-iit5N)KWG%%8%%%%W8%ZWM(8YZvD)XN(@.  [   \]!/GXW[      
        / ))G8\NMN%W%%%%%%%%%%8KK@WZKYK*ZG5KMi,-   vi[NZGM[      
       i\!(44Y8K%8%%%**~YZYZ@%%%%%4KWZ/PKN)ZDZ7   c=//WZK%!      
      ,\v\YtMZW8W%%f`,`.t/bNZZK%%W%%ZXb*K(K5DZ   -c\\/KM48       
      -|c5PbM4DDW%f  v./c\[tMY8W%PMW%D@KW)Gbf   -/(=ZZKM8[       
      2(N8YXWK85@K   -'c|K4/KKK%@  V%@@WD8e~  .//ct)8ZK%8`       
      =)b%]Nd)@KM[  !'\cG!iWYK%%|   !M@KZf    -c\))ZDKW%`        
      YYKWZGNM4/Pb  '-VscP4]b@W%     'Mf`   -L\///KM(%W!         
      !KKW4ZK/W7)Z. '/cttbY)DKW%     -`  .',\v)K(5KW%%f          
      'W)KWKZZg)Z2/,!/L(-DYYb54%  ,,`, -\-/v(((KK5WW%f           
       \M4NDDKZZ(e!/\7vNTtZd)8\Mi!\-,-/i-v((tKNGN%W%%            
       'M8M88(Zd))///((|D\tDY\\KK-`/-i(=)KtNNN@W%%%@%[           
        !8%@KW5KKN4///s(\Pd!ROBY8/=2(/4ZdzKD%K%%%M8@%%           
         '%%%W%dGNtPK(c\/2\[Z(ttNYZ2NZW8W8K%%%%YKM%M%%.          
           *%%W%GW5@/%!e]_tZdY()v)ZXMZW%W%%%*5Y]K%ZK%8[          
            '*%%%%8%8WK\)[/ZmZ/Zi]!/M%%%%@f\ \Y/NNMK%%!          
              'VM%%%%W%WN5Z/Gt5/b)((cV@f`  - |cZbMKW%%|          
                 'V*M%%%WZ/ZG\t5((+)L\'-,,/  -)X(NWW%%           
                      `~`MZ/DZGNZG5(((\,    ,t\\Z)KW%@           
                         'M8K%8GN8\5(5///]i!v\K)85W%%f           
                           YWWKKKKWZ8G54X/GGMeK@WM8%@            
                            !M8%8%48WG@KWYbW%WWW%%%@             
                              VM%WKWK%8K%%8WWWW%%%@`             
                                ~*%%%%%%W%%%%%%%@~               
                                   ~*MM%%%%%%@f`                 
                                       '''''                     

74
ответ дан Mauro 23 November 2019 в 00:15
поделиться
Repeat
    ...
Until (JesusChristsReturn) ' Not sure
74
ответ дан Larry 23 November 2019 в 00:15
поделиться
//MailBody builders for two outgoing messages
StringBuilder hanz = new StringBuilder();
StringBuilder franz = new StringBuilder();

я все еще хихикаю немного, когда я считал что один...

76
ответ дан Pete H. 23 November 2019 в 00:15
поделиться

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

// TODO: Fix this.  Fix what?
78
ответ дан Neil N 23 November 2019 в 00:15
поделиться
// John! If you'll svn remove this once more,
// I'll shut you, for God's sake!
// That piece of code is not “something strange”!
// That is THE AUTH VALIDATION.

И что Вы думаете? Код ниже был безопасно ‘svn removed’.

91
ответ дан matiouchkine 23 November 2019 в 00:15
поделиться

Взятый из источника Quake III, я споткнулся через это в некоторой случайной регистрации slashdot. Полный источник файла может быть найден здесь . Это - особенно быстрый метод вычисления обратного квадратного корня. Что касается лучшего комментария? Это - общее, чтобы быть уверенным, но, учитывая, что это присоединено к строке, которая делает волшебство, то, что делает его большим.

float Q_rsqrt( float number )
{
  long i;
  float x2, y;
  const float threehalfs = 1.5F;

  x2 = number * 0.5F;
  y  = number;
  i  = * ( long * ) &y;  // evil floating point bit level hacking
  i  = 0x5f3759df - ( i >> 1 ); // what the fuck?
  y  = * ( float * ) &i;
  y  = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
  // y  = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed

  #ifndef Q3_VM
  #ifdef __linux__
    assert( !isnan(y) ); // bk010122 - FPE?
  #endif
  #endif
  return y;
}
94
ответ дан bikesandcode 23 November 2019 в 00:15
поделиться

Исходная Гибель имела механизм со статическими стенами, которые не могли переместиться; результат состоял в том что все двери, открытые вертикально; ничто никогда не могло перемещаться горизонтально. Я рассмеялся, когда, после того, как исходный код был выпущен, я просматривал код и видел это в исходном файле для обработки дверей, в начале большого блока прокомментированного кода:

// UNUSED
// Separate into p_slidoor.c?

#if 0           // ABANDONED TO THE MISTS OF TIME!!!
//
// EV_SlidingDoor : slide a door horizontally
// (animate midtexture, then set noblocking line)
//
94
ответ дан 2 revs 23 November 2019 в 00:15
поделиться
 * ...and don't just declare it volatile and think you've solved
 * the problem. You young punks think you know what volatile
 * means... why in my day we had to cast it volatile uphill
 * both ways, and the code still didn't work! Whippersnappers...
97
ответ дан 2 revs, 2 users 80% 23 November 2019 в 00:15
поделиться
virgin = 0;     /* you're not a virgin anymore, sweety */
102
ответ дан 2 revs, 2 users 67% 23 November 2019 в 00:15
поделиться

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

// This only exists because Scott doesn't know how to use const correctly
102
ответ дан Tim Farley 23 November 2019 в 00:15
поделиться
try {

}
catch (SQLException ex) {
    // Basically, without saying too much, you're screwed. Royally and totally.
}
catch(Exception ex)
{
    //If you thought you were screwed before, boy have I news for you!!!
}
104
ответ дан Rad 23 November 2019 в 00:15
поделиться
class Act //That's me!!!
{

}
104
ответ дан Rad 23 November 2019 в 00:15
поделиться

Я видел этот комментарий к чьему-то коду:

// This comment is self explanatory.

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

105
ответ дан 2 revs, 2 users 86% 23 November 2019 в 00:15
поделиться
} catch (PartInitException pie) {
    // Mmm... pie
105
ответ дан 2 revs, 2 users 67%Brian 23 November 2019 в 00:15
поделиться

Не совсем комментарий, но goto маркирует

ICantBelieveImUsingAGoto:
104
ответ дан Brian Rudolph 23 November 2019 в 00:15
поделиться

Комментарий я добавил к CMS PHP, что продолжал работать некоторое время назад.

if (/*you*/ $_GET['action']) { //celebrate
58
ответ дан tj111 23 November 2019 в 00:15
поделиться

После того как я видел в другом обсуждении что-то вроде этого:

// I can't divide with zero, so I have to divide with something very similar
result = number / 0.00000000000001;

Умное решение, не это :)? (Это - шутка если чей-то не уверенный),

58
ответ дан 2 revs 23 November 2019 в 00:15
поделиться

В drivers/net/sunhme.c (ядро Linux):

/* Welcome to Sun Microsystems, can I take your order please? */
if(!hp->happy_flags & HFLAG_FENABLE)
        return happy_meal_bb_write(hp, tregs, reg, value);

/* Would you like fries with that? */
hme_write32(hp, &tregs->frame,
            (FRAME_WRITE | (hp->paddr << 23) |
             ((reg & 0xff) << 18) | (value & 0xffff)));
while(!(hme_read32(hp, &tregs->frame) & 0x10000) && --tries)
        udelay(20);

/* Anything else? */
if(!tries)
        printk(KERN_ERR "happy meal: Aieee, transceiver MIF write bolixed\n");

/* Fifty-two cents is your change, have a nice day. */
67
ответ дан 2 revs 23 November 2019 в 00:15
поделиться
def format_ticket_content(text, recursive = true)
  if text.is_a?(TicketNote)
    note = text
    text = note.content
  else
    note = nil
  end

  ## Safety pig has arrived!
  text = h(text)
  ##                               _
  ##  _._ _..._ .-',     _.._(`))
  ## '-. `     '  /-._.-'    ',/
  ##    )         \            '.
  ##   / _    _    |             \
  ##  |  a    a    /              |
  ##  \   .-.                     ;  
  ##   '-('' ).-'       ,'       ;
  ##      '-;           |      .'
  ##         \           \    /
  ##         | 7  .__  _.-\   \
  ##         | |  |  ``/  /`  /
  ##        /,_|  |   /,_/   /
  ##           /,_/      '`-'
  ## 
92
ответ дан 23 November 2019 в 00:15
поделиться

Из утечки Windows 2004 года,

__inline BOOL
SearchOneDirectory(
                  IN  LPSTR Directory,
                  IN  LPSTR FileToFind,
                  IN  LPSTR SourceFullName,
                  IN  LPSTR SourceFilePart,
                  OUT PBOOL FoundInTree
                  )
{
    //
    // This was way too slow. Just say we didn't find the file.
    //
    *FoundInTree = FALSE;
    return(TRUE);
}
108
ответ дан 23 November 2019 в 00:15
поделиться

Не помню, где я видел это:

long time; /* know C */

и (в коде для создания какой-то UNIX демон):

/* Be a real daemon: fork myself and kill my parent */
71
ответ дан 23 November 2019 в 00:15
поделиться
// this comment included for the benefit of anyone grepping for swearwords: shit.
108
ответ дан 23 November 2019 в 00:15
поделиться
//
//3.4  JeK  My manager promised me a lap dance if I can fix this release
//3.5  JeK  Still waiting for that dance from my manager
//3.6  JeK  My manager got changed, the new manager is hairy, dont want the dance anymore
//3.7  Jek  Got that dance, yuck!
//
66
ответ дан 23 November 2019 в 00:15
поделиться
public boolean isDirty() {
    //Why do you always go out and
    return dirty;
}
101
ответ дан 23 November 2019 в 00:15
поделиться

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

Сериализация может использоваться для

  • отправки объектов по сети
  • постоянство
  • деревья объектов Deepcopy
  • ]?

На самом деле интересная вещь в сериализации Java-объектов заключается в том, что вы можете использовать либо стандартный механизм сериализации, который преобразует данные из объектов в двоичные представления, либо настраивать его, реализуя методы из интерфейса Serializable. В дополнение к этому вы можете читать данные вашего объекта и сериализовать их «вручную», то есть считывать значения и преобразовывать их в любой формат, который вы хотите и как хотите.

72
ответ дан 23 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

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