简洁代码--边界

代码整洁之道笔记

[TOC]

边界

即自己的代码和第三方的代码的接口适配

使用第三方代码 ①封装

  • 接口提供者和使用者间的区别:
    接口提供者追求普适性,能在多个工作环境中工作而吸引用户。
    接口使用者追求满足自己的特定需求。

如对于Map使用的不同方式:

一:
Map<Sensor> sensor = new HashMap<Sensor>();
Sensor s = sensor.get(sensorId);

二:
public class Sensors {
    private Map sensors = new HashMap();

    public Sensor getById(String id) {
        return (Sensor)sensors.get(id);
    }
}

代码一的Map提供了太多的可操作空间,不受限制地传递Map实体。
代码二将接口隐藏,避免了误用。

浏览和学习边界

编写测试来理解和学习第三方代码

  • 测试确保代码能够按照预期的运行
  • 当第三放代码发布新版本时,可以通过运行测试来确保程序的行为仍旧达到预期
  • 边界测试总能减轻代码迁移的压力

使用尚不存在的代码 ②适配器模式

开发中可能遇到需要调用另一个模块的接口,可是该模块尚未发布。

  • 从距离未知代码最远处进行开发,逐步了解到自己需要的是什么样的接口。
  • 为了不受阻碍,定义自己使用的接口。 这就是我们希望在未知代码处使用的接口。
  • 当别人的代码发布时,需要改动的是自己定义的接口和对方的接口间增加(修改)适配器。

整洁的边界

对于边界上的代码 需要进行清晰的分割和定义了期望的测试。

  • 避免自己的代码过多地了解第三方的特定信息。 依靠不可靠的他人代码不如依靠自己。
  • 对于引用第三方的接口,可以使用适配器的模式,也可以通过封装,从而减少修改时的改动。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,386评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,205评论 4 61
  • “忘不了故乡年年梨花放,染白了山岗我的小村庄,妈妈坐在梨树下,纺车嗡嗡响,我爬上梨树枝,闻那梨花香。摇摇洁白的树枝...
    秋水长天白银阅读 5,071评论 1 5
  • 我想学什么,怎么学,怎样计划学习
    粱柯一梦知逍遥阅读 773评论 0 0