如何重构

首先,要对程序的一般架构烂熟于心,尤其是MVC,这是基本。还有就是分离存储和网络请求的逻辑。

对于一些常用的控件尽量分离复用,设置开关函数,适当的时候开启,不要的时候关闭,有必要的话还可以 延迟加载

对于一些高频率控件,比如风格统一的按钮,尽量使用 工厂方法 创建,尽量达到牵一发动全身的效果

有效利用常量

1.文件目录结构

  • 公共部分和各功能模块的区分

公共部分和各功能模块应该区分开来,公共模块一般包含公共模型、方法、视图、第三方库。我们写的任何可被其他功能模块调用的组件都应该包含到公共目录下。

  • 资源类型的区分

所有的图片、数据库文件、bundle、plist等等资源文件都应该统一包含到资源目录下

  • MVC/MVVM的区分
    各功能模块都可按MVC来区分,视图模型控制器的区分可以帮助自己和他人更快的定位代码。

2.注释

3.手写代码 or Xib?

  • 对于复杂的、动态生成的界面,建议使用手工编写界面。
  • 对于需要统一风格的按钮或UI控件,建议使用手工用代码来构造。方便之后的修改和复用。
  • 对于需要有继承或组合关系的 UIView 类或 UIViewController 类,建议用代码手工编写界面。
  • 对于那些简单的、静态的、非核心功能界面,可以考虑使用 xib 或 storyboard 来完成。

4.多用类型常量,少用#define

static const NSTimeInterval kAnimationDuration = 0.3;

最新文章

  1. Javascript对象的方法赋值
  2. ca证书校验用户证书
  3. 伸缩盒 Flexible Box(旧)
  4. 小试.NET代码保护软件(代码混淆、加密)
  5. 【JAVA - SSM】之MyBatis查询缓存
  6. Java类与类之间关系总结
  7. Ubantu指令收藏
  8. .Net程序员学用Oracle系列(2):准备测试环境
  9. this的指向问题
  10. activiti源码分析
  11. html页面的CSS、DIV命名规则(仅供参考学习)
  12. ASPCMS_判断语句if标签的使用
  13. Java基础再复习(继承、多态、方法内部类**、HashMap用法**、参数传递**)
  14. [UE4]Set Array Elem
  15. getWidth() 和 getMeasuredWidth()的区别
  16. sql server 与oracle 中字段类型的对应
  17. vue学习六之vuex
  18. 软件架构系列二:Clean架构
  19. KVM虚拟化的安装
  20. DelayQueue实现Java延时任务

热门文章

  1. 单元测试框架之unittest(三)
  2. bcb ole拖拽功能的实现
  3. vue-cli3 clone项目后如何安装插件及依赖模块启动项目
  4. Spring-使用注解开发
  5. mysql init password centos
  6. C/C++系列之复杂引用
  7. Codeforces Round #584 C. Paint the Digits
  8. Activiti--Activity数据库
  9. 解决GitHub下载速度太慢的问题
  10. gdb常用的调试命令