【02】CC - 有意义的命名

为什么80%的码农都做不了架构师?>>>   hot3.png

1、提防使用不同之处较小的名称

   XYZControllerForEfficientHandlingOfStrings 与

   XYZControllerForEfficientStorageOfStrings

   在IDE下,都有自动补全,这种细微的差别,容易补全错,即补全了另外一个不想要的,自己却没有察觉。


2、慎用List后缀

   一组账号,accounts,accountGroup,bunchOfAccounts,可能比accountList要好,因为其容器可能不是List,容易造成误导。


3、做有意义的区分

   比如Product与ProductData,与ProductInfo,在意思上区分不出什么来。

   getAccount,getAccountInfo,区分度也不大


4、使用可搜索的名称

   变量作用域大的可以命名相对长一些,便于搜索。


5、接口命名不要I开头

   前导字母I在接口里头被滥用了,ShapeFactory及ShapeFactoryImpl这样命名即可。


6、每个概念对应一个词

   fetch、retrieve、get等同时出现,容易造成混乱,尽量统一只用一个词。


7、命名提供语境

   变量名比如addrFirstName,addrLastName,addrState

   类名的话,如果语义足够,就不要加语境,越短越好。



转载于:https://my.oschina.net/scipio/blog/291310

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux7 语言包,Centos 7中文语言包的安装及中文支持

1、修改配置文件etc/locale.confLANG"zh_CN.UTF-8"2、查看更改后的系统语言变量[root5c46832b5c01 ~]# localelocale: Cannot set LC_CTYPE to default locale: No such file or directorylocale: Cannot set LC_MESSAGES to default locale: No such file or direct…

如何在构建docker镜像时执行SonarQube扫描.NET Core应用

前言SonarQube是一款静态代码质量分析工具,它常用于检测代码中的Bug、漏洞和代码异味,并且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告。一般情况下,我们在Jenkins管道中配置SonarQube,在编译过…

Win10系列:VC++ Direct3D模板介绍1

Visual Studio为开发Direct3D应用程序提供了便捷的模版,读者可以不必手动去新建Direct3D中所使用到的基础资源,而只需专注于图形的绘制。本小节主要为读者介绍这个模版中用于绘制图形的主要函数及其功能,为了能让读者更为清楚地了解如何使用此…

linux+arch系统下载,Linux

大小: 695MB更新时间:2021-02-04适用电脑:系统盘大于20G超过1GMHz的处理器最佳64位处理器Arch Linux是一份独立开发的、为i686优化的Linux发行,它面向高级Linux用户。它使用自行开发的包管理器pacman来为最新的应用软件提供 更新升…

Android---AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作

AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟。通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似。都有两种相似的用法:(1)在指定时长后执行某项操作(…

C# 实例解释面向对象编程中的里氏替换原则

在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。这些原则是由美国软件工程师和讲师罗伯特C马丁(Robert Cecil Martin)提出的许多原则的子集,在他2000年的论文《设计原则与设计模式》中首次提出…

Android之JNI ERROR (app bug): accessed stale global reference 0xb39533f2 (index 19708 in a table of s

1、问题 2、原因 我在jni里面是这样写的 (*env)->CallVoidMethod(env, obj, method3, "chenyu"); 3、解决办法 把这个 (*env)->CallVoidMethod(env, obj, method3, "chenyu"); 改为这个 (*env)->CallVoidMethod(env, obj, method3, (*env)-&g…

工业互联网的最后一公里

最后一公里,出自中国共产党十八大以来的新名词之一,指政策始终“走在路上”,服务始终“停在嘴上”,实惠没有真正“落在身上”的“末梢堵塞”问题。要让人民群众真正得实惠,就要切实解决好“最后一公里”问题。1、移动互…

介绍这个库:C# Blazor中显示Markdown文件

1 讲目的 前几天上线了一个在线Icon转换工具[1],为了让大家使用放心,改了点代码,在转换下载Icon图标后立即删除临时文件,并在工具下面贴上了工具的开发步骤和代码,大家看这样改是否合适,见Issue 1[2]。这篇…

Linux 信号量 生产者消费者小例题

菜鸟偶遇信号量,擦出火花(只有不熟才会有火花)。于是上网搜资料和看《Unix环境高级编程》实现了几个小例题,高手请勿喷!这几位写得非常好啊: 题目来源: http://www.it165.net/os/html/201312/70…

C/C++语言之通过定义指针函数方式来实现在一个cpp文件里面获取另外一个cpp文件函数的返回值

1、定义函数指针 typedef int (* fun) (); static fun f; 2、代码实现 3、结果 4、总结 我们可以这样使用 在a.h文件里面里面定义函数指针,并且有个传递函数指针的方法 typedef std::string (*fun)();void f2(fun f 1); 然后在a.cpp文件里面实现f2方法 static fun f;…

Dapr 中文社区汇总

Dapr 于 2019 年在微软创建。随着时间的推移,许多社区成员加入该项目并做出贡献,扩展并帮助它在 2021 年 2 月达到了稳定的 1.0 版本。2021年3 月提交给 CNCF,在2021年11月被接受 Dapr 作为 CNCF 的孵化项目。关于CNCF 的每个级别的成熟度要求…

逻辑查询优化

为什么80%的码农都做不了架构师?>>> 1、逻辑查询优化 基于关系代数理论,启发式规则,对查询进行等价重写。 2、查询重写规则 (1)子查询优化 (2)视图重写 (3)等…

CentOS 7 Root用户密码重置 2017-04-02

跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 开机的时候按e (如果正在使用,你可以输入reboot,然后赶紧按回车键,也…

oracle处理考勤时间,拆分考勤时间段的sql语句

最近一直在用mysql数据库做云项目,有段时间没有接触oracle了,昨天有朋友叫我帮忙用oracle处理一个考勤记录的需求,我在考虑如何尽量精简实现上面花了一些时间。于是把这个实现做个总结。 需求如下: rownum为奇数的为进厂时间,偶数的为离场时间第一个奇数行的时间被第…

实现DDD领域驱动设计: Part 2

原文链接: https://dev.to/salah856/implementing-domain-driven-design-part-ii-2i36实现:构建块这是本系列的重要部分。我们将通过示例介绍和解释一些明确的规则。在实现领域驱动设计时,你可以遵循这些规则并应用到你的解决方案中。示例示例将使用GitH…

王彪20162321 2016-2017-2 《程序设计与数据结构》第5周学习总结

王彪 2016-2017-2 《程序设计与数据结构》第5周学习总结 教材学习内容总结 1.关键概念 1.面向对象程序设计的核心是类的定义,它代表了状态和行为的对象。2.变量的作用域依赖于变量声明的位置,作用域决定在哪里可以使用变量。3.对象应该是封装的&#xff…

c语言指针索引数组,C语言数组指针表示法

指针在处理数组时很有用,我们可以用指针指向已有的数组,也可以从堆上分配内存然后把这块内存当做一个数组使用。数组表示法和指针表示法在某种意义上可以互换。不过,它们并不完全相同,后面的“数组和指针的差别”中会详细说明。单…

C# 使用AggregateException 信息

为了得到所有失败任务的异常信息,可以将 Task.WhenAll 返回的结果写到一个Task 变量中。这个任务会一直等到所有任务都结束。否则,仍然可能错过抛出的异常。上一小节中,catch 语句只检索到第一个任务的异常。不过,现在可以访问外部…

Android之内置和外置sdcard路径显示并且写入数据

1、效果图片 2、部分代码 package com.example.sdcardcheck;import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.lang.reflect.Array; import java.lang.…