GithubHelp home page GithubHelp logo

my-note's People

Contributors

jeffreyrn avatar

Watchers

 avatar

my-note's Issues

uRule项目总结

项目背景

现有的是jQuery+React框架编写的uRule决策引擎管理系统。
在对原有代码阅读之后,发现引用的库和包陈旧,代码耦合性较高,不利于未来的长期维护和改造;
使用的组件可定制性差,难以扩展和UI重构。

项目内容

  • 对原有的uRule系统进行重构,主要包括决策集、交叉决策表、决策流、评分卡、决策树;
  • 适配原有的JSON传输格式;
  • 编写便于维护和升级的代码。

项目实施情况

搭建项目框架和环境配置

用时1天;
使用框架为vue.js + element UI;
运行环境分为三种,使用方法参加项目package.json中的运行脚本:

  • 开发:后台使用本地mock api数据,无需联网,从而在后台接口不稳定的情况下也不影响开发,也便于代码阅读;
  • 测试:后台使用线上的api数据,需要联网,前端代码是本地node服务器,热更新,便于实时开发预览;
  • 线上:经过优化和压缩后吗,打包为可以上传到服务器的的代码;

决策集的开发

用时5天;
封装了公共组件,包括层级选择器、构成表达式的元组件、决策集中的树状元组件;
完成了决策集的编辑,保存,添加,和删除的功能;
阅读并熟悉原有的数据传输格式,将现有的数格式与其适配;

交叉决策表的开发

用时5天;
封装了公共组件,单元格的条件选择组件;
完成了交叉决策表的编辑,保存,添加,删除等功能;
阅读并熟悉原有的数据传输格式,将现有的数格式与其适配;

决策流的开发

用时5天;
封装了可以方便编辑和扩展维护的流程图组件;
完成了决策流的编辑,保存,添加,删除等功能;
阅读并熟悉原有的数据传输格式,将现有的数格式与其适配;

评分卡和决策树的开发

用时6天;
复用了现有树状元组件,表达式的元组件,和层级选择器;
完成了评分卡和决策树的编辑,保存,添加,删除等功能;
阅读并熟悉原有的数据传输格式,将现有的数格式与其适配;

项目反馈

  • 项目开发背景在初期不够明确,导致对需求的理解困难;
  • 旧有的数据保存格式设计不够合理,适配花费了大量时间;
  • 原有的项目交互方式不友好,需要进行理解并优化;
  • 开发时间过于紧迫,缺少了反思总结和优化流程;

项目反思

拆分的重要性

起初面对项目整体,过于复杂,无从下手;
之后将整个项目拆分为可以逐个击破的子任务后,开发过程才有了规划;
面对复杂任务,要学会分而治之;

即时沟通

开发过程中忽略了即时反馈的重要性;
每天的项目规划,和完成反馈,才能保证项目朝正确的方向上推进;
项目开发过程中要主动沟通和表达,保证信息同步,对等;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.