专栏首页嵌入式Linux系统开发手把手教你规范自己的代码,纯干货。

手把手教你规范自己的代码,纯干货。

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

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

格式化 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语言:

Linux 编码风格总结

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

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

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

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; 
}

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

·

本文分享自微信公众号 - 嵌入式Linux系统开发(Jason_Linux_),作者:Jasonangel

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 纯干货:手把手教你用Python做数据可视化(附代码)

    导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一。可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转换,或者为建模提供一些想...

    华章科技
  • 干货 | MIT手把手教你一步步创建自己的R程序包

    大数据文摘
  • 代码管理| 手把手教你封装自己的静态库SDK

    这里重点说下,怎样饮用Bundle中的图片资源。这里使用的是简写:@"JWJFramework.bundle/open"其中JWJFramework.bundl...

    進无尽
  • 干货 | 手把手教你用115行代码做个数独解析器!

    Aakash Jhawar和许多人一样,乐于挑战新的难题。上学的时候,他每天早上都要玩数独。长大后,随着科技的进步,我们可以让计算机来帮我们解数独了!只需要点击...

    大数据文摘
  • 猿实战05——手把手教你拥有自己的代码生成器

    哈哈,猿设计终于讲完了,接下来的一段时间,工厂君打算和大家一起来实现我们之间的设计——构建一个自己的电商系统来玩耍。嗯,这个可是一个大工程,代码量很大,业务也比...

    山旮旯的胖子
  • 手把手教你自制编程AI:训练2小时,RNN就能写自己的代码

    我们都知道,神经网络下围棋能赢柯洁、读X光照片好过医生、就连文本翻译上也快超过人类了……其实在写代码方面,神经网络也丝毫不落下风……用Linux源代码训练2小时...

    AI科技大本营
  • 【干货教程】自然语言处理入门:手把手教你解决90%的NLP问题

    作者:孟廉 编辑:田旭 前 言 文章来自:https://blog.insightdatascience.com 作者:Emmanuel Ameisen 无...

    机器学习算法工程师
  • CryptoKitties源码详解:手把手教你撸出自己的区块链游戏

    区块链大本营
  • 手把手教你用Python打造一款属于你自己的个性二维码

    在现代社会中,我们出行坐公交经常会看到二维码,支付宝微信收款也会有二维码扫一扫,那么这些二维码是怎样生成的了,今天我们不研究二维码的原理,只教大家如何制作属于...

    数据森麟
  • 手把手教你用Python打造一款属于你自己的个性二维码

    在现代社会中,我们出行坐公交经常会看到二维码,支付宝微信收款也会有二维码扫一扫,那么这些二维码是怎样生成的了,今天我们不研究二维码的原理,只教大家如何制作属于...

    Python进阶者
  • 手把手教你在腾讯轻量云上搭建自己的 Bitwarden 密码服务器

    https://console.cloud.tencent.com/lighthouse/instance/index

    huginn 中文网
  • Qt 资料大全

    为了方便更多的人了解、学习 C++/Qt,现将相关资源进行整理,主要内容包括:Qt 网址、编码风格、GitHub & Third-Party、社区论坛、博客、书...

    Jasonangel
  • 为什么源码分析味同嚼蜡?浅析技术写作中的思维误区

    码个蛋第225次推文 ? 不是干货不够,而是干货太干 作者:doodlewind 博客:https://juejin.im/user/57d732a7816df...

    企鹅号小编
  • 百亿身家中年男子告别房地产转行学Python,我们推荐他读这6本书

    导读:几天前,数据叔在界面新闻看到这样一个标题:《【深度】潘石屹张欣彻底告别房地产》。数据叔当时还纳闷,潘老板告别房地产之后要去做什么呢?如今终于有了答案:

    华章科技
  • 为什么你很久都找不到biu的一下就学会前端的教程?

    很多人看了很多教程,但依然学不会前端开发的真正原因,在于他们的内心其实一直在寻找“拐棍”,期望拄拐就能走上前端巅峰。 现在关于前端开发方面的教程和文章,主要分...

    web前端教室
  • 浅析技术写作中的思维误区

    我就是马云飞
  • 长文 | 手把手教你如何使用python进行数据分析(最好将文章代码自己码一遍)

    关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 原文 http://www.cnbl...

    昱良
  • 十年之后再看“面向对象”

    精讲java
  • 十年之后再看“面向对象”

    一起帮里有人问“面向对象”的问题。但我创建“一起帮”的目的是帮人解决“具体的”“实务性的”问题,“面向对象”太过于抽象,所以没批准发布。后来在QQ群里讨论,看他...

    用户1257393

扫码关注云+社区

领取腾讯云代金券