介绍
在使用任何编程语言开发软件时,遵守一致的编码样式对于维持可读性,协作和代码质量至关重要。对于C编程语言,一种广泛认可的编码样式被称为Betty。最初是为Linux内核开发而创建的贝蒂(Betty)在C编程社区中已变得很流行,提供了一组指南,以增强代码的清晰度和可维护性。
什么是贝蒂?
Betty是专门针对C编程语言量身定制的编码样式指南。它是为了在Linux内核开发社区中标准化编码实践标准化,以确保代码库具有凝聚力和可理解该项目的开发人员。
一致风格的重要性:
编码样式的一致性在协作项目中起着至关重要的作用,使团队成员更容易理解和修改彼此的代码。贝蒂(Betty)执行一套标准化的规则,包括命名惯例,缩进,间距和评论放置。通过遵循这些准则,开发人员可以生成干净,可读的代码,对他人更容易容易出现错误。
在本地机器上设置贝蒂。
- 克隆betty repo
-
cd
进入Betty
目录 - 用
sudo ./install.sh
运行以下命令以检查您的代码/文档是否适合Betty样式:
betty-style <filename>
betty-doc <filename>
让我们看一个使用Betty样式编码的简单指南
缩进
想象一下将代码库查看超过20小时。凹痕可帮助您轻松识别哪些部分快速找到信息。这确实有助于调试
- 使用
TAB
缩进您的代码。 一组代码是一组卷曲括号({})内的每组语句
一个示例是我们的main
函数中使用的
int main(void)
{
return (0);
}
- 请勿将多个语句放在单行上
这是一个不好的例子
if (condition) do_this;
do_something_everytime;
这是一个很好的例子
if (condition)
do_this;
do_something_everytime;
- 在多个压痕语句的情况下 - 开关语句 -
switch
关键字和下属case
被放置在相同的凹痕级别上,如下所示
int add(int sum)
{
var i = 0;
switch (sum)
{
case 23:
i = 34;
default:
i = 4;
}
return var;
}
牙套的使用{}
- 应将开口和闭合括号放在下一行的开头。 这是一个不好的例子
if (condition) {
statement1;
statement2;
}
这个很好的例子
if (condition)
{
statement1;
statement2;
}
这也适用于函数。一个示例是主要功能
int main(void)
{
return (0);
}
- 应如上述示例所述缩进牙套的身体。
但是,此规则有例外。如果同一语句的延续遵循结尾括号,则需要添加它。一个例子是do....while
语句。
do {
body of loop;
} while (condition);
- 何时写单个语句时,请勿使用牙套 一个示例是下面的代码
if (condition)
statement;
它也适用于此
if (condition)
statement;
else
statement;
请注意,这甚至在一个具有多个语句的地方都不适用。一个例子是
if (condition)
{
do_this();
do_this();
}
else
{
do_this();
}
- 不要在单行上使用逗号来避免牙套
if (condition)
do_this(), do_this();
做这个
if (condition) {
do_this();
do_this();
}
使用空间
- 在这些关键字之后使用空间
if
,else if
,switch
,case
,for
,for
,while
,return
。 - 但是,在以下看起来像功能之后不要使用空间:
sizeof
,typeof
,alignof
和__attribute__
。
这是一个用于参考的表
但是,请勿使用(内部)表达式周围的空间。
这是一个不好的例子
a = sizeof( struct file );
这是一个很好的例子
a = sizeof(struct file);
- 在大多数二进制和三元操作员周围使用一个空间,例如:
= + - < > * / % | & ^ <= >= == != ? :
- 请勿在 一般操作员周围使用空间 :
& * + ~ ! sizeof typeof alignof __attribute__ defined
- 不要在线路结束时留下尾随的空格,否则您会收到以下警告
断断续续的性格
编码与可读性和可维护性有关。代码行不应太长,以至于需要横向滚动以读取它们。
线上的极限为 80列,强烈是首选极限
功能
函数只是代码的一部分,它可以做一个特定的事情。
- 函数必须包含 40行代码
- 函数中的本地变量不应超过
5-10
- 使用源文件时,用一个空白行单独的功能
在c中发表评论
/* This is a single line comment */
/**
* This is a multiline comment
* comments in C source code
*/
代码文档
在编程中使用文档对于任何人都能很好地理解代码非常必要。我们通过评论提供文档。通过在要点上添加评论,您可以提供上下文,解释和见解,以阐明您的代码目的,意图和复杂性。
Betty具有记录您的代码的样式。让我们看一下
如何记录功能
而不是常规的c多琳评论,该文档的评论块看起来像这样。
/**
* main - This is the entry point of the code
*
* Return - 0 Successful
*/
int main(void)
{
printf("Hello");
return (0);
}
-
如果函数必须返回值,则
Return:
标头标签是强制性 -
必须将提供给功能的参数添加到其各自的标签中。
/**
* sum - Calucates the sum of two numbers
* @arg1 - First operand
* @arg2 - Second operand
*
* Return: The sum of the two parameters
*/
- 您可以添加其他部分,例如
Example
/**
* Sum- Makes the sum of two numbers
* @arg1: First operand
* @arg2: Second operand
*
* Return: The sum of two parameters
*
* Example:
* sum(10, 5); --> 15
*/
int sum(int num1, int num2)
{
return (num1 + num2);
}
使用Betty编码样式作为程序员非常有益。它确保您的代码保持一致,可读并且具有明确的清晰度。
我相信这对您来说是一本很棒的阅读,尤其是如果您是C程序员,并且是ALX软件工程和霍尔伯顿学校的学生。喜欢并发表评论,如果您发现它有帮助。
中阅读有关编码风格的更多信息 上形成良好的联系