每个人都有自己的编码风格,但如果要和别人协同开发软件,最好是采用一样的风格,可是强行要求他人更改编码风格可能会比较难,那么有没有更好的解决方式呢?
当然有,在软件的世界中,有需求就会有解决方案,毕竟大神那么多。
格式化 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 代码格式化成谷歌的代码风格。
通过以上的方式,我们完成了代码风格的格式化,包括大括号小括号位置、换行设置等。那下一步,就是规范我们的命名。
Android 有自己的命名风格,包括局部变量、静态变量、类名、包名、接口、try - catch 闭包规定等,都有很大的不同。
在Linux 中喜欢用下划线分割,在 Android 中需要遵循驼峰原则,具体的Android 中 java 编码命名规定,。
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;
}
希望我们实现功能的同时,能够拥有一个好的编码风格,这样别人看我们的代码会感觉很舒服,像欣赏一个艺术品。
-
Android
+关注
关注
12文章
3946浏览量
128064 -
Linux
+关注
关注
87文章
11354浏览量
210657 -
代码
+关注
关注
30文章
4841浏览量
69195 -
系统
+关注
关注
1文章
1020浏览量
21447
发布评论请先 登录
相关推荐
安富莱C语言编码规范
Verilog HDL代码书写规范
Verilog代码书写规范
怎么样才能让Java代码编写更规范化
代码命名规范是真优雅呀!代码如诗
CheckStyle插件导入代码规范
![CheckStyle插件导入<b class='flag-5'>代码</b><b class='flag-5'>规范</b>](https://file1.elecfans.com/web2/M00/8A/08/wKgaomSPsbKARVMtAAAvOq-iaxA072.png)
IDEA 神器怎么修改不规范的代码
![IDEA 神器怎么修改不<b class='flag-5'>规范</b>的<b class='flag-5'>代码</b>](https://file1.elecfans.com/web2/M00/8C/43/wKgZomSouxyAe39SAAA2rPtYSnI839.png)
FPGA的Verilog代码编写规范
代码整洁之道-大师眼中的整洁代码是什么样
![<b class='flag-5'>代码</b>整洁之道-大师眼中的整洁<b class='flag-5'>代码</b>是什么<b class='flag-5'>样</b>](https://file1.elecfans.com//web2/M00/05/C9/wKgZombesjCAGIWdAAHN7xWKtsQ450.png)
评论