【总结】从0到1的项目经历


去年7月底,接到公司安排,需要在一个半月内完成全新app的上线,需求文档与开发并行,由于时间紧迫,以及人力有限,当然就是享受了一次996,经历了之后,发现真是的是一次痛并快乐着的体验。这段时间加班稍微少了一点,趁假期写下这段经历的收获。

经历了这么一波疯狂加班后,我总结了一些经验,希望能对自己以后的快速且稳定的开发节奏起到辅助作用,也希望能够帮到正在读这篇文章的你。

注意,以下的所有建议,都是针对于没有按照正常流程走的创新性项目,不一定适用于已经稳定下来,需要按照正常流程开发的项目,当然有一些是可以借鉴的。

提高沟通效率最好的办法,当面沟通

做这种996的快速开发,每个人每天都在争分夺秒,所以时间非常宝贵,遇到不懂的东西,通过即时通讯工具沟通效率是非常非常低的,不管是私聊还是群聊,不能一直等待别人的回复,如果有个很重要的流程阻碍到自己的进度,那么最应该做的事情是拉上相关的人,把所有相关的人集中在会议室中,明确讨论的主题,最后在白板面前画下流程,让大家一起对流程更加熟悉,找出更好的解决方案。每次沟通好方案以后,都要有书面记录通知到每一个参与讨论的人,保证信息的同步。

每天预留一点时间总结,及时mark下TODO项

在这么紧凑的开发进度下工作,是非常非常容易忘记东西的,当时的做法是每天下班后再留下半小时梳理当天完成的内容,划掉已经完成的工作任务或者优先级不在第一个版本的工作任务,然后当天加了什么功能,发现什么功能遗漏了,都写下来,以便安排第二天需要完成的工作。

如果实在太疲劳,做不到每天总结,至少每2天或者最低限度是一星期要做一次梳理总结,否则到最后关头才发现这也没做,那也漏了,那真的加班干到si都不能完成了。

这个习惯现在仍然保持着,现在项目进度稍微没那么赶,每个需求都会这么做,对能按时交付需求已经没有大难度了。

与产品沟通,做好取舍

在需求文档还没出完的情况下,开发在加班,产品也在加班,开发进行到一半,产品完成了部分文档,突然来了一个大功能,那么要在短时间内完成全部肯定是不可能的,只能跟产品沟通,看功能是否很重要,如果没有该功能是否影响产品的使用,保下最重要的功能,其他非核心流程的功能,留在下一个版本再迭代。

这一点最好应该在项目启动时进行,即使需求文档没有出完,但是可以梳理出最核心的功能,大家都朝着同样的目标去干。鱼与熊掌不可兼得,你不能什么都想要。

平时多积累项目的通用组件,并及时升级

在参与这些全新又紧急的项目,要想要马上就能写下第一行代码,平时一定要积累一些通用的组件、工具类,比如参数校验拦截器、时间函数、异常处理拦截器等等,有了这些,开发起来就如虎添翼了。

有了自己的项目框架,就不需要重新搭建,只需要关心业务功能的实现,当然,最好是能自己写一个脚本,一键初始化项目。

快的同时尽量稳

要求这么快交付的项目,bug多是肯定的,虽然可以允许少量的试错,但是关键的是要保证核心功能是没问题,且不允许出错的,核心功能无法使用对于用户以及产品来说,是无法接受的,会造成用户的流失,大大降低用户留存率。

及时休息

结束了每一天的忙碌之后,早点休息吧,记得当时差不多周一到周六,每天是9点半开始开发,晚上1点才停止。连续3周之后,到了周日的时候就是一阵头疼,痛一整天,基本上一天都做不了什么,然后又开始新一轮的工作。甚至有一天半夜醒来了,疯狂出冷汗,全身虚弱,而且疯狂地出冷汗,持续了大约10分钟,那一次真的把我吓到了。所以休息好很重要,有时间就休息,不能疯狂工作忘了休息,身体才是奋斗的本钱。

总结

经历了这一次的从无到有的项目开发,不可否认是很累,虽然中途也有很多挫败感,但也不可否认学到了很多东西,有了很大的成长,后续会慢慢分享这些学到的东西,可以说是自己工作以来成长最快的一段时间,感谢这一次的项目经历,也感谢帮助我的老大和每一个小伙伴。

