- 首先,考虑你要提供给开发者什么帮助
- 尽可能小的访问权限
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
网友评论