代码整洁

gxz_sw gxz_sw     2022-08-26     523

关键词:

整洁的代码能够提高项目的可读性、可维护性、可扩展性,这二天大致看了一本书代码整洁之道,粗略的看了一遍,总结了一下,写下来作为以后做项目的时候的参考。

代码的整洁简单的总结二种分类:

1.命名

?有意义命名

说明:变量、函数、类的命名应该答复了所有的大问题,应该告诉你他为什么会存在,他做什么事情,应该怎么用。如果命名需要注释来补充,就不是好的命名。长名称胜于短名称。

?变量前缀尽量不要有

 

说明:人们读代码的时候会无视前缀(或后缀),只看名称中有意义的部分。例如:m_name 这个名称m前缀无任何意义,单价看到也不知道什么意思。

?类名尽量用名词,而方法名要用动词。

?用命名常量替代魔术数字

 

2.类和函数

. 函数尽量短小、类尽量少、函数尽量少。

  函数20行封顶最佳

 

函数只做一件事情

下面我们看一下二个代码例子来做个比较

例1:

Public  Money calculatePay(Employee e){
    Switch(e.type){
        Case COMMISSIONED
            Return calculateCommissionedpay(e);
        Case Hourly:
            Return calculateHourlyPay(e);
    }
}

 

 

例2:

Public abstract class Employee{
        Public abstract Boolean isPayday();
        Public abstract Money calculatePay();
        Public abstract void deliverPay(Money pay);
}

Public interface EmployeeFactory{
    Public Employee makeEmployee(EmployeeRecord r);
}

Public class EmployeeFactoryImpl implements mployeeFactory{
    Public Employee makeEmployee(EmployeeRecord r){
        Switch(r.type){
        Case COMMISSIONED
            Return  new CommissionedEmployee(r);
        Case Hourly:
            Return new HourlyEmployee(r);

            }
      }
}

 

 

 例2显然比例1更好,

例1:一个函数中做了二件事情,可扩展性不好。如果e.type增加了一种雇员类型的话,是不是需要进行修改代码,增加一个计算方法进行计算支付金额。

例2:通过该函数,生成一个雇员,在通过雇员对象来得到应该付给该雇员金额,如果需要增加其他类型雇员,那么只用扩展程序,扩展一个新类型的雇员继承Employee就可以了, 面向对象编程对修改关闭对扩展开发。

 

. 函数参数数量尽量少

描述:最理想的是零参数,其次是一个参数,再次是二个,尽量避免三个以上参数。

 

. 无副作用

函数承诺只做一件事情,但是还是会做其他隐藏起来的事情,这样会导致古怪的时序性耦合及顺序依赖。

例如:在检查用户有效性的函数中存在清空session函数的调用。当某个误信函数名称的调用者调用该函数就有清空session的风险。这就造成了耦合性,也就是说次函数只有在特定的情况下才能调用。

   如果非要存在这种情况就要在函数名中描述出来,避免时序性错误。

 

不写重复代码

有个算法出现4次重复,这4次重复与其他代码混淆在一起,而且完全不一样。这样的重复会导致问题,造成代码的臃肿,而且算法改变需要修改4处代码。

 

常量vs枚举

尽量用枚举,因为它们隶属于有名称的枚举。

 

整洁之道如何写出更整洁的代码(上)

 如何写出更整洁的代码    代码整洁之道不是银弹,不会立竿见影的带来收益。  没有任何犀利的武功招式,只有一些我个人异常推崇的代码整洁之道的内功心法。它不会直接有效的提高你写代码的能力与速度,... 查看详情

前端阅读——《代码整洁之道》摘记之整洁代码命名函数注释

 这本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。(作者认为书可以有另一个名字:《如何在意代码》)读这本书,促使我思考代码中何谓正确,... 查看详情

代码整洁思考

  程序不光实现功能,还要保证代码质量。程序如何保证代码质量,保证可读性、可维护性、复用性及性能。确保代码整洁干净需以下几个方面  1、变量    2、注释  3、函数  4、错误处理  5、代码边... 查看详情

代码整洁

整洁的代码能够提高项目的可读性、可维护性、可扩展性,这二天大致看了一本书代码整洁之道,粗略的看了一遍,总结了一下,写下来作为以后做项目的时候的参考。代码的整洁简单的总结二种分类:1.命名?有意义命名说明:... 查看详情

