步步为营100-开发前的思考
说明:经验是个好东西,希望你也能拥有,如果这就是经验,我想我也get到了一点点
其实开发一个模块或者实现一个功能.需求分析时间应该占到30%左右.下面以一个看似非常简单模块为例.
这是原有的基础,看似就是简单加一个小功能,判断是否显示超出范围调整
一:仔细分析需求后应该会有一些疑问
1:超出调整范围是否只是在我们页面进行显示?还是需要回传数据?
1.1 hr不需要再传递额外的字段,我们只要根据目前字段就可以实现功能
1.2 "是否越级晋升"的判断标准是什么?以下三个哪个属于越级晋升?
P2---P3? P2---P5? P2--M2?
1.3 "上次调整时间"对应什么字段?是页面上"内部调转时间"吗?
如果是,那么这个字段会不会有空值?如果初始值=="入职时间"的话会轻松很多,不然以后做判断的时候会稍微麻烦些
另外"发起时间"和"内部调转时间"和"上次调整时间"以及"入职时间"的关系
1.4 "晋升的级别在M2以上或者P7以下,距上次调整时间或入职时间小于6个月" 这么长的字段,在web端,特别是手机端,对整体页面布局都会产生影响的.
1.5 字段确认此处是"M2以上"还是"M2以下"?根据上下文分析,应该是"M2以下".
1.6 我们就假设原有的逻辑和数据都是正确,不会出现,明明薪资调整了,"薪资是否调整"字段还出现"否"的情况;也不会出现"上次调整时间"<"入职时间"这种低级bug
2:"手动选时间" 我们是否需要回传过去?
"入职时间"也能随意调整.比如说判断的上次调整时间2017-10-1 由于晋升级别小于6个月,所以显示"超出调整范围".如果手动改成"2005-10-1"号,那么会有什么影响?如果该员工是"2015-10-1"才入职的.那么这个时间是改的入职时间还是上次调整时间?如果公司是2010年才成立呢?而且这个"上次调整时间"是指"上次晋升的调整时间"?还是指"上次调薪的调整时间",或是不区分
从第一阶段的分析来看,我们不仅要提出对需求的疑惑的地方,还要对设计指出不足,有时候还不能简简单单的把问题抛出来,还要自己试着去寻找答案,例如1.3这个问题,我们可以从系统中原有数据,分析归纳
二 敲代码前的草稿
我们需要大致打这样一个草稿,这个比较简单.所以在摸清需求的情况下可以自行开发,如果比较复杂,需要跟开发经理商量,看看思路是否跑偏,使用技术是否合理,
三:要预判技术难点.以我个人的意见,可能这个习惯未必利于对技术的发展.系统中有的能抄就抄,自己设计第一比较慢,而且实现起来坑比较多,也不利于后期其他人的维护
3.1 手动选时间,需要引入控件或者jQuery插件吗?直接使用我们系统中的日期控件会不会有问题?是否需要回传数据?如何回传数据?有类似的例子吗?
3.2 js如何对两个时间格式的字符串做差?
四:为测试人员提供一些测试用例.因为这段代码是我们写的,哪些薄弱的地方用可能出问题自己比较清楚,我们有义务为测试提供"抛砖引玉"的测试用例,反过来如果这些地方真的出问题对我们也是一个成长,避免下次跳入相同的坑
一些简单的测试用例
因为"调薪幅度"是我们这次开发功能的"根数据",所以要务必确保其正确性
1:发起一笔薪资不调整的单子.目的:测试判断如果"调薪幅度"不存在的时候会出现什么情况
2:发起一笔降薪超过30%的单子.目的:测试降薪出现负数的情况
3:越级晋升,但薪资不调动
转载于:https://www.cnblogs.com/YK2012/p/8094012.html
步步为营100-开发前的思考相关推荐
- Web系统开发构架再思考-前后端的完全分离
前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...
- Web系统开发构架再思考-前后端的完全分离 MVVM
前言 前后端完全分离其实一直是Web开发人员的梦想,也一直是我的梦想,遥想当年,无论是直接在代码里面输出HTML,还是在HTML里面嵌入各种代码,都不能让人感到满意.期间的痛苦和纠结,我想所有Web开 ...
- 我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...
中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...
- 领域驱动和MVVM应用于UWP开发的一些思考
领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...
- pythonweb开发工作内容_我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)...
中午吃饭时间到了,小白赶紧向老菜坐的位置走过去. 小白:老大,中午请你吃饭. 老菜:哈哈...又遇到问题了吧,这次得狠狠宰你一顿才行. 小白:行行行,只要您赏脸,米饭任吃,嘻嘻,我们边走边聊. ... ...
- 对软件项目开发的一点思考
今天看到同事写的一些思考,感觉还不错,真的是通过这个项目让他成长起来了. 目录 I 1 引言 1 2 概念 1 3 国内软件项目角色分析 1 4 国内项目的一般性问题 2 5 客户与项目组对需求的认知 ...
- 【开源共享】全网最简单易用的imx6ull烧写工具设计初衷工作原理设计前的思考
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...
- 小白入门Python Web之web开发前的准备(持续更新~)
前面对python web开发做了个简单的介绍,不清楚的小伙伴可以戳小白入门Python Web开发介绍. 今天继续讲讲如何进行web开发前的准备 Web开发准备 搭建一个能运行的虚拟机环境 安装 V ...
- API 快速开发平台设计思考
作者 | 人月聊IT 来源 | toutiao.com/i6914469326074479108 在我之前谈API网关的时候曾经谈到过快速开发平台,即将API快速开发的一些内容放入到API网关中,实际 ...
- Three.js应用场景以及开发前准备工作
应用场景 上篇文章,我们对于three.js有了大致的了解.那么three.js的应用场景到底有哪些? three.js广泛应用,在小游戏.产品展示.物联网.数字孪生.智慧城市园区.机械.建筑.全景看 ...
最新文章
- 没想到,他面试竟然挂在了Spring的这个点上...
- Sms中关于操作系统的部署之上
- 最详细支付宝接口申请、使用!!!带详细流程--实践--支付宝当面付申请
- python正则表达式修饰符_python正则表达式,看完这篇文章就够了...
- group by 语句优化
- boost::histogram::axis::option::growth_t用法的测试程序
- 02 docker的基本用法
- J2SE核心开发实战(一)——认识J2SE
- Codeforces 600E Lomsat gelral (树上启发式合并)
- R语言可视化学习笔记之ggridges包绘制山峦图
- python怎么让画笔向下移动_Pandas 解决dataframe的一列进行向下顺移问题
- SharePoint 2013 基础版 离线安装步骤
- VB中DoEvents的注意事项
- iOS常用的第三方类库
- 针对python矩阵运算的理解
- ubuntu 显卡驱动崩掉导致分辨率异常的问题解决
- 共基极放大电路_轻松辨别放大电路的正负反馈
- Nokia于MWC再出手机9 PureView 6颗镜头受到瞩目
- 星巴克急了,瑞幸就稳了?
- linux投影手机,linux连接投影机方法介绍
热门文章
- 手机备份时,应该把软件配置也备份起来
- LINUX出错解决办法:无法定位软件包 libX11-dev
- JAVA读写之前,先进行一下可读,可写权限判断
- 百度人脸识别:最简单的Python调用
- LINUX下用C遍历一个目录的代码
- Data Member的布局
- conda安装cv2_『开发技术』Windows极简安装使用face_recognition实现人脸识别
- VS C++ vector结构体 增加元素 删除元素 获取第一个元素 最后一个元素 清空元素
- quot在c语言里用法,C语言中“#”和quot;##quot;的用法
- html修改访问量txt,哪位大佬帮我改一下JS谢谢,txt改html网页直接显示的,感激不尽,现在的源码只能看......