3

我对编程还很陌生,想更有效地开始编程。尽我所能尝试我经常发现自己偏离了 MVC 模型。

我想知道在 xcode objc 中编码时是否有任何提示或方法可以保持代码井井有条?更具体地说(我知道你们喜欢这样 :) 我想

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

2 回答 2

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

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

于 2012-09-10T06:58:15.330 回答
4

您可以通过多种方式重用代码:

  • 将代码存储在一个公共目录中,并将该目录包含在您的项目中。简单,但可能存在版本控制问题。
  • 创建一个单独的项目,该项目构建一个静态 iOS 库,然后创建一个框架。设置更复杂,因为它涉及构建框架目录结构的脚本。但易于在其他项目中使用,并且可以处理版本控制和设备/模拟器组合库。
  • 创建一个单独的项目,该项目构建一个静态 iOS 库,然后将其作为子项目包含在其他项目中。避免构建框架,结果可以更加优化。

这是基本的 3,当然有很多关于这些的变化以及你如何处理它们。你决定做的很多事情都取决于你要为谁做这件事。例如,我喜欢我自己的代码的子项目,但对于我想为其他人提供的代码,我认为框架更好。即使他们有更多的工作要做。另外,我可以用 api 文档的文档集将它们包装起来,并将整个文件作为 DMG 上传到 github 供其他人下载。

于 2012-09-10T06:19:22.943 回答