你遇到过的源代码中最好的注释是什么?


当前回答

这一点对其他人来说很有趣,但对我来说就不那么有趣了。我从一个开发人员那里继承了代码(ASP),而他自己也继承了它。第一个程序员编写了一些很难理解的代码。第二个开发者添加了如下评论(为了保护不那么无辜的人,名字被隐藏了):

'This code was written by **************.
'I haven't a clue what it does. He hasn't a clue what it does.
'Nobody else has a clue what it does or how it does it.
'It is something to do with data but **** knows what.
'The ******* still works so please do not change this code,
'even though it is a complete pile of ****.

那我为什么不觉得有趣呢?嗯,这是一个客户内部网的ASP代码。

...正是那位顾客向我强调了这条评论。

:-(

其他回答

有一次,我在另一个讨论中看到这样的内容:

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

聪明的解决方案,不是吗?(如果有人不确定,这就是个笑话)

Fix problem where Nulls don't work properly.  Stupid Microsoft!

代码以迂回的方式一行一行地将null转换为零长度的字符串,因为愚蠢的程序员不理解null是什么,也从未听说过Nz()函数。

我曾经见过这个:

//this used to be a comment

很久以前,我遇到了一些连接脚本,虽然我不记得语法,但我记得注释,因为我是平克·弗洛伊德的粉丝。

//Attempt Handshake: Hello? This is London calling. Are we reaching you?


//Handshake Failed: I don't understand...he just hung up.

从《雷神之锤III》的资料中,我在一些随机的帖子中偶然发现了这一点。该文件的完整源代码可以在这里找到。这是一种非常快速的求平方根倒数的方法。至于最好的评论呢?当然,这是一种常见的方法,但考虑到它附着在直线上,它的神奇之处在于它的伟大之处。

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;
}