《代码整洁之道》感悟

本文介绍了代码编写顺序,包括常量、变量和方法的定义,强调了命名规范和设计原则,如单一职责、高内聚。函数方面,提倡短小且专注于单一任务,避免长函数和过多参数。注释应尽量简洁,避免误导性和冗余信息,提倡通过代码本身清晰性减少注释需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、类

代码顺序

看代码时自上而下,像在读报纸,依次是:

 1、公共静态常量 public static final

 2、私有静态常量 private static final

 3、私有实体变量 private field

 4、公共方法 public method

 5、私有方法 private method

命名规范

名词,应当清晰描述类的权责,如果类名模糊,说明类的权责不清,需要拆分。

设计原则

 总体:短小;单一职责;只有一条加以修改的理由 (开闭,单一职责,依赖倒置)

1、单一职责
  系统应该由很多短小的类而不是少量的巨大的类组成,每一个小类封装一个权责,只有一个修改的原因,并与少数其它类一起协同达成期望的行为。

2、高内聚
  类应该只应有少数实例变量;类中每个方法都应操作这些实例变量,方法操作得越多,就越粘到类上,内聚性就越高。内聚性高意味着类中的方法和变量互相依赖,互相结合成一个逻辑整体

2、函数

  总体:每个函数依序把你带到下一函数

具体规则

1、短小:20条封顶最佳

2、只做一件事

  如何判断是否只做了一件事?
   a. 做的事在同一抽象级
   b. 不能再拆分出函数

3、每个函数都在一个抽象级

4、将switch语句埋藏在比较底层,如抽象工厂模式

5、使用描述性的名称

   与模块名一脉相承的名称

   动词+名词 如:queryUserInfo

   类名 + 函数名能连成一个通顺的句子

6、入参个数越少越好,不超过3个

   why? 单测路径覆盖随入参个数指数增加

   解决:参数多了封装成类

3、注释

目标

  最好的代码应该是自解释的,无需注释

经典语录

   “别给糟糕的代码加注释,重写吧”

   “注释是一种失败,为了掩饰糟糕的代码”

   ”注释会撒谎:注释存在的时间越久,离代码的含义越远”

坏注释

  坏注释是糟糕代码的借口

  多余的注释:不能比代码提供更多的信息

  废话注释:代码修改后可能变为误导性注释

  误导性注释

  版本性注释和归属注释都交给VCS吧

  注释掉的代码,别人不敢删,有VCS了随便删

好的实践

  短函数取好名字,一目了然,无需注释

  定期删除不需要的TODO

  公共API编写良好的javadoc

"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值