• 代码整洁之道


    代码整洁之道

    有意义的命名

    避免误导

    例如别用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值

    单一权责原则

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

  • 相关阅读:
    前端与后端:有什么区别?
    【C++11】多线程库 {thread线程库,mutex互斥锁库,condition_variable条件变量库,atomic原子操作库}
    Mysql的逻辑架构、存储引擎
    MongoDB--- 客户端操作 与 复制集
    《Journal of Renewable and Sustainable Energy》期刊介绍(SCI 4区)
    fl studio21最新汉化破解版中文解锁下载完整版本
    "xxx cannot be cast to jakarta.servlet.Servlet "报错解决方式
    CKKS同态加密方案初步学习
    机器人控制算法八之路径规划算法:RRT、RRT-Connect、Dynamic-Domain RRTs*
    Java开源工具库使用之Lombok
  • 原文地址:https://blog.csdn.net/weixin_45720751/article/details/126088829