代码的坏味道六

该博客聚焦代码重构,介绍了《重构 改善既有代码的设计》第三章中提到的代码坏味道,如内幕交易、过大的类等。同时还给出书写注释的注意事项,包括拒绝代码直译、屏蔽代码,采用空行注释等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重构 改善既有代码的设计之第三章 代码的坏味道

3.19、内幕交易(Insider Trading)

	提倡模块隔离,否则会造成不必要的耦合关系

	对应重构手法:搬移函数、搬移字段、隐藏委托关系、以委托取代子类、以委托取代超类

3.20、过大的类(Large Class)

	顾名思义,单个类做太多的事情,承担了太多的职责,违背了单一职责的原则

	对应重构手法:提炼类、提炼超类、以子类取代类型码

3.21、异曲同工的类(Alternative Classes with Different Interfaces)

	使用类对象,接口一致、协议一致的前提下,可以实现替换

	对应重构手法:改变函数声明、搬移函数、提炼超类

3.22、纯数据类(Data Class)

	不会说话的数据容器,python语言中也提供了这样一种特性,其实也是一种语法糖,简化了__init__,可以实时修改实例的属性值
from dataclasses import dataclass

@dataclass
class IdentifyInfo:
    # 征收项目名称
    levy_item_name: str
    # 纳税期限
    period: str
    # 征收品目名称
    item_details_name: [] = None
    # 是否申报
    if_declared: bool = False
    # 应纳税额
    amount: str = None
    # 是否缴税
    if_charge: bool = False
    # 所属期始
    ssqs: str = None
    # 所属期止
    ssqz: str = None

    def __repr__(self):
        return " ".join((self.levy_item_name, self.period))

3.23、被拒绝的遗赠(Refused Bequest)

	复用超类的行为(实现),却又不愿意支持超类的接口,如此,摒弃继承体系,使用委托划清界限

	对应重构手法:以委托取代子类、以委托取代超类

3.24、注释(Comments)

	利用注释,查看存在注释的地方,提炼函数、改变函数声明,从而去除不必要的注释说明,
	这里补充一句,即使函数、变量达到了自说明的效果,对于阅读者而言,还是更喜欢阅读接近自然语言的东西
	对应重构手法:提炼函数、改变函数声明

书写注释的注意事项:
1、拒绝代码的直译、提倡指引性注释
2、拒绝屏蔽代码
3、空行注释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值