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