当前位置:首页 > 科普知识 > 重构 > 列表
重构 共有 85 个词条内容

6.2 魔法数

    症状●代码体中出现了常量(除了空串;还包括0、1,可能还有2;还有其他一些基本情况)。原因有人可能需要某个值,因此就将这样一个值置于代码中。就其本身而言,也许这并不算很糟糕,但是通常还存在另外一些由该值派生或依赖于它的...[继续阅读]

重构

6.3 重复性代码

    症状●容易形式(easyform):两个代码段看上去几乎相同。●困难形式(hardform):两个代码段都拥有几乎相同的作用(无论在哪个概念层次上)。原因由于程序员们通常独立地开发系统的不同部分,因此就会出现一些重复,而他们并没有意识到会...[继续阅读]

重构

6.4 接口不同的相似类

    症状●两个类看上去完成同样的工作,但却使用了不同的方法名。原因人们会创建类似的代码来处理类似的情况,而未曾意识到还存在着与之类似的代码。采取的措施协调各个类,使之取得一致,从而可以去除其中某个类。1.采用重命名...[继续阅读]

重构

6.5 实战练习

    习题13两个库(有难度)。集成由不同来源得到的两个模块。每个模块有其自己的日志记录方法。系统A:packagecom.fubar.log;publicfinalclassLog{publicintINFO=1,WARN=2,ERROR=3,FATAL=4;publicstaticvoidsetLog(Filef){…}publicstaticvoidlog(intlevel,Stringmsg){…}}代码中出...[继续阅读]

重构

7.1 所涉及的坏味道

    ●Null检查(NullCheck)●复杂的布尔表达式(ComplicatedBooleanExpression)●特殊用例(SpecialCase)●模拟继承(Switch语句)[SimulatedInheritance(SwitchStatement)]...[继续阅读]

重构

7.2 Null检查

    症状●如下代码反复出现:if(xxx==null)...原因有人认为:“可以将null用作为默认值”。基于这种想法,可以避免初始化某些字段的麻烦,或者不必考虑创建某些对象,也有可能是对某种意料之外的情况所做出的应对策略。引入null检查是为了...[继续阅读]

重构

7.3 复杂的布尔表达式

    症状●代码中存在复杂的条件,其中涉及到and、or和not。原因代码可能从一开始就很复杂,也可能在开发过程中加入了额外的条件。采取的措施●应用DeMorgan法则:!(a&&b)=>(!a)||(!b)和!(a||b)=>(!a)&&(!b)你会发现,如果将某些变量...[继续阅读]

重构

7.4 特殊用例

    症状●复杂的if语句●在做工作之前检查某些特定的值(尤其是与常量或枚举变量进行比较)原因有人认为需要一种特殊用例。采取的措施●如果条件式取代了多态,则采用将条件式替换为多态(ReplaceConditionalwithPolymorphism)。●如果if和...[继续阅读]

重构

7.5 模拟继承 (Switch语句)

    症状●代码使用了一个switch语句(尤其是对一个类型字段)。●代码在某一行上存在多个if语句(特别是对同一个值进行比较时)。●代码使用了instanceof(或其等价形式)来确定所处理的是何种类型。原因之所以会出现这种坏味道,通常是由...[继续阅读]

重构

中场休息I3.1 模式

    以下所列的是Gamma的《设计模式》中描述的一组设计模式。若要对这些模式加以发展,可以采用哪些重构技术?创建型模式(CreationalPatterns)__抽象工厂模式(AbstractFactory)__生成器模式(Builder)__工厂方法模式(FactoryMethod)__原型模式(Prototype)_...[继续阅读]

重构
科普知识
心理健康 优生优育 休闲旅游 健身美容 饮食健康 人与自然 地球家园 海洋技术 科海拾贝 科学之迷 科技前沿 科技史话 科幻未来 神话传说 童话故事 致富指南 农用物资 生物技术 畜牧兽医 园林花卉 特产养殖 营养早餐 减肥晚餐 晚餐食谱 营养晚餐 减肥中餐 中餐文化 中餐菜谱 中餐营养 健康早餐 减肥早餐 早餐食谱 晚餐禁忌 宝石鉴定 安全生产 安装钳工 钣金技术 宝石观察 焙烤工业 变性淀粉 插花技能 车工技术 道路工程 低压电器 电气工程 电气设备 电网工程 电源技术 电站工程 淀粉科学 调味配方 发电节能 防水材料 飞机飞行 服装生产 钢铁材料 工程建设 工业工程 公路工程 管道工程 罐头工业 国际组织 国家电网 华北电网 火电工程 货运物流 机床设计 机电工程 机修钳工 基本资料 家用电器 建设工程 节约用电 金银技术 金属材料 连续铸钢 轮机工程 奶牛养殖 农村电工 配电技术 皮革工业 啤酒工业 苹果产业 钳工简明 青工车工 青年审美 肉类工业 入侵检测 食品科学 世界修船 兽医兽药 水下工程 税收制度 通信设备 统计公文 土木工程 维修电工 味精工业 文物鉴赏 物业电工 铣工计算 线损管理 鞋楦设计 烟草工业 盐业产品 冶金产品 液压技术 印刷科技 用电管理 油墨技术 轧钢技术 粘接技术 照明设计 制浆造纸 土元养殖 兔场疾病 外国美术