SoftEng 版 (精华区)

发信人: kevin (小鬼), 信区: SoftEng
标  题: c语言编程风格(转自aka讲座)
发信站: 紫 丁 香 (Sat Apr 15 11:28:44 2000), 转信

编写这一小节的目的是提醒大家在编程过程中注意编程风格。如果你只是在编写一些小
的练习程序,程序只有一两百行长的话,编程风格可能并不重要。然而,如果你和许多
人一起进行开发工作,或者,你希望在过一段时间之后,还能够正确理解自己的程序的
话,就必须养成良好的编程习惯。在诸多编程习惯当中,编程风格是最重要的一项内容

良好的编程风格可以在许多方面帮助开发人员。如果你阅读过 Linux 内核源代码的话,
可能会对程序的优美编排所倾倒。良好的编程风格可以增加代码的可读性,并帮助你理
清头绪。如果程序非常杂乱,大概看一眼就该让你晕头转向了。编程风格最能体现一个
程序员的综合素质。
许多读者可能对 Windows 所推崇的匈牙利命名法很熟悉。这种方法定义了非常复杂的函
数、变量、类型等的命名方法,典型的命名方法是采用大小写混写的方式,对于变量名
称,则采用添加前缀的办法来表示其类型,例如:
char szBuffer[20];
int nCount;
利用 sz 和 n 分别代表字符串和整数。为了表示一个变量名称,采用如下的变量名称是
可能的:
int iThisIsAVeryLongVariable;
在 Linux 中,我们经常看到的是定义非常简单的函数接口和变量名称。在 Linux 内核
的源代码中,可以看到 Linux 内核源代码的编码风格说明(/ Documentation/CodingS
tyle)。UNIX 系统的一个特点是设计精巧,并遵守积木式原则。C 语言最初来自 UNIX
 操作系统,与 UNIX 的设计原则一样, C 语言被广泛认可和使用的一个重要原因是它
的灵活性以及简洁性。因此,在利用 C 语言编写程序时,始终应当符合其简洁的设计原
则,而不应当使用非常复杂的变量命名方法。Linus 为 Linux 内核定义的 C 语言编码
风格要点如下:
缩进时,使用长度为 8 个字符宽的 Tab 键。如果程序的缩进超过 3 级,则应考虑重新
设计程序。
大括号的位置。除函数的定义体外,应当将左大括号放在行尾,而将右大括号放在行首
。函数的定义体应将左右大括号放在行首。如下所示:
int function(int x, int y)
{
        if (x == y) {
                ...
        } else if (x > y) {
                ...
        } else {
                ...
        }
        return 0;
}
应采用简洁的命名方法。对变量名,不赞成使用大小写混写的形式,但鼓励使用描述性
的名称;尽可能不使用全局变量;不采用匈牙利命名法表示变量的类型;采用短小精悍
的名称表示局部变量;保持函数短小,从而避免使用过多的局部变量。
保持函数短小精悍。
不应过分强调注释的作用,应尽量采用好的编码风格而不是添加过多的注释。 
--

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.244.244]
发信人: pilot (〓〓★〓〓), 信区: SoftEng
标  题: Re: c语言编程风格(转自aka讲座)
发信站: 紫 丁 香 (Sat Apr 15 11:30:57 2000), 转信

【 在 kevin (小鬼) 的大作中提到: 】
: ... ...
: 。函数的定义体应将左右大括号放在行首。如下所示:
: int function(int x, int y)
: {
:         if (x == y) {
:                 ...
:         } else if (x > y) {
:                 ...
:         } else {
:                 ...
:         }
:         return 0;
: }
: ... ...

        这个格式的好处据说可以在一个屏幕内显示比以前多出两倍的代码行,

        可我实在不习惯...

--

               〓〓★〓〓

        比别人飞的更高,更快,更强!

※ 修改:.pilot 于 Apr 15 11:31:16 修改本文.[FROM: dns.mtlab.hit.ed]
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: dns.mtlab.hit.ed]
发信人: kevin (小鬼), 信区: SoftEng
标  题: Re: c语言编程风格(转自aka讲座)
发信站: 紫 丁 香 (Sun Apr 16 13:06:30 2000), 转信

我最不习惯的是为啥if..for的括号放在后面而不放在下一行...
看着舒服,层次清晰.
【 在 pilot (〓〓★〓〓) 的大作中提到: 】
: : 。函数的定义体应将左右大括号放在行首。如下所示:
: : int function(int x, int y)
: : {
: :         if (x == y) {
: :                 ...
: :         } else if (x > y) {
: :                 ...
: :         } else {
: :                 ...
: :         }
: :         return 0;
: : }
: : ... ...
:         这个格式的好处据说可以在一个屏幕内显示比以前多出两倍的代码行,
:         可我实在不习惯...

--

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.244.244]
发信人: penden (seagull), 信区: SoftEng
标  题: Re: c语言编程风格(转自aka讲座)
发信站: 紫 丁 香 (Sun Apr 16 17:59:19 2000), 转信

  其实我认为,所谓的编程风格是因人而异的...
  比如我就比较喜欢这种形式.
  for( ; ; )
  {
      if(  )
      { .....
       ......
      }
      else if (  )
      {.....
       .....
      }
   }
  这样的话,一看就知道{}的对应关系了.


※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.226.244]
发信人: Sun (大灯泡), 信区: SoftEng
标  题: Re: c语言编程风格(转自aka讲座)
发信站: 紫 丁 香 (Mon Apr 17 10:22:58 2000), 转信

   VC里的括号匹配快捷键是 ctrl+]
   UltraEdit里是ctrl+b

【 在 lhy (最近有点烦) 的大作中提到: 】
: 我倒觉得,这样有道理(和我的喜欢一样)
: 但这仅是在unix下的风格,因为vi下有括号匹配快捷键.
: 但在windows下就不同了.
: 【 在 kevin (小鬼) 的大作中提到: 】
: : 我最不习惯的是为啥if..for的括号放在后面而不放在下一行...
: : 看着舒服,层次清晰.

--
    太阳就是个大灯泡。(自创)
    先天下之光而光,后天下之脱而脱。(摘抄)

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.239.237]
发信人: cucme (说你说我), 信区: SoftEng
标  题: Re: c语言编程风格(转自aka讲座)
发信站: 紫 丁 香 (Mon Apr 17 11:42:08 2000), 转信

【 在 Sun (大灯泡) 的大作中提到: 】
:    VC里的括号匹配快捷键是 ctrl+]
                           ~~~~~~~
                        TC, BC下也是它
:    UltraEdit里是ctrl+b
: 【 在 lhy (最近有点烦) 的大作中提到: 】
: : 我倒觉得,这样有道理(和我的喜欢一样)
: : 但这仅是在unix下的风格,因为vi下有括号匹配快捷键.
: : 但在windows下就不同了.

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.244.207]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.421毫秒