software_project_webPlatform
2020-04-04
项目的反思:
1. 应将 Chiller 和 performance 在 getResult() 这一点上抽象出统一的接口. 目前存在一些地方的的 Object 转换
2. 应在外部遍历数据的时候,将不能按照正常实例化的项 单独处理,无需为此改变了对象的构造方式。

3. 在从数据中获取 Biz 对象的流程采用 模板方法, 每个Biz 的解析逻辑及构造的对象不同,
但都会包含两个部分:
1. 解析成功的部分是 entries Map<String,EntryNode>
2.解析不成功的部分是 List<String>
String 以 userType-project-tag 因为 Chiller 的 tag file 带有 _chiller.xml 特例,因此将 ID() 方法 在 Chiller overwrite.
4. 在对比两块 Biz 的时候,通用的逻辑抽象出来,可用 Template method.
5. 需要将 Validation 的数据比对 分 Performance, Option, Extension 分块组织.
6. 统一 Msg Constants.
todo list:
1. 构建统一的 KPI 组织形式为, EntryNode
<section name=" " >
<item value="">
</section>
2. 构建两 KPI 对比 Template method, PerfValChlHandler 这一部分的 section 对比逻辑需要简化。
imp
1 修改了 Storyboard mapping file,


需要修改 默认访问文件路径;
需要修改 XML 解析路径。
需要将 Storyboard 中增加 performance ,及后续 option 预先准备 其组织方式。
需要增加 extension 信息处理,及相应的 数据对比。
将 Perf via chl 的 section 整理出来下 通用对比功能出来。避免重复功能代码。
2020-04-07 10:37:42
Implementation records:
1. extent storyboard rules
2. uniform repository biz entry acquirement.
absRepository 统一接口。

处理掉本不应该开放的 new constructure(),当时的情况是为了将无效的entry 纳入到统一的数据结构内,现在分离出去。


2020-04-07 13:43:44
一个 case, 其可能为正常的数据, 也可能是 error 的数据( 业务范畴属于正常情况,例如在某个工况下是不能产生某些性能数据),此时会有相应的 error 信息.
此时存在两条设计路线, 一种是为了保持格式统一, EntryNode 增加 Error node, 将数据存储在此。与正常的数据部分保持一致。
其二,是便利的存储, List<String> 其size() 便能取出所有 error msg. 不用再查找及遍历 Error Node,
决策: Entry Node 的存取并不复杂, 且给了 Entry title 级别给了一个标识 constant .
Chiller 内部用的一个 MARK_STATUS, 为了处理一个 KPI, 值列表的形式 是 kpi, kpi_1, kpi_2 .... 这种情况.

2020-04-09
增加对 extension 逻辑的处理,与 performance KPI有部分相似部分,但逻辑分支会少一些。

substring, 开始索引, 结束索引 (不包含),不要将第二个参数误解为 截取个数。

JS 对象的遍历 和数组的遍历

2020-04-14
处理的几个问题:
1. bootstrap-table formatters : 意图直接处理一个 Array 类型,再单元格里内嵌一个table, 以显示差异的 details,结果为 table 不加载此块数据
其他列数据正常显示,据查有说 formatters 是返回即时数据,数据建议放在外部处理。

解决方案:



2. 在前端数据的显示时, 分 char 类型, num 类型会多一个数值差异,因此后者多一个属性。
在判断属性是否存在时,不要用 null 或 “”. 而是要用 undefined.
下图为用 null 实则未判定。

下图为 undefined 判定属性是否存在。

3. formatters 方法 formatters ( value, row, index ) { return .. ; } value 是当前值, row 是该行数据, index 索引。

4. 需要可编辑的单元格时, formatters, 和 event 事件配合开发。
5. 有的数据可用 responseHandler 处理原始数据。
复杂表头,参考 https://segmentfault.com/a/1190000015677716
前端的 HTML规范采用 HTML5 boilerplate , 但项目未考虑兼容 IE, 后续要综合考虑。https://www.bootcss.com/p/html5boilerplate/
1 <!DOCTYPE html> 2 <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 3 <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 4 <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> 5 <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 6 <head> 7 <meta charset="utf-8"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 9 <title></title> 10 <meta name="description" content=""> 11 <meta name="viewport" content="width=device-width"> 12 13 <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> 14 15 <link rel="stylesheet" href="css/normalize.css"> 16 <link rel="stylesheet" href="css/main.css"> 17 <script src="js/vendor/modernizr-2.6.2.min.js"></script> 18 </head> 19 <body> 20 <!--[if lt IE 7]> 21 <p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p> 22 <![endif]--> 23 24 <!-- Add your site or application content here --> 25 <p>Hello world! This is HTML5 Boilerplate.</p> 26 27 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 28 <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.9.0.min.js"><\/script>')</script> 29 <script src="js/plugins.js"></script> 30 <script src="js/main.js"></script> 31 32 <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. --> 33 <script> 34 var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']]; 35 (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; 36 g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js'; 37 s.parentNode.insertBefore(g,s)}(document,'script')); 38 </script> 39 </body> 40 </html>
HTML5 语义化
https://www.jianshu.com/p/b226910034f2


浙公网安备 33010602011771号