mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
Update
This commit is contained in:
@ -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; // 进入单词区间
|
||||||
}
|
}
|
||||||
|
@ -9,15 +9,17 @@
|
|||||||
|
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
# 看了这么多代码,谈一谈代码风格!
|
# 看了这么多代码,谈一谈代码风格!
|
||||||
|
|
||||||
其实在交流群里经常能看到大家发出来的代码,可以看出很多录友对代码规范应该不甚了解,代码看起来并不舒服。
|
最近看了很多录友在[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 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 水平留白(代码空格)
|
### 水平留白(代码空格)
|
||||||
|
|
||||||
经常看到有的同学的代码都堆在一起,看起来都费劲,或者是有的间隔有空格,有的没有空格,很不统一,有的同学甚至为了让代码精简,把所有空格都省略掉了。
|
经常看到有的同学的代码都堆在一起,看起来都费劲,或者是有的间隔有空格,有的没有空格,很不统一,有的同学甚至为了让代码精简,把所有空格都省略掉了。
|
||||||
|
|
||||||
@ -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++的话,可以按照题解中我的代码风格来,还是比较标准的。
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user