当前位置: 首页 > 互联网, 翻译 > 正文

c语言编程风格

注释是编程风格中一种良好的习惯。像C这样自由格式编程语言也可以接受一些比较草率的代码。这些草率的代码可能很快并且容易编写,但随后往往难以阅读和理解。人们可以对可视的线索做出快速的响应,因此将这些线索写入到代码中,有助于后来阅读的人去理解(这可能就是你自己)。

糟糕的编程风格和注释是软件开发和维护高成本的两大原因。好的编程风格对你更容易的阅读代码有非常大的帮助。风格好的直接好处就是程序更容易编写,间接的好处是程序更容易维护,这些都可以被理解成大大节约软件的成本。

我们使用这样一种风格,审慎的使用空格符的方法来强调这种程序结构。下面是一些这种风格的特点,以及我为什么这样选择它们的原因:

1.在表达式基于功能而分组时,各表达式组之间用空白行分隔。阅读者可以快速跳过整个代码块,而不必阅读每一行代码,很快找到代码块的逻辑结束。

2.if的圆括号及其它相关表达式是陈述部分,并不是判断表达式的部分。因此,我使用空格将圆括弧与表达式分开,让表达式的呈现更加清晰。函数原型也是同样的道理。

3.在大部分的操作符两边使用空格符有助于让表达式更易于阅读。有些时候为了显示子表达式组合,我会在复杂的表达式中省略掉一些空格符。

4.当表达式内嵌于另一表达式时需要用缩进来表示这种关系。使用tab标志符比一组空格符更加简单来排列对齐相关联的表达式组。在一整页的代码时,使用足够大的缩进,从而一目了然的找到相匹配的程序代码是非常重要的。两三个空格符是不够的。

有些程序员则避免使用tab缩进符,原因是他们认为tab让表达式缩进太多了。在一个拥有深度嵌套表达式的复杂函数中,大缩进就意味着当前行只能有小的空间来编写程序。当然,如果函数很复杂,并且函数里的表达式经过多层次的嵌套,此时,将函数拆分成一组更小的函数就非常的有用。

5.用块的形式书写注释,这样就能在视觉上让注释从代码中脱离出来。这样的注释容易查找和阅读,也容易跳过。

6.函数定义时,返回类型写在函数名称之前一行,函数名称就在下一行的开始位置。在我们定位函数定义时,只要在一行的开始找对应的函数名称就行。

在你阅读代码示例你还会看到另外一些风格特点。不同的程序员有他们喜欢并使用的编程风格。采用这种或是不同的风格与所谓的合理风格来讲并不是非常的重要。只要你坚持,任何聪明的阅读者都能很容理解你的代码。

本文固定链接: http://www.byhard.com/?p=859 | 海纳百川

该日志由 byhard 于2013年01月31日发表在 互联网, 翻译 分类下,
原创文章转载请注明: c语言编程风格 | 海纳百川
关键字: ,

c语言编程风格:目前有10 条留言

  1. 沙发。。。

    2013-02-01 14:28
    • byhard:

      你总是很快。呵呵!

      2013-02-05 13:04
  2. 语言风格的变迁从一个侧面反映了技术思想和产业需求的嬗变规律。从1979年Stroustrup完成第一个Cpre预处理程序算起,C 语言来到这个世界上已经快满25个年头了。这是一种在实践中诞生、成长和发展起来的语言。也许,Stroustrup从一开始就压根儿也没想把它设计成像Smalltalk那样纯粹的面向对象语言。开放性、高效率、兼容性和扩展性的需求将C 语言塑造成了一种典型的多模式(Multiparadigm)语言。无论是C 早期对Simula语言的继承,还是后来对Smalltalk、Ada、Clu等语言的借鉴,无论是ANSI/ISO标准风格的迅速普及,还是Visual C .NET在技术创新上的不懈努力,所有这些历史变迁都说明,C 在风格上的多样性主要源自C 语言本身“海纳百川”的胸襟和气概。

    2013-02-02 21:14
    • byhard:

      普及知识了,非常感谢你的支持。

      2013-02-05 13:04
  3. 无意中来到博主的博客,留个脚印吧,我和博主用的主题是一样的啊,都是weisay的主题,欢迎回访啊

    2013-02-03 22:00
    • byhard:

      已回访了。谢谢支持。

      2013-02-04 08:40
  4. 板凳
    藏章博客:

    这方面了解太少了,看来要加强。

    2013-02-04 14:41
    • byhard:

      编程其实是一种习惯。是不断的自我改进,当然包括风格。

      2013-02-04 15:07
  5. 博主是搞C开发的?我很喜欢C啊,自学的

    2013-02-05 17:04
    • byhard:

      我和你一样,也是自学的,平常工作只用到C#,还是不一样的。大家一起学习吧。最近我在看pointer on c.就翻译了里面的一些章节,来提高记忆。

      2013-02-05 22:08