共计 1282 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | 每个人都有自己的编码风格,但如果要和别人协同开发软件,最好是采用一样的风格,可是强行要求他人更改编码风格可能会比较难,那么有没有更好的解决方式呢? |
当然有,在软件的世界中,有需求就会有解决方案,毕竟大神那么多。
格式化 C、C++ 代码有一个好用的工具:clang_format。
clang_format 支持多种代码风格:Google, Chromium, LLVM, Mozilla, WebKit,也支持自定义风格 (通过编写.clang-format 文件),很方便的统一代码格式。
Linux 下安装 Clang-format :
sudo apt-get install clang-format
具体的使用大家可以百度,很简单,肯定比我讲的全。
另外,推荐使用 VSCode 的 C/C++ 插件,自带了 Clang-Format 格式化工具,不仅拥有上述 5 种排版格式,还定义了自己的 Visual Studio 排版格式,且此格式是默认的排版格式 (Ubuntu 下格式化快捷键:Ctrl+Shift+I,Windows 下格式化快捷键:Shift+Alt+F)。
安装了 C /C++ 插件后,鼠标右键,选择格式化文档。
C、C++ 代码可以使用 clang_format 格式化,java 代码呢? 不用担心,Android Studio 有内置的格式化代码的工具,不需要自己安装插件和工具。
选中文件,右键,选择 Reformat Code,即可将我们的 java 代码格式化成谷歌的代码风格。
通过以上的方式,我们完成了代码风格的格式化,包括大括号小括号位置、换行设置等。那下一步,就是规范我们的命名。
C、C++ 和 java 的命名方式有很大的不同,C 语言:
Android 有自己的命名风格,包括局部变量、静态变量、类名、包名、接口、try – catch 闭包规定等,都有很大的不同。
在 Linux 中喜欢用下划线分割,在 Android 中需要遵循驼峰原则
非常量字段名以 LowerCamelCase 风格的基础上改造为如下风格:
基本结构为 scopeVariableNameType。
scope:范围
非公有,非静态字段命名以 m 开头。静态字段命名以 s 开头。公有非静态字段命名以 p 开头。公有静态字段(全局变量)命名以 g 开头。public static final 字段 (常量) 全部大写,并用下划线连起来。
public class MyClass {
public static final int SOME_CONSTANT = 42;
public int pField;
private static MyClass sSingleton;
int mPackagePrivate;
private int mPrivate;
protected int mProtected;
public static int gField;
}
希望我们实现功能的同时,能够拥有一个好的编码风格,这样别人看我们的代码会感觉很舒服,像欣赏一个艺术品。