当你写一个框架时, 需要注意:

  • 首先,考虑你要提供给开发者什么帮助
  • 尽可能小的访问权限
public 必须要公开的方法
private 私有方法

而不是所有的方法全部public

  • 注意方法以及参数的命名
(返回值) 明确的方法名称, 驼峰, 首字母小写 (明确的参数描述)
// 正确
- (UIImage *) photoAt: (NSIndexPath *) photoPosition;
// 错误
- (UIImage *) photo: (NSIndexPath *) index;
  • 易懂的属性方法名称。
    假如你现在需要写一个展示昵称的属性,你会怎么写 ? displayName 还是 screenName ?

  • 尝试为每一个方法写详细的描述,以及需要注意的事项。 当然,如果代码的可读性很高可以忽略(但这几乎很难做到)。

 /*!
  * @see @param @discussion @author @abstract ....
  */
  • 主动边写测试环节。
@interface FrameWorkTest : XCTestCase
  • 注意命名冲突的问题,因为你的框架有可能跟别人的冲突。方案:添加前缀,就像jsq_这样。

  • 资源打包为Bundle

NSBundle * bundle = [NSBundle bundleForClass:[self class]];
[bundle pathForResource:@"logo" ofType:@"png"];
  • 使用Github、Gitcafe等作为项目的仓库托管。
  • 使用cocoapods、carthage、packageManager等为集成提供方便。
  • 版本管理,版本日志记录。
  • 注意版本兼容。
  • 注意你的框架最低支持的系统版本、对语言的支持。
  • 选择持续集成,Travis CI,Circle CI等。
  • 自动发布流程,之前我提到的Fastlane。

简单的说,包括:文档、注释、测试、代码质量、更新日志、issue、便捷使用。

阅读自: 喵神-如何打造一个让人愉悦的框架

copyRight@Dylan 2015-3-22

你可能感兴趣的:(当你写一个框架时, 需要注意:)