ios 之闲谈项目搭建结构以及代码规范

最近公司换了个产品经理,该公司以产品线为主,无项目经理,无疑便是产品当道,所谓新官上任三把火,推翻之前的迭代了3次的项目,故辛辛苦苦大半年,一夜又回到了解放前,用粗俗的话来说就是在老板面前会拍马屁,而且还能拍的一套一套的,马屁成精的他成为boss身边的红人,那嘚瑟的呦 !!!谁怼了他,那就不得了!实在是无力再吐槽了。
而作为程序猿的我们,代码质量以及效率才是我们该追求的,不多说了,上demo才是硬道理!!!

IMG_0440.JPG

<一>项目搭建

首先先看

12345.gif

AppDelegate

放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来。

Base

工程主体类, 日常大部分开发代码均在这里,又细分了好多次级目录。
Base( 基类 (整个框架的基类))包括:

  • ControllerView
    • BaseNavViewController(通过appearance统一设置nav的相关设置)
    • BaseTabBarViewController(设置TabBarVC)
    • BaseUIViewController(主要分三块需子类重写:setupNav ,loadDataFromNetwork,setupUI)
    • BaseWebViewController(加载网页)
    • BaseTableViewController(设置tableView和刷新)
  • Model公共BaseModel (将第三方的进行封装,子类继承于BaseModel)
  • Views公共View (封装的一些常用的View)

Classes

以TabBar名字命名(一般是大概在3,4,5个左右,主要看产品需求),这里只拿其中一例作为说明。

例如其中首页部分:


Snip20170720_18.png

123456.gif

补充
作为一个程序猿不管是刚入门也好,是大神也罢,代码规范是一定有的,并让这种规范成为你的习惯,这样有利于其他同事查看,也方便自己看,别自己下次看的时候,自己都看不懂了,那就😓了。

Public

主要放一些通用的东西,包括公用的cell和控制器、数据库等等

Expand

  • Category(UIKit和UI)
  • Macros(所有的接口(ConstUrl)、枚举以及通知名称(Const)、配置友盟账号、主题颜色、打印、环境(开发、测试、预发布、正式) Macros)
  • Network(网络请求包括配置公共参数)
  • Tools(MD5加密等等)

SDKFile

第三方的类库/SDK(Wechatpay/Alipay/UMSocial等等)

Vender

第三方的类(Reachability/FLAnimatedImage/SDCycleScrollView等等)

Resourse

主要包括(Image和plist文件)

Supporting Files

放XX.pch文件

补充
之所以把所有的接口写都在ConstUrl中,是因为之前吃过这么一次亏,后台之前很乱,之前都是以.方式进行拼接,后面改成以/的方式进行拼接。
例如

之前
doindex.getIndexlbt
之后
index/getIndexlbt

<二>代码规范

  • 命名规范(驼峰式)

  • Url统一命名规范
    ConstUrl.h

UIKIT_EXTERN NSString  * const kGetActivityInfoUrl;

ConstUrl.m

NSString  * const kGetActivityInfoUrl = @"activity/getActivityInfo";
  • 枚举和通知统一在Const中写
    Const.h
/********************通知**************/
//登陆成功
UIKIT_EXTERN NSString  * const kLoginSuccessNotification;

/*----------------------------------枚举----------------------------------*/
//国家 0中国  1美国 2泰国  3越南
typedef NS_ENUM(NSUInteger,LYCountryType){
    LYCountryTypeChina = 0, //中国
    LYCountryTypeUSA = 1, //美国
    LYCountryTypeThailand = 2, //泰国
    LYCountryTypeVietnam = 3, //越南
    
    
};

Const.m

/********************通知**************/
//登陆成功
NSString  * const kLoginSuccessNotification = @"kLoginSuccessNotification";

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 代码格式 使用空格而不是制表符 Tab 不要在工程里使用 Tab 键,使用空格来进行缩进。在 Xcode > Pr...
    small_Sun阅读 1,396评论 1 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,500评论 25 709
  • iOS编程规范0规范 0.1前言 为􏰀高产品代码质量,指导广大软件开发人员编写出简洁、可维护、可靠、可 测试、高效...
    iOS行者阅读 4,513评论 21 35
  • 【第一人称:我】日语企鹅学习裙 533367846 私(わたし) 发音:wa ta shi 仆(ぼく)[年幼男性用...
    dc3c12c58779阅读 1,343评论 0 0
  • 记得楼道里初次相遇 你乌黑的秀发垂到腰肌 轻盈的脚步穿越人群 微风摆弄你的秀发 它轻轻地在我脸上飘动 扰乱我的春心...
    莲花君子阅读 250评论 4 3