阅读笔记——《代码整洁之道》ch2

news/2024/9/23 11:18:06/

引言

clean-code ch2阅读笔记

有意义的命名

名副其实

选择体现本意的名称能让人更容易理解和修改代码。

避免误导

怎么能知道该调用哪个函数呢?

java">getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();

moneyAmount与money没区别,customerInfo与customer没区别。

使用读得出来的名称

不要使用自造词(nsr=>纳税人)

使用可搜索的名称

使用WORK_DAYS_PER_WEEK代替常量5。

java">const int WORK_DAYS_PER_WEEK = 5;

避免使用编码

ShapeFactory >> IShapeFactory,如果接口和实现必须选一个来编码的话,使用ShapeFactoryImp。

类名

类名和对象名应该是名词或名词短语,如Customer,WikiPage,Account,避免使用Manager,Processor,Data或Info这样的类名。类名不应当是动词。

方法名

方法名应当是动词或动词短语,如postPayment,deletePage或save。

重构构造器时,使用描述了参数的静态工厂方法名。

java">Complex fulcrumPoint = Complex.FromRealNumber(23.0);

每个概念对应一个词

给每个抽象概念选一个词,使用fetch,retrieve和get来给多个类中的同种方法命名。

别用双关词

add方法一种解释为通过增加或连接两个现存值来获得新值;另一种解释为把单个参数放到群集(collection)中则不应该使用add,可以使用insert或append之类词来命名才对。

不要添加没用的语境

只要短名称足够清楚,就要比长名称好。别给名称添加不必要的语境。

GSDAccountAddress << PostalAddress


http://www.ppmy.cn/news/1462026.html

相关文章

编译gdb:在x86虚拟机上,加载分析arm程序及崩溃

目标 在X86虚拟机上&#xff0c;加载arm程序及崩溃。 最早我想的是编译一个arm版本的&#xff0c;在虚拟机上显然不能使用。 后来同事跟我说&#xff0c;可以编译一个在虚拟机上&#xff0c;分析arm的gdb&#xff0c;我觉得好神奇。事实证明确实可以。 首先不能使用已编译的…

Android Studio kotlin 转 Java

一. 随笔记录 java代码可以转化成kotlin代码&#xff0c;当然 Kotlin 反过来也可以转java 在Android Studio中 可以很方便的操作 AS 环境&#xff1a;Android Studio Iguana | 2023.2.1 二. 操作步骤 1.步骤 顶部Tools ----->Kotlin ------>Show Kotlin Bytecode 步…

图像中的attention及QKV机制解释

简单记录/推荐两篇博客&#xff0c;后续细化写一下&#xff1a; 图像中的各类 attention https://blog.csdn.net/weixin_44505185/article/details/127013204 Cross-attention的直观理解 首先理解&#xff0c;cross-attention 是两个不同向量间的相关计算&#xff0c;一般Q…

联丰策略股票官网分析A股三大指数集体收跌,超3800只股票下跌

查查配今日A股三大指数集体收跌。沪指低开低走,午后A股上了微博热搜。 联丰策略拥有一支由知名互联网公司和国内证券金融机构的行业专家组成的一流运营团队。凭借他们在互联网产品开发和金融风险管理方面的丰富经验,我们的团队致力于为客户提供专业和个性化的证券交易服务。 截…

齐护K210系列教程(二十七)_语音识别

语音识别 1.烧录固件和模型2.语音识别程序2.1训练并识别2.2使用本地文件语音识别 3.课程资源联系我们 1.烧录固件和模型 注&#xff1a;本应用只适用于有麦克风功能的型号&#xff1a;AIstart_pro、AIstart_掌机、AIstart_Mini, 其它型号不支持&#xff01; 机器码生成以及模…

基于国产LoRa的智慧农业解决方案--ASR6601、SX1278

我国《数字乡村发展战略纲要》明确指出“要推进农业数字化转型”&#xff0c;加快推广云计算、大数据、物联网、人工智能在农业生产经营管理中的运用。 然而&#xff0c;目前我国的农业数字化转型还面临着诸多挑战。我国整体农业机械化程度和自动化控制水平仍然较低。由于农田面…

【阿里云】云服务器ECS运行node服务

本文介绍如何在&#xff08;CentOS 7.9 64位&#xff09;操作系统的ECS实例上&#xff0c;安装Node.js并部署测试项目。 使用工具&#xff1a;FinalShell4.3.10 目录 步骤一&#xff1a;部署Node.js环境 1.远程连接已创建的ECS实例。 2.部署Node.js环境。 a.安装分布式版本管…

通过 AWS Glue 同步 MaxCompute 数据到 S3

1. 下载驱动 下载 3.3.6 版本的 driver wget https://github.com/aliyun/aliyun-odps-jdbc/releases/download/v3.3.6/odps-jdbc-3.3.6-jar-with-dependencies.jar将下载的jar包上传到 S3 指定目录下。(版本会影响方案的成功&#xff0c;4.x 以上版本验证是不可行的) 2. 在 …