IOS 代码风格习惯 总结1
从我大三下学期开始工作开始, 几乎都是孤独的开发 因为身边开发ios 不多 ,除了学习开源的代码优秀风格技巧 剩下的 就是自己造, 所以 养成了 好多不好的习惯. 本知道面向对象的好处 ,但是实际开发起来总会有堆砌代码的坏习惯 ,只顾解决当前问题,于是UIViewController里面写了一堆堆有的没的,功能点是实现了,但是没给自己留后路,往往改起来牵一发动全身,当产品准备高保真调试UI时候头疼的对我说,"你的动态高度是算出来的吗, 我都不知道怎么改 都写在一起了 为什么不一个子View 一个模型呢"
于是在2015年第一次CodeReview 我总结了如下的几条开发编程意见
我觉得这是我从事开发以来最大的进步,一直都是自己在"造" ,没人告诉你自己哪里错了, 其实被提出了这么多条意见 ,我其实内心是拒绝的 ,因为也算是一种批评吧 . 但是 当我再开始开发豁然开朗一片光明,逼格也瞬间提升,写出高质量代码的程序媛 才是高级IT工程师 才区别于搬砖工 . 向上吧 少女 这是历史的进步 以后会更加光明
- 有运用到逻辑运算符的时候 一定两边要加空格或者回车
- 方法名尽量说明白 方法作用
- 方法名开头一定要小写
- 遇到写tableVIewCell 时候 尽量分割成最简单的元素 修改起来也好改 计算高度也不容易混淆, 尤其是有动态高度的时候 一定要单独成为一个模块cell或者一个cell中 独立的一个模型uiview
- 初始化一个tableViewcell 尽量使用 复用机制 t提高效率 这个适用于统一模式的 如果是有变化的 话 不适用会出现被覆盖的情况
- UI加载数据的时候 数据准备尽量提前做好
- UI界面复杂时候 要拆分成几个分支UI界面写成视图模型 避免修改过程中牵一发动全身
- 动态修改UI 位置和大小 .frame 要尽量少使用 这个特别耗时 低效,修改意见是 换成CGRectGetMaxX CGRectGetMaxX CGRectGetWidth CGRectGetHeight
- 方法要从整体观念上修改 修改局部是意义不大的 比如症状方法排序 从根本上就应该排序不应该在实例运用的时候再排序
IOS 代码风格习惯 总结1的更多相关文章
- iOS关于代码风格问题
cocoapods管理第三方库,详见cocoapods安装及使用 OC代码风格需要规范,所有第三方依赖需要用cocoapods管理.代码风格需要: 1. pod 'CodeFormatter', :g ...
- iOS代码实践总结
转载地址:http://mobile.51cto.com/hot-492236.htm 最近一个月除了专门抽时间和精力重构之外,还有就是遇到需要添加功能的模块的时候,由于项目中的代码历史因素比较多,第 ...
- 7、Cocos2dx 3.0游戏开发找小三之3.0版本号的代码风格
重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27691337 Cocos2d-x代码风格 前面我们已 ...
- (转)ios 代码规范
转自http://blog.csdn.net/pjk1129/article/details/45146955 引子 在看下面之前,大家自我检测一下自己写的代码是否规范,代码风格是否过于迥异阅读困难? ...
- AngularJS之代码风格36条建议【一】(九)
前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJ ...
- iOS团队风格的统一
不知不觉团队已经有了4个iOS开发,大家的代码风格完全不一样,所以每次改起别人的代码就头疼,理解起来不是那么顺畅,如鲠在喉.所以,就开了场分享会,把一些基本调用方法和代码风格统一了一下. 前言 主要参 ...
- Google HTML/CSS代码风格指南(中文版)
原文链接:http://wncbl.cn/posts/c8e10815/ 看一下没什么印象,那就写一遍吧. 背景 本文档定义了HTML/CSS的编写格式和风格规则.它旨在提高合作和代码质量,并使其支持 ...
- ZZC语言代码风格
程序员之路--关于代码风格 优秀的代码风格如同一身得体的打扮,能够给人以良好的印象.初学程序设计,首先必须建立良好的编程习惯,这其中就包括代码风格.本文就代码风格中的几个重点问题进行了讨论,并在文后给 ...
- [转] Linux内核代码风格 CodingStyle [CH]
from:http://blog.csdn.net/jiang_dlut/article/details/8163731 中文版维护者: 张乐 Zhang Le <r0bertz@gentoo. ...
随机推荐
- TCP/IP详解 卷一(第二十章 TCP的成块数据流)
本章将介绍TCP所使用的被称为滑动窗口协议的一种流量控制方法. 该协议允许发送方在停止并等待确认前可以连续发送多个分组,这样就可以加速数据的传输. 滑动窗口 下图用可视化的方法显示了滑动窗口协议 我们 ...
- 隐藏ion-nav-back-button的文字
<ion-nav-bar class="bar-positive"> <ion-nav-back-button> </ion-nav-back-but ...
- 01-1制作U盘启动盘--大白菜超级U盘启动盘制作工具
使用大白菜超级U盘启动盘制作工具制作U盘启动盘 工具/材料: 电脑.U盘.浏览器.大白菜u盘启动制作工具. 操作方法: 打开浏览器,输入大白菜,点击普通下载进行大白菜u盘启动制作工具下载: 或者通过 ...
- 安装npm install时,长时间停留在某一处的解决方案
默认情况npm install安装时,会从 github.com 上下载文件,大部分安装不成功的原因都源自这里 因为 GitHub Releases 里的文件都托管在 s3.amazonaws.com ...
- Https单向认证和双向认证介绍
一.Http HyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准.HTTP协议传输的数据都是未加密的,也就是明文的,因 ...
- 莫小安 CentOS7使用firewalld打开关闭防火墙与端口
1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disab ...
- GitHub for window 使用教程
Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法. 一:下载GitHub for Windows 二:安装GitHub 下载之后点击进行安装过程,安装之后桌面上会有两个 ...
- Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观
Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java ...
- [WebGL入门]二十五,点光源的光照
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明.我会加上[lufy:].另外,鄙人webgl研究还不够深入,一些专业词语.假设翻译有误,欢迎大家指 ...
- COM组件多接口对象模型
COM组件有两种接口类型,Dual and Custom,如下图所示.本文说的是Custom.所谓多接口COM对象是指此COM对象实现了多于一个的自定义接口,即Custom接口. 接口图如下: 需要注 ...