社区编辑申请
注册/登录
手把手教你规范自己的代码
开发 开发工具
clang_format 支持多种代码风格:Google, Chromium, LLVM, Mozilla, WebKit,也支持自定义风格(通过编写.clang-format文件),很方便的统一代码格式。

每个人都有自己的编码风格,但如果要和别人协同开发软件,最好是采用一样的风格,可是强行要求他人更改编码风格可能会比较难,那么有没有更好的解决方式呢?

当然有,在软件的世界中,有需求就会有解决方案,毕竟大神那么多。

格式化 C、C++ 代码有一个好用的工具:clang_format。

clang_format 支持多种代码风格:Google, Chromium, LLVM, Mozilla, WebKit,也支持自定义风格(通过编写.clang-format文件),很方便的统一代码格式。

Linux下安装Clang-format : 

  1. 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语言:

Linux 编码风格总结

Android 有自己的命名风格,包括局部变量、静态变量、类名、包名、接口、try - catch 闭包规定等,都有很大的不同。

在Linux 中喜欢用下划线分割,在 Android 中需要遵循驼峰原则,具体的Android 中 java 编码命名规定,参考如下链接:

https://www.jianshu.com/p/0a984f999592

Android 命名规范举例:

非常量字段名以 LowerCamelCase 风格的基础上改造为如下风格:

基本结构为 scopeVariableNameType。 

  1. scope:范围 
  2. 非公有,非静态字段命名以m开头。 
  3. 静态字段命名以s开头。 
  4. 公有非静态字段命名以p开头。 
  5. 公有静态字段(全局变量)命名以g开头。 
  6. public static final 字段(常量) 全部大写,并用下划线连起来。 

 

  1. public class MyClass {   
  2.       public static final int SOME_CONSTANT = 42;   
  3.       public int pField;   
  4.       private static MyClass sSingleton;   
  5.       int mPackagePrivate;   
  6.       private int mPrivate;   
  7.       protected int mProtected;  
  8.       public static int gField;  

希望我们实现功能的同时,能够拥有一个好的编码风格,这样别人看我们的代码会感觉很舒服,像欣赏一个艺术品。

本文转载自微信公众号「嵌入式Linux系统开发」

 

责任编辑:姜华 来源: 嵌入式Linux系统开发
相关推荐

2022-06-12 06:48:34

2022-06-05 21:09:47

Python办公自动化

2022-05-26 07:41:24

Ftp服务器

2022-05-28 16:14:13

手机更新APP

2022-06-15 08:21:49

Linux运维工程师

2022-05-11 09:02:27

Python数据库Excel

2022-05-27 10:00:06

C++游戏引擎

2022-06-16 07:32:38

VSCodePython插件

2022-06-01 11:14:42

Java代码技巧

2022-06-27 19:01:04

Python应用程序数据

2022-06-17 09:08:27

代码Python内置库

2022-05-25 07:11:13

2022-06-28 12:35:21

DockerPython

2022-06-16 14:07:26

Java代码代码review

2022-06-25 21:22:30

编程Rust代码

2022-06-28 09:26:25

Python配置文件

2022-06-28 09:34:24

可视化Python代码

2022-06-26 09:55:00

接口自动化项目

2022-06-20 13:34:46

漏洞网络攻击

2022-04-15 14:31:02

鸿蒙操作系统

同话题下的热门内容

Flask vs Django: 该如何选择Python框架?分布式编程工具Akka Streams、Kafka Streams和Spark Streaming大PK专为开发人员构建的个人知识管理工具 - Dendron超详细的日常开发必备神器 HttpUtilObsidian 一周使用心得(配置、主题和插件)Java 开发者必备的 十 个 IntelliJ IDEA 插件有了这些神器,随时随地获取优秀技术前沿!2022 年需求中值得拥有的 DevOps 工具

编辑推荐

终于有人把Elasticsearch原理讲透了!花了一个星期,我终于把RPC框架整明白了!这可能是把ZooKeeper概念讲的最清楚的一篇文章论如何下载一个在线的m3u8文件到本地成为一个mp4!拜托!面试不要再问我Spring Cloud底层原理
我收藏的内容
点赞
收藏

51CTO技术栈公众号