IT技术咨询公司是做什么的? 几乎每个成功的IT技术咨询公司,例如: 1.Infosys2.Accenture3.Avanade4.Intride5.Thoughtworks...
IT技术咨询公司是做什么的? 几乎每个成功的IT技术咨询公司,例如: 1.Infosys2.Accenture3.Avanade4.Intride5.Thoughtworks...
没有从背后需求出发高喊的“颠覆”,都是在耍流氓。 一夜之间,路由器——那个家中从不起眼的闪着绿灯的小盒子——成了巨头们争夺的市场。百度、360、小米甚至果壳都从推出了路由产品...
这节包含一些杂项:‘做'与'不做'。 不要通过宏替换来改变语法。这将导致程序对于所有人都是难以理解的,除了那个肇事者。 不要在需要离散值的地方使用浮点变量。使用一个浮点数作为...
B.A. Tague, C Language Portability, Sept 22, 1977. This document issued by department 8...
这里描述了一套C语言编程风格的标准。其中最重要的几点是: 合理使用空白和注释,使得我们通过代码布局就可以清楚地看出程序的结构。使用简单表达式、语句和函数,使他们可以很容易地被...
除了这里提到内容外,每个独立的工程都期望能建立附加标准。下面是每个工程程序管理组需要考虑的问题中的一部分: 哪些额外的命名约定需要遵守?尤其是,那些用于全局数据的功能归类以及...
另外一个非常有用的工具是make。在开发过程中,make只会重新编译那些上次make后发生了改变的模块。它也可以用于自动化其他任务。一些 常见的约定包括: all执行所有二进...
Lint是一个C程序检查工具,用于检查C语言源码文件,探测和报告诸如类型不兼容、函数定义与调用不一致以及潜在的bug等情况。强烈建议在所 有程序上使用lint工具,并且期望大...
现代C编译器支持一些或全部的ANSI提议的标准C。无论何时可能的话,尽量用标准C编写和运行程序,并且使用诸如函数原型,常量存储以及volatile(易失性)存储等特性。标准C...
"C语言结合了汇编的强大功能和可移植性" -- 无名氏,暗指比尔.萨克。 可移植代码的好处是有目共睹的。这一节将阐述一些编写可移植代码的指导原则。这里"可移植的"是指一个源码...
条件编译在处理机器依赖、调试以及编译阶段设定特定选项时十分有用。不过要小心条件编译。各种控制很容易以一种无法预料的方式结合在一起。如果使用#ifdef判断机器依赖,请确保当没...
复杂表达式可能会被用作宏参数,这可能会因操作符优先级顺序而引发问题,除非宏定义中所有参数出现的位置都用括号括上了。对这种因参数内副作用而引发的问题,我们似乎也无能为例,除了在...
数值型常量不应该被硬编码到源文件中。应该使用C预处理器的#define特性为常量赋予一个有意义的名字。符号化的常量可以让代码具有更好的可读性。在一处地方统一定义这些值也便于进...
毫无疑问,每个独立的工程都有一套自己的命名约定,不过仍然有一些通用的规则值得参考。 为系统用途保留以下划线开头或下划线结尾的名字,并且这些名字不应该被用在任何用户自定义的名字...
一元操作符不应该与其唯一的操作数分开。通常,所有其他二元操作符都应该使用空白与其操作树分隔开,但'.'和'->'例外。当遇到复杂表达式的时候我们需要做出一些判断。如果内层操作...
复合语句是一个由括号括起来的语句列表。有许多种常见的括号格式化方式。如果你有一个本地标准,那请你与本地标准保持一致,或选择一个标准,并持续地使用它。在编辑别人的代码时,始终使...
每行只应该有一条语句,除非多条语句关联特别紧密。 for或while循环语句的空体应该单独放在一行并加上注释,这样可以清晰的看出空体是有意而为,并非遗漏代码。 不要对非零表达...
通常情况下,请使用纵向和横向的空白。缩进和空格应该反映代码的块结构。例如,在一个函数定义与下一个函数的注释之间,至少应该有两行空白。 如果一个条件分支语句过长,那就应该将它拆...
每个函数前面应该放置一段块注释,概要描述该函数做什么以及(如果不是很清晰)如何使用该函数。重要的设计决策讨论以及副作用说明也适合放在注释 中。避免提供那些代码本身可以清晰提供...