Auto format Linux kernel coding style

44 篇文章 0 订阅
25 篇文章 1 订阅


一、代码风格自动检查

scripts/checkpatch.pl -f   directory / *.c


Gerrit可以对kernel git增加此自动检查功能,保证代码提交质量。


二、代码风格自动整理

1、使用开源软件astyle自动整理

http://sourceforge.net/projects/astyle/files/astyle/

下载最新linux版本astyle ,编译:

cd astyle/build/gcc
make release


#!/bin/sh
#./astyle --style=linux --indent=force-tab=8 --align-pointer=name --max-code-length=90 --break-after-logical -p -H -U ./*.c  ./*.h
./astyle --style=linux --indent=force-tab=8 --align-pointer=name -p -H -U ./*.c  ./*.h


2、使用kernel脚本indent自动整理

参考:

http://blog.csdn.net/lixianlin/article/details/7820753


3、注释风格C99自动转换C89

// comment  修改成风格/* comment */


sed -i '/\/\//s/$/\*\//g' epl8802.c   
sed -i 's/\/\//\/\*/g' epl8802.c.


四、Auto format Linux kernel coding style

#!/bin/sh
#./astyle --style=linux --indent=force-tab=8 --align-pointer=name --max-code-length=90 --break-after-logical -p -H -U ./*.c ./*.h
./astyle --style=linux --indent=force-tab=8 --align-pointer=name -p -H -U ./*.c ./*.h

files=$(find . -name "*.c")

for f in ${files}
do
    mv ${f} ${f}.org
    #./cconvert ${f}.org > ${f}
    sed -i '/\/\//s/$/\*\//g' ${f}.org
    sed -i 's/\/\//\/\*/g' ${f}.org
done





编码风格是Verilog设计中非常重要的方面,它直接影响着代码的可维护性和可读性。以下是关于Verilog编码风格的一些建议: 1. 缩进和对齐:合理的缩进和对齐可以增加代码的可读性。建议使用4个空格进行缩进,并对相关的代码进行对齐,以便于理解代码结构。 2. 命名规范:命名应该具有描述性,能够准确反映信号或模块的功能。遵循一致的命名规范,可以使代码更易于理解和维护。可以使用驼峰命名法或下划线命名法。 3. 注释:适当的注释可以帮助其他人理解你的代码。在代码的关键部分添加注释,解释代码的功能、用途和设计思路。 4. 模块化设计:将代码分成多个小模块,每个模块只负责特定的功能。这样做可以增加代码的可复用性和可维护性。 5. 参数化设计:使用参数化的方式设计模块,可以提高代码的灵活性和可扩展性。通过将一些常量参数化,可以在实例化模块时灵活地调整参数的值。 6. 模块接口:在设计模块时,定义清楚模块的输入和输出接口,并确保适当的信号命名和位宽匹配。 7. 错误处理:编写代码时要考虑到可能出现的错误情况,并采取适当的错误处理机制,例如添加状态机或发送错误提示信号。 8. 使用阻塞和非阻塞赋值:在赋值时要使用适当的赋值操作符,阻塞赋值(=)用于组合逻辑,非阻塞赋值(<=)用于时序逻辑。 9. 适当使用常量和枚举:对于不会改变的数值,应该使用常量来定义。对于有限的状态集合或选项,可以使用枚举来增加代码的可读性。 10. 代码复用:适当的代码复用可以减少重复编写相似代码的工作量。可以使用模块、宏定义、函数等方式重新使用已有的代码块。 总的来说,编写Verilog代码时,需要注重代码的可读性、可维护性和灵活性,合理的编码风格将大大提高代码质量和工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值