首页 > Unix/Linux, 轶事趣闻 > telnet的一个Bug

telnet的一个Bug

2010年4月14日 发表评论 阅读评论 1,249 人阅读    

下面这个链接是Linux分发包Ubuntu的关于Telnet命令的Man Page,

http://manpages.ubuntu.com/manpages/karmic/man1/telnet-ssl.1.html

打开这个Man Page,把页面拉到最后一行,你会看到下面这个BUG(“BUGS:源代码不易读!”)

     The source code is not comprehensible.

Telnet的源代码在这里:http://packages.ubuntu.com/source/dapper/netkit-telnet,下载下来一看,还真是不易读,简单地看了一下代码,发现至少有这样一些问题:

  • 空格和Tab键混用的缩进,导致很多代码在没有缩进。
  • 大量的#if #else以及大量的各种预编译宏。以及一些怪异的宏。如:

#ifndef B19200
#define B19200 B9600
#endif

#ifndef B38400
#define B38400 B19200
#endif

  • 什么叫在C中写C++,第一次见。(在terminal.cc中间居然出现了几个class)
  • 变量命名很不直观,大量的old, tmp, c1, c2, s1, s2, s3 等学校里用的变量名,只有作者自己知道是什么意思。函数命令的风格也不一致,编程风格也很不一致,基本没有编程规范。

的确很不易读。不管怎么样,很欣赏在man page中把源码的易读性列为BUG的这种作法。





分类: Unix/Linux, 轶事趣闻 标签: ,
好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 4.50 )
Loading ... Loading ...
  1. 2010年4月14日10:15 | #1

    的确是很严重的 bug…..不过比课本上的程序还是好读很多的。

  2. 2010年4月14日12:41 | #2

    没有注释算不算?

  3. 2010年4月14日12:45 | #3

    那些个B19200啥的大概是表示串口速率的常量。

    很欣常->很欣赏

  4. Bill
    2010年4月14日20:23 | #4

    很欣常->很欣赏->很欣赏

  5. 2010年4月16日21:10 | #5

    B19200 这种东西看起来像波特率

  6. XML好强
    2010年7月26日00:54 | #6

    估计是他的电话号码吧

  7. pastebt
    2011年7月1日04:05 | #7

    #ifndef B19200
    #define B19200 B9600
    #endif
    是指如果没有定义19200的波特律,就用9600的,旧机器上可能没那么高的串口速度,下面那个也一样

  8. 2011年11月1日19:44 | #8

    The source code is not comprehensible.

    这句酷毙了!

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量