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

引言

clean-code ch2阅读笔记

有意义的命名

名副其实

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

避免误导

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

getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();

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

使用读得出来的名称

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

使用可搜索的名称

使用WORK_DAYS_PER_WEEK代替常量5。

const int WORK_DAYS_PER_WEEK = 5;

避免使用编码

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

类名

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

方法名

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

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

Complex fulcrumPoint = Complex.FromRealNumber(23.0);

每个概念对应一个词

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

别用双关词

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

不要添加没用的语境

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

GSDAccountAddress << PostalAddress

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/631612.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

cpu卡片详解(FM1208)

​ 目录 ​1. 引言 1.1 FM1208 CPU卡芯片 2. FM1208 CPU卡芯片概述 2.1 FM1208及其在智能卡中的作用 2.2 FM1208功能框图 3.FM1208的技术规格 4.FM1208工作流程 5.&#xff26;&#xff2d;1208文件结构 6.FM1208与其他智能卡技术的比较 7.FM1208安全特性 7.1 DES/…

水泡传感器内部结构

水泡传感器内部结构&#xff1a; 水泡传感器放大电路 电路是基于1.6V做的TIA I2V&#xff0c; 也就是输出部分基于1.6V做电压的增加或减少。

OpenAI GPT-4o:开启人工智能交互新纪元

引言 在人工智能领域&#xff0c;OpenAI一直是创新的代名词。2024年5月14日&#xff0c;OpenAI再次以GPT-4o模型震撼了科技界&#xff0c;这款全新的旗舰生成模型不仅免费向公众开放&#xff0c;更以其革命性的多模态交互能力&#xff0c;引领我们进入了一个全新的科幻时代。 …

react 图片没有加载出来的问题

react 图片没有加载出来的问题 我原来是这样写的 <Layout><Sider><imgsrc"../images/login/topdivbg20221202.png"/></Sider><Content><Menu onClick{onClick} selectedKeys{[current]} mode"horizontal" it…

停车场车位引导系统是什么,停车场车位引导系统有哪些作用?

随着城市交通的快速发展&#xff0c;车辆的数量也在迅速增长&#xff0c;随之而来的就是停车难的问题&#xff0c;那么在城市中&#xff0c;如何合理的利用好现有资源&#xff0c;让停车资源得到合理利用呢&#xff1f;这就需要一套科学有效的智能停车场系统&#xff0c;可以帮…

MySQL单表查询案例演示

目录 一、创建数据库lianxi 二、选择数据库为lianxi 三、新建一个数据表grade&#xff0c;在grade表中插入数据 四、开始进行查询操作&#xff08;验证表中数据&#xff09; 1、查询1945班的成绩信息 2、查询1945班&#xff0c;语文成绩大于60小于90的成绩信息 3、查询学…

谷歌举办Gemini API开发者大赛;ChatGPT iOS版更新支持中文

&#x1f989; AI新闻 &#x1f680; 谷歌举办Gemini API开发者大赛&#xff0c;大奖1981款电动DeLorean 摘要&#xff1a;IT之家 5 月 15 日消息&#xff0c;在 2024 年谷歌 I/O 开发者大会上&#xff0c;谷歌宣布举办 Gemini API 开发者大赛&#xff0c;主要面向个人开发者…

NASA数据集——GES DISC 的 AIRS-CloudSat 云掩模、雷达反射率和云分类匹配 V3.2 (AIRS_CPR_MAT)

AIRS-AMSU variables-CloudSat cloud mask, radar reflectivities, and cloud classification matchups V3.2 (AIRSM_CPR_MAT) at GES DISC GES DISC 的 AIRS-CloudSat 云掩模、雷达反射率和云分类匹配 V3.2 (AIRS_CPR_MAT) 简介 这是 NetCDF-4 格式的 AIRS-CloudSat 定位子…

CET6级(笔试备考)

CET6笔试 做题技巧 备考注意 感觉考前一个月还是要多刷几套真题啊&#xff0c;刷个10套吧。 参考链接&#xff1a;https://blog.csdn.net/m0_57656758/article/details/130707582

解决GitHub提交后不显示自己的头像 显示另一个没见过的账号?