最后的最后,当然希望大家遇到的项目都是能按照正常排期进行的,这样的节奏才是正常的,你好我好大家都好。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机基础总结 计算机基础总结 第一部分计算机基础 一、计算机的发展、分类及应用 1.发展 (1)第一台计算机诞生于1946年,美国,名叫ENIAC.......... (2)经历了四代,时代的划分是根据计算机的基础原器件的变化;当前的微机属于第.....四代,微机的发展已经经历了五代,划分时代的依据是中央处理器。...............(3)发展方向:巨型化、微型化、网络化、智能化。.... 2.应用 科学计算、信息处理(数据处理,如办公自动化、计算机管理等)、过程控制、计算机辅助工作(设计CAD、教学CAI、制造CAM、测试CAT)、计算机通信与网络、人工智能二、冯诺依曼设计思想: 1、计算机硬件由五部分组成:输入设备,输出设备,运算器,控制器,存储器。 用户通过输入设备将信息输入计算机内并存储在存储器中,控制器发出控制指 令,指挥各部件运作,运算器进行算术运算和逻辑运算并将结果存回存储器,最后通过输出设备将处理后的信息显示给用户。I/O设备:由输入、输出设备组成。.....输入设备包括:键盘、鼠标、扫描仪、数字相机、光笔等。输出设备包括:显示器、打印机、绘图仪、投影仪等。 常用鼠标有机械式和光电式,显示器有阴极射线管CRT型和液晶LCD型。 计算机基础总结全文共9页,当前为第1页。打印机可分为:击打式(针式打印机)、非击打式(激光式和喷墨式打印机) 计算机基础总结全文共9页,当前为第1页。 CPU(中央处理器)由运算器和控制器组成。是计算机的核心部件。它的两个主要技术指.................... 是字长和主频。存储器有内存(主存)和外存(辅存)两种。....... 内存储器有随机存储器RAM(断电后内容全部丢失)、只读存储器ROM(只能读出不......能写入,内容不变)。 外存储器有硬盘、软盘、光盘(CD-ROM)、U盘(闪存)CPU只能直接访问内存中的数据,外存中的数据只有调入内存后才能被CPU访问。.........高速缓冲存储器Cache是CPU与内存储器之间的桥梁。..... 2、计算机内部存储的指令及数据等均采用二进制表式。指令由操作码和地址码组成。........... (1)计算机系统中数据的最小单位:位(bit).............. (2)存储容量的基本单位:字节(Byte);一个字节包括8位二进制位;1B=8b.............(3)存储容量的换算:B、KB、MB、GB、TB,各单位之间为1024倍 (4)美国标准信息交换码(ASCII码)有7位码和8位码两种形式;国际通用的是......7. 位码,可表示128个不同字符;即用7位二进制表示一个字符。由小到大表示.. 计算机基础总结全文共9页,当前为第2页。控制字符、英文标点及运算符、阿拉伯数字0-9、英文字母大写A-Z、小写a-z,特殊字符十进制的ASCII码值:0(48)、A(65)、a(97)................. 计算机基础总结全文共9页,当前为第2页。 (5)汉字编码:汉字存储时用字模码表式,例24*24点阵存储时占字节数为24*24/8。3、存储程序控制计算机工作 软件=程序+数据+文档。软件包括系统软件和应用软件,系统软件是人与机器的接口,其主要功能为进程与处理器的调度、作业管理、存储管理、设备管理、文件管理,系统软件的核心是操作系统。三、计算机病毒计算机病毒是一种能够侵入计算机系统,并具有自我复制能力和极强破坏能力的人为编................制的程序,具有很强的传染性,同时具有隐蔽性和潜伏性。............. 第二部分中文WindowsXP 1、WindowsXP是单用户多任务图形操作界面的操作系统。支持长文件名及网络功能。 2、鼠标的基本操作:指向,单击,双击,右击,拖动单击(左):一般表示选择。与Shift组合使用可选择连续的多个内容,与Ctrl组合............... 使用可选择不连续的多个内容。用键盘Ctrl+A选择全部。.........双击:一般用于打开某个文件或执行一个应用程序。右击(单):用于弹出相关的快捷菜单。 拖动:用于移动或复制某个项目。与Shift组合使用为移动,与Ctrl组合使用为复制。3、窗口操作:窗口可以移动、改变大小,可以实现多窗口的切换和排列。"控制"按钮共4个,最大化,最小化,关闭,还原。其中还原和最大化两个按钮不能同时出现。.....4、对话框:可以移动和关闭,不能改变大小。5、文件或文件夹管理。 计算机基础总结全文共9页,当前为第3页。文件名可以包含空格且不区分大小写,但不能使用\\、/、"、?、*、、:、"。常用的扩展名有:Word文档.doc,Excel工作薄.xls,演示文稿.ppt,图形文件.bmp,文本文
流动图书馆是一个图书漂流和借阅工具,旨在共享闲置图书,并链接趣味相投的小伙伴。预览链接技术栈小程序MINA框架: 一个响应的数据绑定框架。分为两块视图层(View)和逻辑层(App Service)Flex:flex弹性布局Express : http服务框架websocket: 前后端消息的实时推送mongoose: 操作mongodb数据库pm2: 服务端使用pm2部署,常驻进程截图首页借阅书架发布的图书借阅的图书客户端代码结构微信小程序中每个页面会有四个文件 .js .json .wxml .wxss js文件中是页面的逻辑,json文件是页面的一些配置,wxml是小程序的页面结构,wxss为页面的样式。封装http请求const request = (obj) => {   if(obj.header){     obj.header.sessionId = session.sessionId;   }else{     obj.header = { sessionId: session.sessionId};   }   wx.request(obj); }在请求头中手动加上sessionId,因为小程序没有cookie。websocket//连接websocket wx.connectSocket({   url: 'wss://liudongtushuguan.cn/socket?sessionId='\u00a0 \u00a0session.sessionId,\r\n});\r\n\r\nwx.onSocketOpen(function(res){\r\n\r\n});\r\nwx.onSocketClose(function(res){\r\n\u00a0\u00a0console.log('websocket closed'); }); wx.onSocketMessage(function(res){  //收到消息的回调   let msg = JSON.parse(res.data);   let msgs = that.data.borrowMessage;   msgs.unshift(msg);   that.setData({ borrowMessage: msgs}); });//发送socket消息   let data = JSON.stringify({     targetId: bookData.ownerId,     nickName: APP.globalData.userInfo.nickName,     bookName: bookData.title,     time: new Date().toLocaleString(),     bookId: bookId,     wxNum: wxNum,     phoneNum: phoneNum,     msg: msg,   });   wx.sendSocketMessage({     data: data,   });服务端代码目录Express框架实现http服务const https = require('https'); const fs = require('fs'); const express = require('express') const cookieParser = require('cookie-parser'); const bodyParser = require('body-parser'); const app = express(); const queryString = require('querystring'); const URL = require('url'); const socket = require('./service/socket'); const router = require('./routes/router').router; //获取认证证书 var key = fs.readFileSync('./key/2_www.liudongtushuguan.cn.key'); var cert = fs.readFileSync('./key/1_www.liudongtushuguan.cn_bundle.crt'); var options = { key : key, cert : cert, }; app.use(cookieParser()); app.use(bodyParser.json()); con
### 回答1: 从0-1的项目经验是指一个人从零开始,通过自己的努力和学习,在没有任何基础或经验的情况下,成功地完成了一个完整的项目,并从中获得了宝贵的经验和知识。这种经验对于职业生涯的发展非常有帮助,可以帮助人们建立信心和技能,为将来的职业发展奠定基础。 ### 回答2: 从0-1的项目经验指的是从零开始,全面参与到一个项目的开发过程中,并负责从项目的规划、设计、实施到最终上线运营的全过程。这个过程中,项目经验者需要从零开始进行项目的筹划与规划,包括梳理项目目标、明确项目需求、制定项目计划、确定项目流程等。接下来,项目经验者需要进行项目设计与开发,包括技术选型、系统架构设计、功能模块设计、数据库设计等,同时需要与团队成员进行协作,确保项目进度与质量。在开发阶段中,项目经验者需要进行编码工作,解决技术难题,修复bug,保证项目的顺利推进。最后,项目经验者需要对项目进行测试与部署,确保项目的稳定性与可靠性。在项目上线后,项目经验者还需要进行项目的运营与优化工作,不断跟进用户反馈,修复问题,并对项目进行性能调优与功能升级,保证项目的持续稳定发展。从0-1的项目经验对于一个人的职业发展意义重大,通过完整地参与一个项目的全过程,可以提升个人的综合能力,包括项目管理能力、技术能力、沟通能力等,并且能够更好地理解项目的整体运行机制,为未来的项目开发与管理奠定坚实的基础。 ### 回答3: 从0-1的项目经验是指从零开始,从项目的规划、设计、开发、测试、上线等全过程中获得的全部经验。这种经验一般是从一个空白状态开始,没有任何基础和先验知识,需要从头开始构建和完成一个完整的项目。在这个过程中,需要掌握并应用各种技能和方法,如需求分析、系统设计、编码、调试、测试等。由于没有之前的类似项目经验可供参考,所以在这个过程中会遇到许多问题和挑战,需要不断学习和探索解决方案。 从0-1的项目经验对项目成员来说是一次很好的锻炼机会。在这个过程中,他们可以通过实践学到许多新的技能和知识,提升解决实际问题的能力。同时,他们也会面临一些困难和挫折,需要勇于面对并找到解决办法,这有助于培养他们的团队合作和应变能力。 从0-1的项目经验也是一次很好的学习机会。在这个过程中,项目成员需要主动积极地学习新的理论和技术知识,并将其应用到实践中。通过亲身经历和实践,他们可以更好地理解和掌握这些知识,提高学习效果。 总的来说,从0-1的项目经验对个人和团队来说都是非常宝贵的。它不仅可以提高项目成员的技能和知识水平,还可以帮助他们培养良好的工作习惯和团队合作精神。同时,通过这种经验的积累,项目团队可以不断提高项目的质量和效率,在未来的项目中取得更好的成果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值