This commit is contained in:
youngyangyang04
2021-05-16 09:42:04 +08:00
parent 3cdd46ffcf
commit 1338325b12
2 changed files with 17 additions and 11 deletions

View File

@ -183,7 +183,7 @@ public:
int end = 0; // 反转的单词在字符串里终止位置 int end = 0; // 反转的单词在字符串里终止位置
bool entry = false; // 标记枚举字符串的过程中是否已经进入了单词区间 bool entry = false; // 标记枚举字符串的过程中是否已经进入了单词区间
for (int i = 0; i < s.size(); i++) { // 开始反转单词 for (int i = 0; i < s.size(); i++) { // 开始反转单词
if ((!entry) || (s[i] != ' ' && s[i - 1] == ' ')) { if ((!entry))) {
start = i; // 确定单词起始位置 start = i; // 确定单词起始位置
entry = true; // 进入单词区间 entry = true; // 进入单词区间
} }

View File

@ -11,13 +11,15 @@
# 看了这么多代码,谈一谈代码风格! # 看了这么多代码,谈一谈代码风格!
其实在交流群里经常能看到大家发出来的代码,可以看出很多录友代码规范应该不甚了解,代码看起来并不舒服 最近看了很多录友在[leetcode-master](https://mp.weixin.qq.com/s/wZRTrA9Rbvgq1yEkSw4vfQ)上提交的代码,发现很多录友代码其实并不规范,这一点平时在交流群和知识星球里也能看出来
很多录友对代码规范应该不甚了解,代码看起来并不舒服。
所以呢我给大家讲一讲代码规范我主要以C++代码为例。 所以呢我给大家讲一讲代码规范我主要以C++代码为例。
需要强调一下,代码规范并不是仅仅是让代码看着舒服,这是一个很重要的习惯。 需要强调一下,代码规范并不是仅仅是让代码看着舒服,这是一个很重要的习惯。
# 题外话 ## 题外话
工作之后,**特别是在大厂,看谁的技术牛不牛逼,不用看谁写出多牛逼的代码,就代码风格扫一眼,立刻就能看出来是正规军还是野生程序员**。 工作之后,**特别是在大厂,看谁的技术牛不牛逼,不用看谁写出多牛逼的代码,就代码风格扫一眼,立刻就能看出来是正规军还是野生程序员**。
@ -25,15 +27,15 @@
现在一些小公司,甚至大公司里的某些技术团队也不注重代码规范,赶进度撸出功能就完事,这种情况就要分两方面看: 现在一些小公司,甚至大公司里的某些技术团队也不注重代码规范,赶进度撸出功能就完事,这种情况就要分两方面看:
* 第一种情况:这个项目在业务上赚到钱每年年终好几十万那项目前期还关心啥代码风格赶进度把功能撸出来赚钱就完事了例如15年的王者荣耀。 * 第一种情况:这个项目在业务上具有巨大潜力,需要抢占市场,只要先站住市场就能赚到钱,每年年终好几十万,那项目前期还关心啥代码风格,赶进度把功能撸出来,赚钱就完事了,例如12年的微信15年的王者荣耀。这些项目都是后期在不断优化的。
* 第二种情况:这个项目没赚到钱,半死不活的,代码还没有设计也没有规范,这样对技术人员的伤害就非常大了。 * 第二种情况:这个项目没赚到钱,半死不活的,代码还没有设计也没有规范,这样对技术人员的伤害就非常大了。
**而不注重代码风格的团队99.99%都是第二种情况**,如果你赶上了第一种情况,那就恭喜你了,本文下面的内容可以不用看了,哈哈。 **而不注重代码风格的团队99.99%都是第二种情况**,如果你赶上了第一种情况,那就恭喜你了,本文下面的内容可以不用看了,哈哈。
# 代码规范 ## 代码规范
## 变量命名 ### 变量命名
这里我简单说一说规范问题。 这里我简单说一说规范问题。
@ -67,7 +69,7 @@
![编程风格](https://img-blog.csdnimg.cn/20201119173039835.png) ![编程风格](https://img-blog.csdnimg.cn/20201119173039835.png)
## 水平留白(代码空格) ### 水平留白(代码空格)
经常看到有的同学的代码都堆在一起,看起来都费劲,或者是有的间隔有空格,有的没有空格,很不统一,有的同学甚至为了让代码精简,把所有空格都省略掉了。 经常看到有的同学的代码都堆在一起,看起来都费劲,或者是有的间隔有空格,有的没有空格,很不统一,有的同学甚至为了让代码精简,把所有空格都省略掉了。
@ -89,7 +91,7 @@ int i, j;
for (int fastIndex = 0; fastIndex < nums.size(); fastIndex++) for (int fastIndex = 0; fastIndex < nums.size(); fastIndex++)
``` ```
括号和函数保持同一行,并有一个空格例如: 括号和函数保持同一行,并有一个空格例如:
``` ```
while (n) { while (n) {
@ -123,9 +125,13 @@ public:
}; };
``` ```
当然我并不是说一定要按照Google的规范来代码风格其实统一就行没有严格的说谁对谁错。 这里关于大括号是否要重启一行?
# 总结 Google规范是 大括号和 控制语句保持同一行的,我个人也很认可这种写法,因为可以缩短代码的行数,特别是项目中代码行数很多的情况下,这种写法是可以提高阅读代码的效率。
当然我并不是说一定要按照Google的规范来**代码风格其实统一就行,没有严格的说谁对谁错**。
## 总结
如果还是学生使用C++的话,可以按照题解中我的代码风格来,还是比较标准的。 如果还是学生使用C++的话,可以按照题解中我的代码风格来,还是比较标准的。