版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、起名字命名规则对维护代码非常重要.Objective-C方法的名称通常很长,但也有助于使许多注释变得毫无意义。本文推荐了高成本方法,也是Objective-C社区的标准。驼峰法分为小驼峰法和大驼峰法。小驼峰法:除第一个单词外,将其他单词的第一个字母大写。大的行星方法与小的行星方法相比,大的行星方法使用第一个单词的第一个字母也很大。1.基本原则1.1鲜明度清晰简洁是最好的,但简洁不如清晰重要。在总结中不要使用单词的速算,除了很普通的速算外,尽量用单词的全称。API的名称不能有歧义。通过查看你的API,你可以知道你以什么方式做了什么。不要让人们好奇1.2一致性做某件事的时候,通常叫这个名字(例如t
2、ag,setStringValue),那么这个名字也叫这个名字。如果不确定如何命名,可以参考一些常用的名称:Method Arguments2.指定类名称类名(类别和协议名称除外)应使用以大写字母开头的大成本命名方法。类名应至少包含一个名词,用于说明此类(或类中的对象)所做的工作。建议您不要在复盖层代码中使用前缀类名称。每个类都有相同的前缀,因此不能提高可读性。但是,如果在多个应用程序之间编写共享代码,则允许使用前缀,这是推荐的方法(例如MBAPhotoBrowser)。范例1: interfacemagebrowsview : ui viewend示例2:(带有前缀MBA) interfac
3、emaphotobrowser : ui viewend3.命名类别扩展类名id(ui image view HP web)示例:要创建用于网络请求图的基于UIImageView的类别,必须创建类别将其放入名为UIImageView HPWeb.h的文件中。UIImageView是要扩展的类名,HP是专用标签知识,web是扩展功能。类方法需要使用前缀(例如hp_myCategoryMethodOnAString)以避免Objective-。c代码在单个空间中崩溃。代码共享或不同的地址空间(address-Space),无需遵守方法命名约定。类别HPWeb标题文件UIImageView HPWe
4、b.h为: interfaceuiimageview(HP web)-(void)HP _ setmagewithurlstring :(nsstring *)URL str;end4.命名方法方法小行星法命名,一个标准方法必须像完整的句子一样读,读后才能知道函数的角色。可执行性方法必须以动词开头,以小写字母开头,返回性方法必须以返回的内容开头一开始不添加get。示例:-(void)replaceobjectatindex :(nsu integer)index with object 3360(id)an object;(instance type)arraywithinarray :(ns
5、 array *)array;如果有参数,则函数名必须是第一个参数的提示信息,如果有多个参数,则参数前必须有提示信息(通常不需要添加and)应使用Init with、insert、remove、replace、add等常用动词。5.命名变量变量名使用小的高成本方法,所以变量名可以尽量推测使用属性的说明性。不要一心一意打几拳快速理解代码更重要。5.1类成员变量:成员变量以小成本方法命名,并带有下划线前缀,提供Objective-C 2.0、property和synthesize符合命名惯例的解决方案示例:interfaceViewController() property (nonatomic,
6、strong)nsmutablearray * mdadaaarray; property (atomic,strong)uitable view * mtable view;endimplementationViewControllerend5.2指定一般变数名称示例:nsmutablearray * tickettesarray=nsmutablearraywithrcapacity :0;nsntegernumcompleted connections=3;5.3指定常数名称常量(预定义、枚举、局部常量等)使用以小写k开头的高成本方法,例如kInvalidHandle。KWritePer
7、m示例:# define krunannotationstartpointtitle “起点”Typedef ns _ enum (nsinteger,rungoaltypee) KRunGoalTypeNone=0,/无目标KRunGoalTypeTime=1,/以时间为目标KRunGoalTypeDistance=2,/距离为目标Krungoaltypecari=3,/卡路里消耗量为目标nsstring * constkgroupinfoname= name ;6.指定图片资源文件名称以下是Sina Weibo app图像资源命名方法,部分屏幕快照:此图资源命名方法按功能组织,是查看资源文
8、件的好习惯。策略:(1)单词的拼写或所有人都不加区别地承认的缩写(例如nav、BG、BTN等)2)采用“模块功能”命名方法,模块分为公共模块、个人模块。公共模块主要包括统一等视图、导航条、标签、公共按钮背景、公共基本图等:专用模块主要基于app的业务分割功能模块,如用户中心、消息中心等注意:建议对背景图使用BG作为前缀,对按钮背景使用BTN作为前缀(不需要,项目实际组长根据团队特性决定就可以了)通用模块命名示例:导航条后视图:bg_nav_bar2x.png导航返回按钮:bg_nav_back_normal2x.png,bg_nav_back_selected2x.png标签item背景:bg
9、_tabbar_record_normal2x.png,BG _ tabbar _ record _ selected 2x . png专用模块命名示例:以Joggers APP的用户中心图片资源为例。Uc 使用者中心用户中心头像基本图片:bg_uc_avatar2x.png用户中心顶部的默认背景图片:bg_uc_top_defaut2x.png使用者中心底部背景图片:bg_uc_bottom2x.png这部分是复杂的工作,在程序员心目中被认为是技术含量低的一项工作,但图片被命名为严谨反映了对细节的追求,细节决定成功或失败。文件组织结构1.类别档案组织IOS工程文件结构分为物理结构和逻辑结构,
10、建议保持逻辑结构和物理结构一致,以便轻松有效地管理类文件。类文件组织遵循两个主要原则:根据MVC设计模式原则,至少应保证控制器与数据处理和网络请求相对独立根据功能模块原则,功能模块应位于数据/网络处理、UI前端接口、数据/网络处理的框架下,UI前端接口(例如用户中心、消息中心、专用控制器、view等)应属于文件夹。还有公用view,您可以打开和管理公用文件夹在实际使用中,项目实际负责人可以灵活地结合项目特性使用,但必须保持基本原则,保持优秀的类文件组织结构,对团队有益无害。2.图片资源文件组织图像资源文件,最好使用Images.xcassets进行管理,最大限度地减少了对自己创建的文件夹的管理
11、。使用Images.xcassets只能查看项目管理的一个点,通过向Images.xcassets添加图片资源,将图片文件直接添加到文件夹而不更改项目文件,每次都可能更改项目文件,因此使用Images.xcassets管理图片资源可以减少项目冲突次数。下图显示了Joggers的文件组织结构。如上图所述,通过严格组织文件结构,统一物理和逻辑结构,简化了团队之间的查找代码和共享资源。类代码组织策略一个原则:建议将析构函数-(void)dealloc放在类的顶部。第一眼看到此方法,就可以轻松确定是否删除了某些操作、是否正确释放了内存等。controller,view的生命周期函数放置在顶部,直接实现
12、的方法在下面,相同或类似功能的方法显示为#pragma mark-。示例:第一部分主要说明容易掌握、容易宣传、对团队开发实际有帮助的内容,主要集中在命名、文件组织原则上,并提供相应的例子。规范由各项目负责人具体实施。好像忘了一件事,对,注释,没有上述说明,好的代码习惯是好的注释,所以这里不特别讨论注释。主席要求各项目负责人达成协议。团队要求IOS代码规格1删除多馀的空行*所有方法和方法之间的空行*所有代码块之间的空行2删除重复注释*删除注释代码*删除无意义的说明3重复数据删除方法*如果方法未在中使用,请将其删除*如果方法未执行业务逻辑,请将其删除或提供说明4删除过时的资源文件5添加所需的注释*
13、所有。h文件中的property需要注释*需要所有自定义方法的说明*较大的代码块需要注释*所有代码中出现的阿拉伯数字都必须注释*如果程序中发生加密/解密逻辑,则必须提供说明流程(系统或自定义)6完整代码样式需要统一*不必在代码后单独占用一行“”*逻辑运算符和代码前面的空格*不要在“# pragma mark-”和以下代码之前放置空行*符合一般代码规格IOS一般规则1以下所有规则均不受第三方类库的约束*通过命名所有类、方法、属性等使用基于成本的命名惯例*根据资源类型或相应的业务逻辑将项目资源分组,以明确整个项目结构整个项目保持代码编写风格(无锡团队根据自己的编码习惯决定),使代码优雅!2.命名惯
14、例*所有类别名称均命名为eg:XP、ZJG、SZ,这是专案专案的开始*对于其他视图控制器,在末尾添加后缀,eg:*在UIViewController后缀中添加“ViewController”*添加UIView后缀“View”*添加UIButton后缀“Button”*在UILabel后缀中添加“Label”3.单页代码最好控制在800行以内,每种方法最好不要超过100行,如果太多,最好重构代码4.避免在多个地方出现相同的逻辑方法定义,如果可能,提取常用类、方法5.删除未使用的代码,避免对未使用的代码进行大量注释,如果认为代码不会使用,请及时删除6.对于从其他项目复制的代码,请根据需要更新代码样
15、式,并及时删除未使用的代码7.项目的所有组或文件名(图片名称等)都不使用汉字,尽可能用英语命名,国内固有名词可以使用拼音。8.项目中的所有组必须在项目目录中具有物理目录,并且组中的文件必须与物理目录中的文件一一对应。9.请写有关项目所需代码的注释10.使用#pragma mark-Mark Name对eg:进行分组* #pragma mark-View生命周期* #pragma mark-View lifeTerm* # pragmark-init tmethods* #pragma mark-Action methods* #pragma mark-Common methods* # pra
16、gmamark-uiactionsheetdelegate* # pragmamark-uimagepickcontrollerdelegate* # pragmark-uitableviewdelegate methods* # pragmark-uitableviewdatasource methods* # pragmamark-uiscrollviewdelegate methods* # pragmark-uitextelddelegate methods* # pragmamark-uitextviewdelegate methods1.代码行最多为100列2.声明类或方法时要小心使用空格,如果参数太多,换行可能会保持对齐。调用方法时也是如此,参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新兴城市基础设施建设及运营管理模式创新研究
- 教育培训机构招生营销策略优化方案
- 采购成本效益分析计算器模板
- 健康体检中心医生临床诊断标准手册
- 任务进展确保与完成期承诺书(7篇)
- 公司业务运作责任声明书5篇范文
- 生产流程优化与持续改进工具包
- 高端产品担保承诺函6篇
- 未来数据信息安全承诺书8篇范文
- 数据分析基础入门培训课件掌握基础技巧
- 奶茶店店长职能培训
- 老年护理实践指南(试行)
- 三国演义整本书阅读导读课教学 +公开课一等奖创新教案
- DZ∕T 0211-2020 矿产地质勘查规范 重晶石、毒重石、萤石、硼(正式版)
- 小学刑法知识讲座
- 城发公司行业分析
- 麻醉科临床诊疗指南2020版
- 中建综合支架专项施工方案
- 非常规时段施工安全管理方案
- 普通气动调节阀规格书
- 如何保证伙伴成功举绩
评论
0/150
提交评论