如何将代码写的更健壮(02)---给人家起个好名字吧
@TOC
前言
在工作中学习中,如同学算法学四大基础夯实基础一样,咱们要不断考虑的是如何将代码写的更健壮,这个很重要,那就开始学起吧,与诸君共勉。
一、给变量、常量、方法/函数、类起个好名字—–>好的命名,可不是命名越长越好哦
1.变量和常数【Variables & Constants】
- 咱们常用变量及常数来存储用户等信息数据【用户的输入数据、某个页面上的控件返回的结果中渲染的数据、产品清单等】,那么经常用的名字,比如:
- userData
- userInputData
- userLoginData
- 再比如,如果咱们用户群体之间无分别,那么咱们命名为user等是可以的,但是如果用户是有区别的,此时,咱们可以命名为AuthenticatedUser等,让每个阅读咱们代码的人都知道,此时操作的目标只是那些已经被认证过的用户。是不是稍微高效率了一点呢。
- peterFamilyData
- 如果想显示某种特征,比如可以带上数据库,SqlXxx、MySqlXxx、RedisXxx…
- peterTodayShopList
-isValid- 比如,如果咱们可以是一个二进制的结果,那么IsXxx,如IsActive、loggenIn等,就非常适合你
- …
- …
2.方法或函数
- 需要注意的是,咱们的方法或函数是要在某一个时间段做一个事,时间到了主动做这个事,或者被动被调用做这个事,那么…
- sendDta()
- checkInputIsValid()
- 变量的命名,应该能够表达出变量中存的什么
- 方法或函数的命名,应该能够表达出这个方法或函数要做什么,让看的人不必每次都要查看这个方法或函数内部的代码。例子如下:你会写bad那样,还是good那样呢?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18//我们想要存储关于用户信息的文件或者数据到库里,那么这样写
//bad
Xxx temp = new XXX(...);\
temp.process();
if(login)
{
...
}
//good
Xxx user = new XXX(...);\
user.save();
if(isLoggedIn)
{
...
}- 如果你写temp、process、login,可能看的人会问,你写这个temp是什么意思呢?你又用temp调用这个process,是准备干什么呢?,然后判断条件中又是以什么作为判断依据呢?你看,其实很简单的代码,但是你让阅读者不得不去看更多代码的细节,才能明白你的意思。下面逐个来说命名那些事
- 常常指代的就是某个命令或者计算某个值、传递某个行为
3.类、对象
- 常见的就是:创建一个用户对象、请求或响应实体等,将抽象的转换为具体的实体
- User
- RequestBody
- PeterShopList
- PeterFamilyClasses
二、好的意义有了,变量、常量、方法或者函数、类、对象哪个字母大写哪个字母小写是不是该定下来呢,咋定呢
1.驼峰命名:camelCase
- 名称中第一个字符总是小写字母,下一个单词的开头字符总是大写
- 头号粉丝:Java、Javascript
2.snake_case
- 所有字母都是小写,多个单词之间用下划线分割
- 头号粉丝:Python
3.PascalCase
- 粉丝比较多
- Classes通常用PascalCase会多一点
4.Kebap-case
- 头号粉丝:HTML
巨人的肩膀
- https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/coding-style/coding-conventions
- 代码整洁之道
- 菜鸟教程
- C#高级编程
- C#函数式编程
- 叩响C#之门
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.


