平台奖励创作,可能会升级VIP文章,可以移步我的公众号:【编程朝花夕拾】,且可获取首发内容。
01 引言
原本打算分享一篇关于自定MCP Server的文章的,结果接到紧急项目之后,就搁置了。
转身投入紧急项目,开始设计、评审、开发等一系列操作,借此机会带你从程序员视角一起走进程序员的世界,从需求串讲、需求分析到开发设计、评审、代码落地、测试以及发布,了解一下程序员角度的项目周期。
02 需求串讲
需求串讲顾名思义就是新需求的讲解,从需求背景、由来以及需要做什么,打算做到成什么样子。可以认为就是一个蓝图,具体能不能落地实现,需要项目组成员讨论后才知道。
需求串讲过程中,应该是大家针对产品不合理要求、潜在的风险等提出异议。但是现实中,可能只会落在真正做开发设计的那个人身上。因为他不问、后面的设计就无法落地,除非已经完全理解。其他人可能就是顺便听听,在后面开发过程中不理解的只需要问开发设计者或者产品即可。
需求最怕的是迭代需求,然而也是我们经常面临的事情。因为迭代需求不仅要看考虑原有的逻辑是否兼容新需求,新需求能不能复用原逻辑。
如果是熟悉老业务的产品+熟悉老业务的开发+熟悉老业务的测试,整个流程就会变的简单很多。大家只需要一个眼神一个动作就知道合不合理、要修改的范围等,可以说大家都运筹帷幄。无论是沟通成本还是开发、测试都会变得极为高效。但凡有一个不熟悉,沟通成本就是增加。倘若都不熟悉,那将面临灾难。
03 开发设计
开发设计,就是要拆解需求,深入理解整个流程、涉及的功能点以及页面。包括库表的设计、编码的部分规范、以及人员分工等。
我最喜欢的就是画流程图,因为流程图可以清楚的表达每一个节点需要做什么。流程图也是帮助大家理解流程的重要工具、至少可以直接带入门要做什么、具体涉及的节点以及涉及的业务系统。下面是一个跨多系统的流程图:
库表的设计,主要用来记录用户输入、操作的内容等,方便后续的使用和查看。也是编码的重要组成部分。
开发设计好不好,取决于项目开发组成员能不能快速理解。如果一个新手也能快速上手,那就证明你的开发设计很完美。
04 开发设计评审
开发设计评审,就是需要项目组成员一起开会。由开发设计人员,讲解自己的设计思路、以及落地逻辑。其他人针对理解错误的、设计不合理的问题,提出疑问,然后达成统一的意见。
评审最怕的就是大家一言不发,会议很顺利,但是后续可能会有很大的障碍。最终落地的结果不是产品想要的,又要返工。这种情况是每个人都不想碰上的。
05 项目开发
项目开发,就是程序员的主场。将自然语言的文字,转化成代码语言,让计算机理解。
这是每个程序员每天都在面对的阶段。这个阶段中,程序员按照自己的想法编码,尽情的展示自己的代码风格以及逻辑才能。就像一个黑盒一样,不管里面是怎么实现的,最终的结果只要给你一个指令,结果符合预期即可。
06 项目测试
项目测试,是测试人员的主场。开发难免会进入思维误区,测试人员的介入,从不同的角度,验证代码的可行性以及健壮性。
这个阶段,程序员和测试员最容易争吵的地方。因为测试专门要提Bug,有些Bug会有异议,可能不是程序员产生的,但是又是真实存在的。程序员不太愿意改、测试有一定让改,这也就是「矛盾」激发的导火索。
07 项目发布
项目发布阶段,就是已经经历了一场血雨腥风之后的平静了,基本没有什么Bug存在,发布之后,此项目就暂时告一段落了。
发布生产环境,给用户使用,这个阶段的是运维团队的主场。
08 小结
这个就是程序员开发项目的一个完整的周期,周期时间可长可短。你觉得项目周期中最感兴趣是哪个阶段,可以评论区留言讨论。
好了,今天就介绍到这里了。