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. ...
随机推荐
- 【Excle数据透视表】如何在组的顶部显示分类汇总
调整前 调整后 例 ...
- appium for mac 安装与测试ios说明
一.安装 安装dmg,可以自己下载appium-1.4.0.dmg或者找rtx我要,文件过大不能添加附件. Appium提供了一个doctor,运行appium-doctor 如果有问题,Fix it ...
- Mysql查询结果只有一条的情况下把值赋值给变量,再用if else 流程判断
BEGIN set @n=(SELECT count(day) from log where day=CURDATE()); THEN call m_LogInsert(); ELSE call m_ ...
- poj 3537 Crosses and Crosses 博弈论之grundy值
题意: 给1*n的格子,轮流在上面叉叉,最先画得3个连续叉叉的赢.问先手必胜还是必败. 分析: 求状态的grundy值(也就是sg值),详细怎么求详见代码.为什么这么求要自己想的,仅仅可意会(别人都说 ...
- 使用OSChina代码托管管理项目(四)
本篇主要介绍使用Eclipse的Egit插件克隆远程project到本地的操作步骤 一.在Git资源库管理视图中新建一个远程资源库位置 点击红框中button进行加入 二.输入远程资源库相关信息.选择 ...
- springBoot+springCloud学习笔记
尊重原创:https://www.jianshu.com/p/492dfefa2735 SpringBoot 配置优先级 在命令行中传入的参数 如:java -jar storeMs.jar --se ...
- java编写socket使用bufferedReader.readLine()问题研究
不写java代码好久,临时写个socket通讯竟然失败,郁闷之下仔细研究了下. 客户端使用BufferedReader来读取数据,在while中调用BufferedReader.readLine()函 ...
- Android sdk 更新失败解决方发整理
解决办法: 设置本地hosts windows里hosts位置在C:\Windows\System32\drivers\etc,找到hosts文件 直接在hosts文件的最后加一行: 74.125.2 ...
- IE浏览器下,输入框最后不显示X
IE浏览器下,输入框最后不显示X.设置: .login-input::-ms-clear { display: none; } .login-input::-ms-reveal { display: ...
- Linux下vim命令总结
一.光标控制命令 命令 移动 k 向上移一行 j 向下移一行 h ...