当前位置:网站首页>代码整洁之道--格式
代码整洁之道--格式
2022-06-27 21:43:00 【华为云】
前言
写代码的时候不能仅仅关注代码功能是否完善,也应该主要代码的格式是否符合规范,或许你认为"让代码能工作"才是开发者应该考虑的头等大事,但是,如果没有好的代码格式,在以后版本的迭代和修改中,代码的可读性会对以后发生的修改行为产生深远的影响

一、垂直格式
1、自顶向下的去阅读
在你看报纸的是,你会希望有个头条,告诉你报纸的主题,如何第一段是整个故事的大纲,但隐藏了具体细节,接着继续往下读,细节慢慢的呈现,直到你了解整个故事发生的时间,地点等等。
报纸由很多文章组成,多数短小精湛,少数的有点长,但很少有占满一页的,如果报纸只登载一篇特别长的新闻,没人会去读它。
我们的代码也应如此,从上往下,从左往右。
2、概念上的垂直分隔
定义的函数之间,不应该紧紧挨着一起,每个函数之间做好空号分隔;
3、垂直方向向上靠近
紧密相关的代码应该相互靠近,成员变量不留空格
4、紧密关联的函数相互靠近
避免从一个函数跳到另一个函数,这样不停的跳跃。一个函数调用另一个函数,应该尽量保证被调用的函数在调用者的下面挨着,这样阅读更方便。
5、成员变量应该声明在类头部
函数的变量应该在函数开头声明,如果需要函数中声明,考虑是否函数需要拆分成多个函数执行;
二、横向格式
1、一行代码的宽度
保持行代码的短小,避免行代码超过你的屏幕,如果超过,应该考虑换行或者修改更精炼的变量名称
2、水平方向的区隔与靠近
加法、减法、乘法、赋值符合(+、-、==、=)符号直接应该加上空格,表示低优先级,乘法、除法(*、/)之间应该不加空格,表示高优先级,函数参数的逗号之后应该加上空格。
3、水平对齐没有必要
不用这样做,没有必要
4、代码缩进
即使代码只有一行,也应该写中括号,换行,不要节省篇幅
5、避免循环,判断语句,函数体为空

总结
写完代码,最后review code,从上到下检查垂直格式,从左到右检查水平格式边栏推荐
- Instructions for vivado FFT IP
- C language - date formatting [easy to understand]
- 安全省油環保 駱駝AGM啟停電池魅力十足
- Thread pool implementation: semaphores can also be understood as small waiting queues
- SQL报了一个不常见的错误,让新来的实习生懵了
- Is not null and in SQL= Difference between null
- 零基础自学SQL课程 | SQL基本函数大全
- [tinyriscv verilator] branch transplanted to Da Vinci development board of punctual atom
- 证券注册账户安全吗,会有风险吗?
- [黑苹果系列] M910x完美黑苹果系统安装教程 – 2 制作系统U盘-USB Creation
猜你喜欢

智慧风电 | 图扑软件数字孪生风机设备,3D 可视化智能运维

炼金术(7): 何以解忧,唯有重构

数据仓库入门介绍
![[PCL self study: segmentation4] point cloud segmentation based on Min cut](/img/af/a6c5abf357c1db0718df505499df70.png)
[PCL self study: segmentation4] point cloud segmentation based on Min cut
![[tinyriscv verilator] branch transplanted to Da Vinci development board of punctual atom](/img/a8/4786e82d0646b08c195dd0a17af227.png)
[tinyriscv verilator] branch transplanted to Da Vinci development board of punctual atom
![[try to hack] kill evaluation](/img/93/e623e25dc4dec1f656227c7651577e.png)
[try to hack] kill evaluation

Instructions for vivado FFT IP

技术的极限(11): 有趣的编程

Zero foundation self-study SQL course | case function
![[读书摘要] 学校的英文阅读教学错在哪里?--经验主义和认知科学的PK](/img/7b/8b3619d7726fdaa58da46b0c8451a4.png)
[读书摘要] 学校的英文阅读教学错在哪里?--经验主义和认知科学的PK
随机推荐
線程池實現:信號量也可以理解成小等待隊列
2022 PMP project management examination agile knowledge points (3)
NDSS 2022 received list
【PCL自学:Segmentation3】基于PCL的点云分割:区域增长分割
What are the ways to combine the points system with marketing activities
Character interception triplets of data warehouse: substrb, substr, substring
【论文阅读|深读】SDNE:Structural Deep Network Embedding
Golang uses Mongo driver operation -- Query (array related)
使用cef3开发的浏览器不支持flash问题的解决
吴恩达《机器学习》课程总结(11)_支持向量机
MySQL character set
往前一步是优秀,退后一步是懵懂
At the beginning of reading English literature, I would like to ask you how you should read it in the first place?
RecyclerView实现分组效果,多种实现方式
零基础自学SQL课程 | IF函数
Cornernet由浅入深理解
吴恩达《机器学习》课程总结(14)_降维
华泰证券在网上开户安全吗?
软件工程作业设计(1): [个人项目] 实现一个日志查看页面
Const keyword and its function (usage), detailed explanation of C language const