代码整洁之道读书笔记

代码整洁之道 前言如何用功 阅读大量代码 找优点和缺点第一章整洁代码不要留到以后,稍后等于永不烂代码影响生产力代码整洁性不但有关效率,还有关生存好代码 C++之父  尽量减少依赖关系,便于维护... 查看详情

typescript代码整洁之道

干净整洁的代码,不但质量更可靠,也为后期升级、维护打下了良好的基础。那么,整洁代码的衡量标准是什么?本文将RobertC.Martin的CleanCode思想融入到TypeScript,一起探讨研究代码整洁之道。 WTFs/Minute 1.命名的艺术计算... 查看详情

杂谈代码整洁(代码片段)

原文:杂谈代码整洁作者:russheProgramsaremeanttobereadbyhumansandonlyincidentallyforcomputerstoexecute.——DonaldKnuth“代码始终是写给人看的,只是恰好能被计算机执行。”  什么是好的代码?局部干净,核心逻辑简洁。... 查看详情

如何保持代码整洁有序? [关闭]

】如何保持代码整洁有序?[关闭]【英文标题】:Howtokeepcodecleanandorganized?[closed]【发布时间】:2015-06-2607:51:35【问题描述】:保持代码整洁有序对于未来的维护很重要,特别是对于程序员循环(或被解雇,希望不会)的公司。我... 查看详情

代码整洁之道源码分享(代码片段)

最近学习代码整洁之道,在练习的过程一直想找到章节中的源码案例,直接进行练习,无奈没有找到,只能自己耗时耗力的从头开始敲,总觉的讲解代码的书籍,不提供源码是可耻的,哈哈。分享链接为代码整洁之道书中部分章... 查看详情

scss一个整洁的计算(代码片段)

查看详情

读《代码整洁之道》有感

本周我开始阅读RobertC.Martin所著的《代码整洁之道》一书,希望能从中收获高效编写代码的诀窍,因为我自认为我的代码有时候比较糟糕,不太容易维护。一方面,是我没有养成良好的编程习惯;另一方面,我不太清楚什么才是... 查看详情

《代码整洁之道》精读与演绎之五整洁类的书写准则

本系列文章由@浅墨_毛星云 出品,转载请注明出处。   文章链接: http://blog.csdn.net/poem_qianmo/article/details/52344732 作者:毛星云(浅墨)   微博:http://weibo.com/u/1723155442 这篇文章将与大家一起聊一聊,书... 查看详情

《代码整洁之道》读书笔记

第一章整洁代码  读完,个人觉得第一章的关键点在于让读者追求卓越,不仅仅满足于功能的实现,更要培养代码整洁的思维。所以对待你的代码就像去雕琢艺术品一样,不要把它当成垃圾,认真去雕琢每一个细节,另外,文... 查看详情

代码整洁之道

文章目录代码整洁之道定义变量名字的时候常用的单词有意义的命名怎样写简洁的,别人一眼可以看的懂的方法方法参数越少越好注释格式别给方法返回null值我们该提炼方法中的变量还是不提炼方法中的变量?代码整洁之道定... 查看详情

代码整洁备忘

无聊在看《代码整洁之道》,找到了一些自己以前没有注意的地方,在这里记录下来,备忘一下。目前看完了第九章。 1.重复很多的代码是不好的,需要仔细考虑去掉无用的重复。2.变量,函数,类等的命名要足够精确,精... 查看详情

r整洁的混合格式日期字段(代码片段)

查看详情

代码整洁之道pdf下载

网盘下载地址:代码整洁之道PDF下载–易分享电子书PDF资源网 作者:  [美]RobertC·Martin出版社: 人民邮电出版社原作名: CleanCode:AHandbookofAgileSoftwareCraftsmanship译者: 韩磊出版年: 2010-1-1页数: 388定... 查看详情

杂谈代码整洁(代码片段)

...bereadbyhumansandonlyincidentallyforcomputerstoexecute.——DonaldKnuth“代码始终是写给人看的,只是恰好能被计算机执行。”什么是好的代码?局部干净,核心逻辑简洁。本文是一篇总结笔记,是以往工作学习中关于如何实现... 查看详情