中级篇第八期:开发中我们应该注意的那些坑

从毕业后10月到北京,到现在工作已经有半年了,在工作中遇到了一些坑,那么先在这里简单的总结一下吧,毕竟坑比较多,可能遇到的问题有限,也许很多小伙伴都已经遇到过并且解决过了哦,我在这里主要说一下关于我们在开发过程中做某些功能的时候应该如何入手

在做一个功能之前,先要拿到PM给出的需求分析,以及设计师给出的交互和UI图,然后自己做好整理,用少量的时间自己用笔和纸画一下这个功能的流程图,包括里面涉及到的所有小功能点,然后自己结合实际情况估测一下开发周期

这个时候假如你所评估的时间为3天,那么一定要多加2天,至于为什么要多加2天呢,因为我们还要考虑几种特殊的情况,分别为:有无网络、有无返回数据、是否为第一次安装、是否登录、是否为多次网络请求、有无缓存情况,而且还要有自测的时间,适个人能力,来合理安排时间

毕竟我们做开发的,请仔细认真一点,尽量减少可避免的bug,也为了方便自己后期开发,请提前把这些坑填了,另外请不要在PM以及Boss面前吹牛,你要知道,活干的不好都是你自己的问题,请一定要核实自己的情况出发,不要觉得很多功能点貌似很简单,而我们却忽略了那些更重要的东西

时间: 2024-10-14 03:00:52

中级篇第八期:开发中我们应该注意的那些坑的相关文章

(中级篇 NettyNIO编解码开发)第十章-Http协议开发应用

HTTPC超文本传输协议〉协议是建立在TCP传输协议之上的应用层协议,它的发展是万维网协会和Internet工作小组IET'F合作的结果.HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过多年的使用和发展,得到了不断地完善和扩展.由于HTTP协议是目前Web开发的主流协议,基于HTTP的应用非常广泛,因此,掌握HTTP的开发非常重要,本章将重点介绍如何基于Netty的HTTP协议技进行HTTP服务端和客户端开发.由于Netty的

初级篇第八期:学习写一个Model

学习建议:自己动手,丰衣足食 学习周期:1周 学习目的:熟练使用Obejct-C中基于NSObject的Model类 学习答疑:欢迎来技术群里提问并做分享 学习工具:Xcode开发环境 学习内容:熟悉Model的作用以及基本用法 我们在开发中为什么要创建Model,主要因为我们在接收服务器给我们返回的数据时候,我们需要用来保存这些数据,那么我们就会创建一个所谓的Model,其实就是基于NSObject类,然后创建一些它的属性,来保存相应的值,也方便其他的类来调用,当然了,我们要考虑在这个Mode

中级篇第七期:ScrollView常用练习

那么小弟这次的练习就是在ScrllView里面放入两个TableView,然后通过ScrollView的滑动实现两个TableView的互转,接下来再增加两个Button,来实现选中与非选中,然后关联按钮与ScrollView的滑动,并且同时关联滑动后按钮改变状态的一个简单例子 这种小Demo在实际开发中会经常遇到,所以,小伙伴们可以根据这个继续做开发调研,继续增加新的功能,毕竟每个产品中的功能都不相同,需要我们自己去拓展 废话不多说,直接上代码 首先创建一个ScrollView,并设置它的常用

中级篇第五期:初识UIScrollView

UIScrollView是我们在iOS开发中最常用的UI控件之一,包括它的子类tableView也是非常常用呢,那么本期小弟就来介绍一下UIScrollView的基础知识咯 在我们工作当中呢,有很多功能都是基于ScrollView的基础上的,所以我们要先了解系统的ScrollView到底能做哪些事情呢 首先初始化一个ScrollView       UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(

什么是接口(中级篇)——接口在设计模式中的使用(二)

还记得我的软件工程老师是这么说的:软件应该往高内聚,低耦合的方向进行设计. 当时,还身为一个初学者的我,不太明白老师的这句话——既然面向对象提供给了我们”继承“这种高耦合的概念,那为何我们还要低耦合高内聚呢?难道放着继承的概念不用,而改为面向过程吗? 带着这一疑问,我请教了我的老师,他给我的回答是:通过接口来分隔分离逻辑,就可以达到低耦合的效果. 我们来回顾一下前一篇所学习的"控制反转"设计思想,其实质就是上面所说的"通过接口来分离逻辑". 但以上一篇的示例来说,达

中级篇第六期:若隐若现的NavigationBar

我们就要如下图的效果哦,就是让NavigationBar随着滑动而出现与隐藏,就是那种若隐若现的感觉,感觉棒棒哒,哈哈 废话不多说咯,上代码咯 首先呢,我们要创建TableView还要给它指定一个HeaderView,然后再开始我们接下来的事情       UIView *backGroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(tableView.frame), 80)];     backGr

中级篇第十期:UIImage的处理

在我们开发过程中,经常会遇到对UIImage的处理,那么在这里简单介绍几种常用的吧,我一般把它们统一写在UIImage的Category中 首先是对图片的压缩处理   - (UIImage *)scaledImageWithSize:(CGSize)size {     UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);     [self drawInRect:CGRectMake(0, 0, size.width, size.heig

中级篇第四期:初识GCD

谈到GCD,相信小伙伴们一点都不陌生,没错,我们在项目开发过程中最常用的线程处理就是它咯,相信好多小伙伴们对其的运用以及炉火纯青了哦,下面小弟呢,就再次简单介绍一下它的各个常用的方法吧 并发队列在后台开启线程执行    __block NSInteger num = 0;  dispatch_async(dispatch_get_global_queue(0, 0), ^{      num++;      NSLog(@"async1 = %ld", num);  });  NSLo

随心篇第八期:一天很长,一年却很短

不要降低对你重要的那些人在你心中的优先级哦,偶尔与朋友可以彻夜长谈的呢 不要做那些让你不开心的事情,将负能量的人请出自己的生活,请不要消极哦,想做的事情就去做,不要给自己找借口 做正确的事情,专注.相信自己,找到那些能够帮助你的人,跟他们建立关系,锻炼慧眼识人的能力,努力去做事 请把工作的目标定在做到所在行业的顶尖,即时没有实现你的预期,你最终也会惊讶的发现自己已经处在了一个很不错的位置哦 款待朋友.旅行.节约时间.获得新体验等方面请不要吝啬自己的金钱,因为我坚信这些钱花的值得 多和人交流,减少