在iOS中创建自己的自定义库?

ret*_*pct 3 model-view-controller xcode objective-c shared-libraries ios

我对编程很新,想要更高效地开始编程.尝试我经常发现自己偏离MVC模型.

我想知道在xcode objc中编码时是否有任何提示或方法来保持代码的有序性?更具体(我知道你们喜欢那样:)我想

  1. 能够编写可以从一个项目带到另一个项目的库或自包含代码
  2. 与其他人共享我的代码作为开源项目
  3. 防止自己编写不遵循正确结构的混乱代码

jus*_*tin 5

  • 使用高警告级别.干净利落地建设.
  • 删除所有静态分析器问题.
  • 写一些单元测试.
  • 保持公共接口小.
  • 指定库的依赖项(例如,最低SDK版本和依赖库).
  • 定期编译多个/支持的OS版本.
  • 学习创建和管理静态库目标.这是您在另一个项目中支持和重用库所需的全部内容(除非您将外部资源拖到图片中,这会变得很麻烦).
  • 没有全球状态(例如单身人士,全球变量).
  • 准确地了解多线程上下文中的支持(更常见的是,并发性应由客户负责).
  • 记录您的公共界面(也许是您的私人界面......).
  • 定义精确且统一的误差模型.
  • 你永远不会有足够的错误检测.
  • 设置非常高的标准 - 构建它们以作为参考实现重用.
  • 尽早确定库的粒度.这些应该非常小而且集中.
  • 考虑为后端/核心库使用C或C++实现(可以剥离这些东西).
  • 确定并指定库的objc类和类别的任何前缀.也使用好的前缀.
  • 最大限度地减少可见的依赖关系(例如,不要#import隐藏大量的框架).
  • 确保在没有客户端需要添加额外#imports的情况下进行编译.
  • 不要依赖客户将东西放在特定的地方,或者资源具有特定的名称.
  • 对内存消耗和执行成本要非常保守.
  • 没有泄漏.
  • 没有僵尸.
  • 主线程上没有慢速阻塞操作.
  • 在经过充分测试之前不要发布内容,并且已经稳定了一段时间.错误打破了客户的代码,如果它不断破坏他们的程序,他们就不太可能重用你的库.
  • 学习,使用和学习好的图书馆.
  • 问一个人(理想情况下,谁比你更有经验)来检查你的代码.
  • 在项目中的任何适当位置使用/运行库.
  • 在添加功能之前修复错误.

不要让那吓到你 - 这真的很有趣,你可以在这个过程中学到很多东西.