阅读札记:《代码之道》clean code chapter 2 读书笔记

这一章作者从命名开始讲起,

首先既然要命名自然就要名副其实。当你为你的函数取名为getThem时,你能指望别人从这个名称中获得什么信息吗?

其次,在命名的过程中,应该尽量避免添加类型变量字符串(即List,String等等),比如当你为包含账号的容器取名为accountList时,最好的是将其改为accountGroup或者是bunchOfAccounts都会比accountList好。

第三,作者认为要为变量做有意义的区分,如果你将你的两个变量分别命名为a1和a2,那么谁能分辨出这两个变量之间有什么区别呢?用作者的话来说就是,如果作为一个程序员,你“只是为满足编译器或解释器的需要而写代码,那么你就会制造麻烦”。

其次,你要为变量命那些你能读得出来的名,打个比方,一家公司写了一个生成日期的函数,并将其命名为genymghms(???黑人问号脸),这也太难懂了一点吧。

第五,虽然在代码中我们一般很少用到单个字母名称和数字常量,但正是因为如此,要从那么多代码中把它们找到并修改就变成了非常困难的一件事情,所以我们可以用一些“可搜索的名称”去代替它们,比如MAX_CLASSES_PER_STUDENT就比7好找多了,正所谓“长名称胜于短名称,搜得到的名称胜于用自造编码代写就的名称”。

接着就是我们是不是喜欢在一些变量名面前加一些前缀,比如m,像是JS中默认会在类的内部函数名称前加一个“_”表示是类自己内部的函数,不作为对象的函数提供给其他类使用。针对这种现象的解决办法就是应当把类和函数做得足够小,消除对成员前缀的需要

第七,当我们重载构造器的时候,使用描述了参数的静态工厂方法名是更好的做法。即(添加一段代码)。

Complex fulcrumPoint = Complex.FromRealNumber(23.0);
通常好于
Complex fulcrumPoint = new Complex(23.0);

最后的最后,作者认为每个职能/概念就对应一个单词就好了,比如代码中如果既存在Manager又存在Controller就会让人感觉困惑。要记住的是“一以贯之的命名简直就是天降福音”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值