@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

巨人的肩膀