这是我参与更文挑战的第1天,活动详情查看: 更文挑战
写作背景
关于这篇文章的内容主要是在工作中总结的一些比较浅薄的项目准备工作,因为主导项目的次数不多,所以文中提到的准备工作涉及的内容比较浅显,估摸着适合入门、初级前端看看,希望大多在评论区留下自己的见解。
了解项目
在分配到任务的第一时间,先别急着拉框架、装依赖,当时我第一次被选为项目负责人的时候,比较随意,甲方只要求了使用uni-app开发微信小程序,其他的都是自定。
不过你以为限制了项目框架,就可以开始了? 当然不是,这还早着。
拿到这个项目之后,boss让我先计算了一下总共有多少任务量,当时甲方提供了项目的设计图,总共是94个页面,但是商务谈判嘛,肯定是计算实际任务量,然后我就带着满腔怨念去计算实际的任务量,最终敲定总计45个页面(实际上多个弹窗或类似的界面计算成一个)。
不过在一次次的计算中,我对这个项目的主要功能、页面逻辑、交互设计有了一个清晰的认识,对后面和甲方的需求交流也提供了不少的提问来源,我说一声当时我是最了解那个项目的人,应该会被设计师打死,但也算是最了解那个项目的一批人了。这也为我后面的开发带了不少的裨益。
技术选型
前面讲了,甲方是要求用uni-app开发微信小程序,但是这也只是定了一个基本框架,还是有很多发挥空间的,例如UI框架、功能库之类的,但是这个项目我比较豪横, 除了uni-app,啥也没用。
看起来是听装13的,但是实际上这一点也不好。
不用UI框架,只用uni-app内置的一些组件,基本是能保证完成整体功能的,但是我在后期维护的时候,大概就是四个字:欲仙欲死。
言归正传,参考了网上的一些意见,基本方向就是,复杂的、大型的、组件复用率比较高的考虑用react,另外就是用Vue,这一点展开来讲也是长篇大论,大家感兴趣可以去看看两个框架的对比。
当然,如果只熟悉其中一个框架的话,不建议尝试大冒险,除非有靠山review你的代码,并且对你有包容心。
开始前的准备
是的,你没,看错,到这里还没开始写代码,不过已经拉好框架了,那么这里要讲的就是依赖和准备工作。
以Vue来讲,依赖基本就是VueX、Vue-router、UI框架(element/vant/其他)、css预处理器(sass/less)等,依赖装完了只是准备工作的第一步。
第二步是统一规范。
统一规范宽松点,就是文件怎么建,怎么命名,css类名格式,js书写要求等。
另外还有一点,是笔者个人心得,不过也可能别人写过,毕竟我也只是入门,高手俺么多。
那就是统一管理:
-
请求的二次封装,API统一管理,实现参考这篇文章
-
css样式及公共属性统一管理,常见的如主色、辅色、按钮样式、flex布局等。
-
工具函数统一管理,使用专门的一个文件夹,存放公共的工具函数。
-
优化方案,诸如图片、图标用什么?骨架屏还是loading?等
远程仓库
如果是独立开发项目的话,这个就没有很大的关系了,但是如果需要协作开发, 那么就需要考虑一些些问题了
1、用谁的仓库,虽然不好说是五花八门,却也是有那么桃花一朵朵的,大家熟知的github,gitee,gitlab等。各有优劣,我们公司用的的codeup云效,在这之前我甚至没听过。
2、项目主导, 成员的话, 基本就是提交代码,拉取代码了。 项目负责人得熟练合并代码、解决冲突、版本回退、review代码。
后期维护
这一点,一般来讲,就是测试提交bug,coder解决bug,你测我改,恩恩爱爱,相爱相杀。
但是有个问题, 像我所在的公司人少活多电脑差(真不是我自黑,我只是阐述事实),从一个项目切换到另一个项目期间,电脑慢到我甚至能睡一觉。
所以这时候工作计划就尤其重要了,后期维护的时候,除非是急到影响主要功能使用,不得不得立改立测立上线的地步, 都可以写到记事本上,抽个时间统一改。
举个例子,之前甲方一直催我改,非常急,最终距离上一次发布过去了十天,这十天bug、需求改了N多,每次都说急。
当然也不是说完全就不当回事了,不过是否真的急,相信大家只要不陷入甲方的节奏,自己抽出脑子去思考下,就能得出结论。
插一句题外话,之前看过一个新闻,某反诈宣传人员因陷入诈骗分子的焦虑节奏,丧失思考能力被骗好像23W。所以只要能逃脱得放的节奏,我相信就能得出一个理智的答案。