问题说明 最近换了几台电脑开发项目&#xff0c;提交到github&#xff0c;看了下提交记录&#xff0c;怎么冒出来不是我的账号头像&#xff1f; 什么鬼i 原因分析 github是按照你注册时候填的邮箱来查找账号&#xff0c;并显示在提交记录上面的。如果账号找不到头像就出不来…

深度学习500问——Chapter08:目标检测(9)

文章目录 8.5 目标检测的技巧汇总 8.5.1 Data Augmentation 8.5.2 OHEM 8.5.3 NMS&#xff1a;Soft NMS/ Polygon NMS/ Inclined NMS/ ConvNMS/ Yes-Net NMS/ Softer NMS 8.5.4 Multi Scale Training/Testing 8.5.5 建立小物体与context的关系 8.5.6 参考relation network 8.5.…

Vue3商城后台管理实战-用户登录界面设计

界面设计 此时界面的预览效果如下&#xff1a; 登录界面的完整代码如下&#xff1a; <script setup> import {reactive} from "vue/reactivity";const form reactive({username: "",password: "", })const onSubmit () > {} <…

模板初阶template

千呼万唤始出来&#xff01;我们终于迎来了C的又一个便利的东东&#xff1a;模板&#xff0c;相信通过模板的学习&#xff0c;大家一定会对于C的使用更加喜爱&#xff01; 泛型编程 当我们想写一个交换函数时&#xff0c;我们会怎么写&#xff1f;如果需要不同类型的交换函数&a…

【STM32-MX_GPIO_Init分析】

MX_GPIO_Init分析源码如下&#xff1a; __HAL_RCC_GPIOE_CLK_ENABLE源码如下&#xff1a; #define RCC ((RCC_TypeDef *) RCC_BASE) #define RCC_BASE (AHB1PERIPH_BASE 0x3800UL) #define AHB1PERIPH_BASE (PERIPH_BASE 0x00020000U…

C语言之旅:动态内存管理

目录 一.为什么要有动态内存分配 二.malloc和free 2.1 malloc 2.2 free 2. 3malloc和free的使用 三. calloc 四. raelloc 4.1 代码示例&#xff1a; 4.2 注意事项&#xff1a; 4.3 对动态开辟空间的越界访问 4.4 对非动态开辟内存使⽤free释放 4.5 使用free释放⼀块…

IC设计企业如何实现安全便捷的芯片云桌面跨网摆渡?

IC设计企业&#xff0c;主要专注于集成电路的设计。这些企业通常包括集成电路、二极管、三极管和特殊电子元件等产品的设计和生产。IC设计企业在其运营和产品设计过程中&#xff0c;会涉及和产生多种文件&#xff0c;如&#xff1a; 项目需求文档&#xff1a;这是项目启动的基础…

骨干高企瞪羚计划30万奖励!武汉市骨干高企瞪羚计划项目申报条件

武汉市骨干高企瞪羚计划项目申报条件、奖励政策内容整理如下&#xff0c;武汉各区企业申报骨干高企瞪羚计划有不明白的可随时了解: 武汉市骨干高企瞪羚计划项目申报对象 &#xff08;一&#xff09;江岸区未上市高新技术企业&#xff0c;注册成立时间不超过10年。 &#xff08;…

STM32HAL库-中断篇

中断 中断简介 中断是一种事件处理机制&#xff0c;可以暂停主程序的运行&#xff0c;转而处理特定事件程序。 中断的作用和意义&#xff1a; 实时控制 在确定事件内对响应事件做出相应 故障处理 检测到故障需要第一时间处理 数据传输 如串口通信&#xff0c;不确定数…

计算机网络5——应用层3万维网2

文章目录 一、万维网的文档1、超文本标记语言 HTML2、动态万维网文档3、活动万维网文档 二、万维网的信息检索系统1、全文检索搜索与分类目录搜索2、Google 搜索技术的特点 三、博客和微博1、博客2、微博 四、社交网站 一、万维网的文档 1、超文本标记语言 HTML 要使任何一台…

初识C语言——第二十一天

猜数字小游戏的实现&#xff1a; 学会了之后可以自己制作彩票抽奖&#xff0c;哈哈&#xff01; 代码实现&#xff1a; #include <stdlib.h> #include <time.h>void menu()//无返回值函数 {printf("**************************\n");printf("****…