正在加载图片...
界面和排错 界面( nterface) 造墙之前,我必须设法弄 该把什么放在墙里,什么放在墙外 071121 最需要防御的又是什么 确实有些东西不喜欢墙 总希望它倒下来 obert Frost,《修墙》 什么是界面( Interface)? 程序界面 界面就是接口( nterface) 团队合作 向调用者隐藏实现细节 程序界面 ·课程项目 类和函数的接口 公司项目 自己用的小程序中无关紧要 开源项日 在提供给别人用的时候非常有意义的 用户界面 清晰性、规范性、统一性、熟悉性和 目标:让别的程序员无障碍地、安全地使 用你的代码。 鲁棒性 在遇到坏的输入时本身不会受到损害 类和函数的接口 错误处理 类和函数的设计原则 类和函数的设计原则(1/10) 单一功能原则( Single Responsibility Principle) 开放封闭原则( Open/Close Princip 单一功能原则 Single Responsibility 最小惊讶原理( Least Surprise Principle) 完整且最小化( Complete and Minimal 处理的事情太多的类是脆弱的。 尽量使用 const 比如,一个全文索引类 FullTextsearch,既要 避免公共成员变量 读取数据、分词,又要建立倒排索引并写入磁 尽量使用传址 盘,还要读取磁盘文件并检索,太大,太臃肿 如果用不到编译器缺省的成员函数,就明确的禁用它 分割命名空间 写一个好的头文件 一个类应该只提供单一的功能 ·只有一个可能引起修改类代码的原因 ·拆分与合并界面和排错 王栋 2007.11.21 界面(Interface) 在造墙之前,我必须设法弄清 该把什么放在墙里,什么放在墙外, 最需要防御的又是什么。 确实有些东西不喜欢墙, 总希望它倒下来。 — Robert Frost,《修墙》 什么是界面(Interface) ? ¾ 界面就是接口(Interface) z 向调用者隐藏实现细节 ¾ 程序界面 z 类和函数的接口 z 自己用的小程序中无关紧要 z 在提供给别人用的时候非常有意义的 ¾ 用户界面 z 风格:简单性、清晰性、规范性、统一性、熟悉性和 严谨性 z 鲁棒性:保证在遇到坏的输入时本身不会受到损害 程序界面 ¾ 团队合作 z 课程项目 z 公司项目 z 开源项目 ¾ 目标:让别的程序员无障碍地、安全地使 用你的代码。 z 类和函数的接口 z 错误处理 类和函数的设计原则 ¾ 单一功能原则(Single Responsibility Principle) ¾ 开放/封闭原则(Open/Close Principle) ¾ 最小惊讶原理(Least Surprise Principle) ¾ 完整且最小化(Complete and Minimal) ¾ 尽量使用const ¾ 避免公共成员变量 ¾ 尽量使用传址 ¾ 如果用不到编译器缺省的成员函数,就明确的禁用它 ¾ 分割命名空间 ¾ 写一个好的头文件 类和函数的设计原则(1/10) ¾ 单一功能原则(Single Responsibility Principle) z 处理的事情太多的类是脆弱的。 z 比如,一个全文索引类FullTextSearch,既要 读取数据、分词,又要建立倒排索引并写入磁 盘,还要读取磁盘文件并检索,太大,太臃肿 了。 z 一个类应该只提供单一的功能 • 只有一个可能引起修改类代码的原因 • 拆分与合并
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有