51CTO首页
AI.x社区
博客
学堂
精品班
直播训练营
企业培训
鸿蒙开发者社区
WOT技术大会
AIGC创新中国行
IT证书
公众号矩阵
移动端

手把手教你规范自己的代码

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

[[425853]]

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

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

格式化 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-01-04 08:52:14

博客网站 Linux 系统 开源
手把手教你开发自己VSCode插件
默认情况下,VSCode不直接支持查看某些特定类型的文件。但是,你可以通过使用自定义编辑器(customerEditors)来扩展其功能。

2024-03-18 18:07:38

VSCode 插件 文件
手把手教你发布自己CocoaPods开源库
发布自己的cocoapods开源库按照以下步骤,良心制作,包教包会!!下面我会通过一个名为IFMMenu的项目来讲解一下整个过程。

2017-09-05 13:01:11

CocoaPods 开源库 GitHub
手把手教你使用JavaFX
本文介绍了JavaFX的主要特性、应用结构、以及各个组件,并且以实例形式展示了如何使用JavaFX来构建GUI应用。

2021-07-14 09:00:00

JavaFX 开发 应用
手把手教你为开源项目贡献代码
以往的每一个Exporter都需要单独部署运维。同时又完全兼容Prometheus生态,也可以复用现有的监控面板。恰好这段时间我也在公司从事可观测性相关的业务,发现这确实是一个痛点。于是便一直在关注这个项目,同时也做了些贡献;因为该项目的核心是用于整合exporter,所以为其编写插件也是非常重要的贡献了。

2024-01-26 08:16:48

Exporter 开源 cprobe
手把手教你安装Linux
随着Linux系统优势越来越明显,伴随着一些相关问题呼之欲出,如何按装、如何操作Linux系统,都成了普遍新手的问题,本文章就围绕‘如何教会大家安装Linux’进行介绍。

2011-01-10 14:41:26

手把手教你填充墨盒
HP的带气囊的黑色墨盒怎样加墨水?有何注意事项?本文一以惠普为例,介绍,填充黑盒的方法,一起来看。

2011-05-03 15:59:00

黑盒 打印机
手把手教你如何使用Python执行js代码
各位小伙伴,大家好,这次咱们来说一下关于爬虫方向的一个知识,Python如何执行js,快来看看吧!!!

2020-08-12 09:07:53

Python 开发 爬虫
手把手教你实现Kubernetes Gitops
在这篇博文中,介绍了使用Docker将SpringBoot应用程序容器化并将其部署到Kubernetes集群的过程。这种方法有助于管理应用程序的生命周期、简化部署并确保跨不同环境的行为一致。

2023-04-26 12:46:43

Docker Spring Kubernetes
HarmonyOS - 手把手教你搭建Artifactory
jfrogartifactory是一款二进制存储管理工具,用来管理构建工具(如:maven、gradle)等所依赖的二进制仓库,本篇就手把手教你搭建Artifactory。

2022-03-14 14:47:21

HarmonyOS 操作系统 鸿蒙
手把手教你拦截系统调用
系统调用是内核提供给应用程序使用的功能函数,由于应用程序一般运行在用户态,处于用户态的进程有诸多限制(如不能进行IO操作),所以有些功能必须由内核代劳完成。

2022-01-08 20:04:20

拦截 系统 调用
手把手教你如何安装 Elasticsearch
Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene™基础上的搜索引擎。

2022-07-27 08:16:22

搜索 引擎 Lucene
手把手教你如何使用MyBatisPlus
url里面填写的mybatisplus是我的数据库名称,注意修改,username和password分别填写自己的数据库连接名称和密码。

2022-12-07 08:42:35

手把手教你代码开发鸿蒙应用UI
Dreamweaver是一个“所见即所得”的可视化网站开发工具,主要用于动态网页和静态网页的开发;Fireworks主要是用于对网页上常用的jpg、gif的制作和处理,也可用于制作网页布局;Flash主要用来制作动画。

2021-11-24 16:02:57

鸿蒙 HarmonyOS 应用
手把手教你在SQL Server获得智能代码提示
本文将为大家介绍在SQLServer获得智能代码提示的小方法,这一方法不在于让DBA少计多少代码,而是加快代码录入速度。

2010-04-29 09:49:26

代码提示 SQL Server
手把手教你提升SQL性能
SQL通过响应时间,吞吐量,可伸缩性性能参数来表示其的性能高低,在日常的编些程序工作中我们可以注意一些问题来提升SQL的性能。

2011-02-22 13:46:27

微软 SQL .NET
手把手教你中断唤醒系统
中断唤醒系统和普通的驱动区别在于,多了两个函数:suspend和resume,在suspend函数中,调用enableirqwake,表示该中断号在系统休眠时也是enable状态,可以触发中断。

2021-12-28 08:38:26

Linux 中断唤醒系统 Linux 系统
手把手教你开发 MyBatis 插件
在日常开发中,小伙伴们多多少少都有用过MyBatis插件,松哥猜测大家用的最多的就是MyBatis的分页插件!不知道小伙伴们有没有想过有一天自己也来开发一个MyBatis插件

2021-02-26 11:54:38

MyBatis 插件 接口
手把手教你构建无线双网
无线网路技术日益壮大,那么对于网络技术的发展我们也要随时关注,那么对于单无线路由要如何构建局域网呢?

2010-09-16 14:08:13

无线双网
手把手教你给 SQL 做个优化
在开始之前,咱们要知道:如果我的SQL语句执行的足够快,还有没有必要去做优化完全没有必要对吧!所以我们一般说,要给SQL做个优化,那肯定就是这条SQL语句执行的比较慢了

2020-08-12 07:41:39

SQL 优化 语句

深圳SEO优化公司大同网站定制玉树建网站报价天津网络广告推广多少钱爱联网站设计上饶网站定制推荐来宾网站优化按天计费价格南京关键词排名包年推广推荐安阳网站开发公司凉山网页制作报价清徐seo优化公司运城seo网站推广哪家好福田SEO按天收费公司广安网站搭建清徐百度爱采购价格河源SEO按效果付费公司梧州关键词排名达州seo网站优化推荐新余SEO按效果付费价格坂田如何制作网站临沧网站优化按天扣费推荐萍乡品牌网站设计哪家好陇南阿里店铺托管多少钱芜湖seo网站推广报价黔东南seo网站优化多少钱无锡百姓网标王推广沈阳外贸网站设计报价无锡外贸网站设计哪家好衡水百度seo价格大芬网站优化排名多少钱楚雄网站搜索优化哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化