• 代码整洁之道


    代码整洁之道

    有意义的命名

    避免误导

    例如别用acoountList来指称一组账号,除非它真的是List类型

    提防使用不同之处较小的名称,区分这些花费的时间会比较多

    做意义的区分

    customerInfo与customerData与customer没有区别,要区分名称,就要以读者能鉴定不同之处的方式来区分

    使用读得出来的名称

    尽量不使用自造词,使用恰当的单词

    使用可搜索的名称

    类名

    类名和对象名应该是名词或名词短语,避免使用Manager、Processor、Data或Info这样的类名,类名不应该是动词

    方法名

    方法名应当是动词或动词短语,属性访问器、修改器和断言应该根据其值命名,并且根据javabean的标准加上get、set和is前缀

    添加有意义的语境

    在地址中有一些firstName、lastName、street等变量,可以添加前缀addrFirstName、addrLastName等,以此提供语境,至少能明白这些变量是某个更大结构的一部分。

    函数

    只做一件事

    要判断函数是否不止做了一件事,就是看是否能够再拆出一个函数,该函数不仅只是单纯地诠释其实现。

    switch语句

    对于switch语句,如果只出现一次,用于创建多态对象,而且隐藏在某个隐藏关系中,在系统其他部分看不到,就还能容忍

    标识参数

    如果传入boolean类型的参数,应该将函数一分为二

    分隔指令与询问

    函数要么做什么事,要么回答什么事,但二者不可兼得。函数应该修改某对象的状态,或是返回该对象的有关信息,两样都干常会造成混乱

    使用异常代替返回错误码

    如果关键字try在某个函数中存在,它就该是这个函数的第一个单词,而且在catch/finally代码块后面也不该有其他的内容

    对象和数据结构

    数据传送对象

    最为精炼的数据结构,是一个只有公共变量,没有函数的类。这种数据结构有时候被称为数据传送对象,或DTO(Data Transfer Objects)。

    错误处理

    null值

    • 别返回null值

    返回null值,基本上是给自己增加工作量,也是在给调用者添乱,只要有一处没检查null值,应用程序就会失效

    • 别传递null值

    除非API要求向它传递null值,否则就要尽可能避免传递null值

    单一权责原则

    单一权责原则认为,类和模块应有且只有一条加以修改的理由。

  • 相关阅读:
    vscode安装及c++配置
    基于Eigen的位姿转换
    大三保研夏令营须知及前期准备工作
    Java:既然有了synchronized,为什么还要提供Lock?
    已经是项目经理了,还有必要考PMP吗?
    Java学习笔记4.2.2 系统类 - Runtime类
    ROS机器人实战,对标古月老师HRMRP机器人(一)——机器人总体方案设计
    prim生成树
    深入浅出零钱兑换问题——背包问题的套壳
    python:bottle + eel 模仿 mdict 查英汉词典
  • 原文地址:https://blog.csdn.net/weixin_45720751/article/details/126088829