1、所谓软件设计,就是“让软件做出你期望它做的事情”的步骤。首先是构想,考虑对外暴露的接口,然后实现。

2、客户没有正确使用自己提供的接口,自己也要负担一部分责任,思考自己的接口是不是简单明了,容易理解。

3、对于多个形参的接口,最好表明每个形参的类型和有效范围。

4、尽量限制哪些事能做,哪些事不能做,尽早暴露错误。如果没有好的理由,与内置类型保持一致。

5、减少用户出错的可能性,考虑,在堆上获取的资源,期望用户使用资源管理类对它封装,但是用户可能忘记。那么,我就对资源封装,并返回给用户一个资源管理对象。对于引用次数为0,执行其它操作的资源管理类,应该在内部指定删除器。

转载于:https://www.cnblogs.com/nzbbody/p/3527514.html

【18】让接口容易被正确使用,不易被误用相关推荐

  1. 读书笔记 effective c++ Item 18 使接口容易被正确使用,不容易被误用

    1. 什么样的接口才是好的接口 C++中充斥着接口:函数接口,类接口,模板接口.每个接口都是客户同你的代码进行交互的一种方法.假设你正在面对的是一些"讲道理"的人员,这些客户尝试把 ...

  2. effectivec++条款18,让接口容易被正确使用,不宜被吴勇

    test* create_test();shared_ptr<test> create_test();//下面的接口比上面的接口要好 auto_ptr<test> create ...

  3. golang 切片 接口_Go 经典入门系列 18:接口(一)

    点击上方蓝色"Go语言中文网"关注,每天一起学 Go 欢迎来到 Golang 系列教程[1]的第 18 个教程.接口共有两个教程,这是我们接口的第一个教程. 什么是接口? 在面向对 ...

  4. java接口的叙述正确的_下列关于接口的描述中,正确的是:

    [填空题]抽象类______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义._______方法是不能当前类的子类从新定义的方法. [填空题]如果子类中的某个方法的名字 ...

  5. GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势

    作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂 ???? ...

  6. 实战总结!18种接口优化方案的总结

    前言 之前工作中,遇到一个504超时问题.原因是因为接口耗时过长,超过nginx配置的10秒.然后 真枪实弹搞了一次接口性能优化,最后接口从11.3s降为170ms.本文将跟小伙伴们分享接口优化的一些 ...

  7. JavaSE学习18(接口组成更新,方法引用)

    接口组成更新 1.1 接口组成更新概述 接口的组成常量: public static final 可省略抽象方法: public abstract 可省略 java8之后 加入了默认方法:静态方法: ...

  8. Effective C++ 学习笔记

    基于此文档 http://wenku.baidu.com/view/ef989106e87101f69e3195db.html 条款13:以对象管理资源 目标:为确保资源被释放 1.获得资源后立即放进 ...

  9. 《Effective C++》读书笔记(第一部分)

    有人说C++程序员可以分为两类,读过Effective C++的和没读过的.世界顶级C++大师Scott Meyers 成名之作的第三版的确当得起这样的评价. 本书并没有你告诉什么是C++语言,怎样使 ...

最新文章

  1. OpenSessionInView模式
  2. 小学生学python到底能干什么-小学生都学Python了,你还没用万矿?
  3. struts1.2文件上传
  4. Oozie和Azkaban的技术选型和对比
  5. 如何用U盘制作windows PE多功能启动盘教程
  6. Linux下getopt()函数的简单使用
  7. 台式电脑怎么连接手机热点_电脑搜不到手机热点 为什么搜不到手机热点
  8. Oracle数据库管理员职责(二)
  9. 增删改查java代码_程序员:听说你正在为天天写增删改查代码而烦恼
  10. vs调用css写的c语言程序,c语言文件读写实例
  11. 程序员最常说的那些口头禅
  12. 几种java反编译软件的安装以及使用总结
  13. YOLOv2论文理解
  14. 了解和掌握Python的函数(文末附python学习资料)
  15. 如何使用ESD二极管,设计运算放大器电压保护?
  16. (2)二叉树由后序(LRD)和中序(LDR)得到前序(DLR)
  17. linux系统安装nacos(减少踩坑)并设置开机自动
  18. MySql 函数大全
  19. Github TOC 生成工具
  20. windows 快速搭建EMQ 教程

热门文章

  1. Docker Centos 7.X部署Mysql并修改编码
  2. Linux C 的风格
  3. mysql慢查询单位_MySQL慢查询
  4. scanf的一些小细节
  5. 岛屿数量—leetcode200
  6. 关于安卓Apk反编译 再编译回来不能正常安装的问题
  7. Kali 装机之后的各种操作
  8. ashx 跨域_ASP.NET通用HTTP处理程序(ashx的),支持JSONP
  9. Ubantu16.04安装显卡驱动遇到的坑
  10. mac 设计表结构_模具设计丨问题点检表、全套标准件结构分布,值得转发