【分享2】分享我第一个项目趟过的坑
2021-4-20 16:18:21
5363
2
本帖最后由 160678715510785 于 2021-4-20 16:19 编辑 上期云表开发架构的想法分享后,有同学建议再分享一些内容,本期就分享一下我第一个项目趟过的坑,希望能对大家有所帮助。 参加第1期特训云培训班时,刚接触云表1个月,正好手上有一个练手的需求----某学校教学质量考核。简单来说,就是全年级成绩出来以后,根据成绩各种排名、各种环比、各种加工计算等,大概算了一下,180个计算指标项左右。 这个是典型的分析型系统,分析型系统说实话不太适合云表的使用场景,最后花了两个月时间还是做了出来,其中有不少坑分享给大家。 1.表单数据项的设计(其是更准确应该叫数据模型设计)。 (1)代码表的设计:我采用的是单个代码表的方式,这和现在大家采用的方式相同。其中有通用的代码和项目范围内使用的代码。虽然同样可以实现功能,但这套成果物复用率很低,模板间的关系也复杂,一个关联的模板有问题使用就有问题。这也是开发框架要主要解决的问题(有时间再分享云表框架代码设计)。这也是单模板不能交易的主要原因之一。 (2)参数表的设计:同样也是采用单个模板的方式,同样也是模板在项目间再利用率低的问题。 (3)表单数据项设计:遵循基本的范式建模型,结合云表的特点冗余代码名称(交易型系统一般采用3范式,分析型系统采用维度建模),本次模型设计交易控制的表采用3范式,主从表设计,冗余代码名称(显示用,控制用代码);结果表使用云表的交叉表,数据“行存”的方式,保证指标可灵活扩展。由于不了解云表特性,最大的坑是没有在设计表时指定数据库列名,导致我写了好多视图来对应f1,f2…….云表开发者如果需要和数据库交互的表,记得这里有一个技巧! 对界面的控制最先采用表单上的按钮来控制,但控件控制的属性弱,无法单独显示和隐藏,后改为工具栏按钮,按状态显示可用按钮,降低操作选项难度,减少误操作入口。 3.数据加工和外部数据源
纯数据加工处理还是交给数据库来做吧。如中国式的排名是计算中最最基础的步骤,数百人中国式排名采用云表处理复杂不说,需要数十分钟,但用数据库分析函数秒出(我使用的是oracle),所有180个指标近计算结果近10万条数据用时不到1分钟。剩下的
查询和统计报表再通过外部数据源交给云表展示是不错的配合。
|
+1
24
最近谁赞过
2条回帖