项目如何从〇到一

Last updated on December 20, 2023 am

实操前须知:

1、准备充分:先阅读相关参考资料

2、付出实践:模块化学习、不断实践加强记忆

3、举一反三:单个模块可以熟练写出之后要举一反三、巩固学习效果

4、温故知新:复习笔记、时常回顾

3、总结反思:总结出一个问题合集,复盘用

项目如何从零到一

如何做好项目负责人

讲解项目立项、需求分析、组建团队的思路和方法

  • 立项(立项表)

    • 需要做什么项目
    • 怎么招人
    • 怎么权衡成本
    • 为什么想做这个项目?
    • 这个项目可以解决什么问题?
      • 现有系统的痛点
    • 这个项目的核心亮点是什么?
      *
    • 项目的取名?
  • 调研

    • xxx网
      • 这个项目与我的有什么相似点
      • 别人项目有什么优点?别人大而全,小而美
      • 我的有什么缺点?
  • 需求分析(甘特图)

    • 思考功能点,越详细越好
      • 需要什么亮点的功能
    • 优先级
      • P0 必须有,核心,不完成不能上线
      • P1 最好有,附加功能,有了更方便
      • P2 建议有,
      • P3 可有可无
      • P4

    了解一下需求管理工具:TAPO、jirua、表格()

  • 组队

    • 描述自己的优势,能给别人带来什么
    • 负责人:
        1. 沟通协作的方式(微信群聊)
        2. 文档沉淀的方法(在线文档,typora)
        3. 确认代码协作的方式(Gitee、GitHub、gitlab)
        4. 确认分工与对接方式(比如说前后端接口文档对接方式)

如何做好架构师

跳出“码农”思维,从全局视角来设计一个新项目

  • 技术选型

    什么是技术选型?

    你的团队会什么,大家熟悉什么

    不用冷门技术,尽量使用热门的技术

    根据需求:

    1. 项目的量级?(百万并发,消息队列,分库分表,如果是小项目,尽量简单)
    2. 项目的功能?(比如检索:可以用ES)
    • 前端用什么?(小项目建议vue,大项目建议用React,方便整合JS,也看自己的熟悉程度)
      • 那么如何决定用vue和React呢?此时就需要看你这个项目和哪一个组件库更加搭配一些,比如和Vant3搭配,那就用vue,和antDesign更搭配的话,就用React)
      • 也即是说,根据项目实现效果来倒推,想要哪一种效果就用什么技术。
    • 后端用什么
    • 用什么上线
    • 完成选型后的小demo

    此时一定要确保每一个功能能够正常的跑通,防止后期版本不兼容等问题

  • 资源准备

    需要什么资源,自然是花最少的钱,干最多的事情

    • 服务器:各大厂商的服务器,一次一年
      • 带宽(查看本地dist打开一次页面传输多少项资源(单位资源),计算方法:人数*单位资源大小)、CPU、内存、硬盘
    • 数据库:
    • 短信:
    • 开发软件
  • 系统设计

    什么是系统设计?

    只用语言来进行描述,不写代码

    • 整体设计

      • 功能模块图(思维导图)
        • 从整体到局部(先划分子系统)
      • 技术架构图
      • 库表设计
      • 每个功能的实现逻辑
        • 也就是详细设计
    • 详细设计

      每一个功能的大致实现流程,使用了什么的算法,也可以给每一个需求单独的开设一个实现方案文档

      eg:

      • xxx功能
        1. 接口设计(参数、请求类型、请求体、返回值)
        2. 流程(越详细越好,开发写代码就是按照这个逻辑语言直接进行翻译的)
  • 库表设计(根据需求与实际业务场景)

    • 划分哪些库?(每个项目一个库)

    • 划分哪些表?

    • 每个表有哪些字段?

    • 标语表之间的关联关系?(比如说外键?现在企业的开发中一般不用外键作为表之间的约束关系,一是因为不便于进行扩展,二是因为会影响效率。一般使用字段约定式关联!还有课上所学到的第一二三范式,第三范式一般不用)

    设计很重要,一般来说库表一旦确定,就不会再进行更改,否则会造成库表死锁,卡住等问题,尽可能做到提前设计好,需求;

    id、create_time、upfate_time、is_delete(逻辑删除)正常来说每个表都需要设计id,因为你不知道这张表之后是否需要与其他表进行关联、扩展

  • 开发规范(✨✨✨)

    • 编码规范
        1. 人为约定(Google Java Style、Alibaba Java开发手册)
        2. 插件(Alibaba Coding Guide、Check Style、)
      • 前端:
        1. Umi脚手架:eslint校验jsts的语法 + prettier对代码进行美化 + Stylient检查检验css代码

团队开发一个项目是如何进行初始化项目呢?大的项目一般由架构师进行架构设计,个人项目或者小项目一般会进行讨论决定由哪个脚手架或者决定开发规范来进行设计。

  • 提交规范(隐私保护)
    • gitLog(约定每个需求提交的时候,进行备注统一的提交记录,例如关联需求文档)
    • 该不该提交?(涉及真实的线上的数据库的地址,账号、密码等文件,这就需要添加到gitIgnore文件当中或者各种的Ignore文件当中)

涉及到个人经验的问题,一般项目初始化的时候便会忽略文件的提交

  • 需求排期

    开发需求的时候尽量为每一个需求进行需求排期,私下先进行方案评估,做计划、设计、补充预估完成的时间(适当延后,两天可以完成的东西写三天,不盲目自信)

做好开发第一步

写在前面:

说说前后端如何进行协作?

  1. 大家一起参加需求评审,明确需要做什么事情
  2. 前后端分别考虑需要怎么实现需求,前端找后端要接口,侯丹提供给前端哪些接口?
  3. 前后端对齐(确认字段与接口信息)
  4. 并行:前端用mock或者写死假数据,后端自己进行开发

项目如何从〇到一
https://wlei224.gitee.io/2023/07/02/howtomakeproject/
Author
WLei224
Posted on
July 2, 2023
Updated on
December 20, 2023
Licensed under