工作笔记一:fligt数据展示(c++/html)
入职已有1个多月了,之前都是干了一下统计数据的杂货,上周开始算是做了一个比较完整的可以写写的工具,大概写写整个过程。
需求:目前module跑出的结果是一个tsv文件,文件包含了很多的table,每个table有很多counting feature的数据,由于数据太
多,想看的数据其实占很少一部分,这样就感觉数据特别乱,所以就想把现在的tsv以一种简洁的并且隐藏不需要的数据的方式展现。
计划:开始的时候,其他team有一个类似的需求并且工具也已经成型了,所以想借鉴他们的方式,用report builder来讲数据做成
报表的形式,结果plan被manageer否定了,原因是话费时间太长并且这种方式做出来不一定有人用,gain不够明显。经过讨论之后,
决定是直接讲tsv转化成html,以网页形式展示,工作量少且简单,能快速成型。
编码:首先我做了个静态page,给mentor看了一下。由于之前没有写过js,css等前端页面的东西,所以都是现学现卖,2天赶出来了
page,经过修改之后就是code,程序生成这样的文件。在这个阶段学到的东西主要有:
1) dataTable插件:这个插件可以对按列排序,分页等,主要的学习site:
http://www.datatables.net/examples/ 上面很多example
http://www.datatables.net/api 很重要的,我主要是用它实现获取当前cell的坐标,来进行添加tooltips
http://www.datatables.net/forums/
例外可以通过 http://www.w3school.com.cn/ 来对基本的html知识进行一个学习。
2) vs开发环境: 这个IDE很庞大,debug也挺方便的,这个程序中经常遇到段错误,需要debug,学会了一个condition debug,当一个循环
特别多时,这个就派上用场了,还有就是平常经常用到的那些 F5,F9,F10,Ctrl+F10,F11. 程序中用到很多STL,尤其我经常出错的地方是
一个vector,如果初始化的是没有被resize,那么直接使用vc[idx]是非常容易出错的,所以程序中有赋值操作,一定注意vecotr的capacity。
另外一个就是读configure,这个一般程序中都会有的,所以不用为了图省事,就直接用const来取代,当程序非常大并且考虑的因素多了之后,
该问题就明显了,所以最开始写程序的时候就一般加个配置文件。
在该工具中,感觉需要注意的一点就是不能拘泥于很小的细节,我在设计那个page时(自己不是designer),就对page的每个细节抠的太细了,
导致静态page花了2,3天,其实设计个静态demo应该很简单的,我光对设计表的样式就弄了很久,其实满足基本要求就行了,比如表头不换行这个
样式,我其实已经查了使用white-space : nowarp就可以了,但是发现显示的还是换行了,光这个小问题弄了很久,结果发现是浏览器的问题。
所以在真正的工作中,我们要分清重点,把最重要的东西先做完,然后再进行小细节的优化。