乐趣区

关于前端:为了把工作推给别人减少沟通成本提高工作效率我开发了这样一个工具

背景

事件是这样的:
公司始终很想重构官网,所以有一大堆信息,例如案例信息、SEO信息、产品信息、人物信息等。原本是想做个后盾治理来治理这些信息,不便前期经营的共事本人去增删改查。后果不出所料,又呈现了职场领导最爱的三问——“开发须要多久?”、“什么时候能开发完?”、“大略什么时候上线?”。

这潜台词不就是要快点搞进去吗?行,跟组里其他人磋商完了当前,后盾治理先不弄了,这样也省去了后盾接口开发跟管理系统搭建的工夫,反正也是一些静态数据,间接放前端就行了。

实现的思路也很简略:把页面中的一些静态数据,专门模块化抽离了进去,数据都建了相干的 json,用json 来治理对接人员提供的数据。到了对应的页面,再按需加载对应的 json,渲染出对应的页面数据。如果有什么批改,间接改json 就好了。
这乍一看,如同的确没什么故障。然而随着开发的深刻,应用 json 治理数据这种形式,问题也缓缓裸露进去。

事实问题

问题一

繁琐的批改,导致工作效率降落

咱们开发时,如果遇到的是让人很无语的客户或者领导(就是那种,一个设计能改几十稿,文案能改几百遍的那种),咱们必定会解体。置信大家应该也被这种 天堂反馈 折磨过吧:“领导不喜爱这个文案,要换”,“客户说这块信息不要了”,“这里有个错别字,要改一下”,“客户说这里要新加一条类别信息”…
原本代码写的挺有思路的,后果因为这些琐事被打断,效率分分钟大打折扣

问题二

沟通老本的减少

职场有各种各样的人,有习惯好的,有习惯差的。置信你应该也遇过这种类型的对接人,对领导或客户的修改意见不是间接截图,就是没有汇总,间接把修改意见一条条 碎片式 间接发群里。

但咱们在专一开发的时候,忙起来信息根本是没什么工夫看的,有一些修改意见咱们也会错过。所以得回头一条条查记录,遇到不了解的修改意见,又得再问一次对方确认一下,遇到脾气不好的,可能还会被问烦暴怒。这无疑又减少了许多没有必要的沟通老本

问题三

无奈更不便敌对的治理数据

  • 如果须要数据的页面或模块多了,会导致对应的 json 文件也增多。文件多了,数据太过碎片化,治理那么多文件也变得麻烦
  • 数据量很大的时候,,数据会变得很简短,想间接找到特定的某条数据,是很艰难的
  • 遇到数据十分多的页面或模块,想批改某个文案,即应用了关键字检索,然而如果有雷同关键字的数据,检索了也得一个个翻,批改非常麻烦

剖析问题

我置信上述问题,大家在平时工作中多多少少是有遇到过吧?所以我的项目上线后,我本人也剖析总结了一下,发现这些问题,在咱们很多我的项目中其实是十分常见的。

集体感觉,数据毕竟是对接人员给咱们的,所以像上述的问题一、问题二这种无意义繁琐的批改,减少的有效沟通老本,应该在对接人员那个阶段就要过滤掉才对;作为开发人员的咱们,最次要的职责应该是 专一开发 ,跟 接管最初确认版本的数据,而不是把工夫节约在那些没有意义的沟通跟批改上。

在企业中,咱们常常用 Office 等办公文件,输入各种文档,以此不便部门与部门,或者是不同人员之间沟通同步信息

于是一个想法闯入我的脑海,既然是办公软件,又是统计数据,那 Excel 这个办公软件仿佛是个十分好的抉择。我又查找了一下材料,弱小的 nodeJS,还能将咱们的Excel 转成json,看来遇到的问题迎刃而解。

解决问题

通过上述剖析,咱们能够得出以下解决方案:

咱们能够将所有数据集成在一个 Excel 文件中,这样对接人员能够通过这个文件,能够先很好的去收集客户或者领导给的数据,而后如果领导或者客户有什么批改,就能够间接在这个 Excel 间接批改。最初等所有确认结束,对接人员再将这个 Excel 文件发回给咱们,咱们再导出 json 数据就能够了。

某种程度来说,咱们相当于把批改这个工作前置,“推”给了对接人员。并且在这个过程中,咱们岂但能够很好的专一咱们的开发,只用关注最初发回来的这个Excel,咱们还为那些习惯不好的对接人员,养成了信息汇总,输入文档的好习惯。这很好的解决了问题一,问题二。

同时,基于 Excel 的性能,还有在 Excel 外面,每一个表(sheet)能够当做咱们某个页面或某个模块的数据,因而上述问题三也失去了无效解决。

所以,咱们最初解决上述的问题,就大抵变成了以下步骤:

  1. 须要一个 Excel 文件,它的作用是用来收集,批改,统计数据
  2. 将这个 Excel 文件先给对接人员,让他们去对接数据的提供者,而后整顿批改这些数据,导出最终确认版本的数据
  3. 通过步骤二,咱们拿到这个最终的 Excel 文件,再把它转成咱们所须要的 json。这样Exceljson 的版本永远雷同,只有保障 Excel 版本最新,咱们的 json 也是最新的,升高了数据有误的危险
  4. 前期模块或者页面有数据更新,咱们更新只须要批改 Excel,导出json,而后替换掉线上的json 文件,不须要重新部署代码(这点在开发小程序的时候,尤其重要

前面对接的小哥专门感激了下我,因为他之前是用 Word 做的文档,切实是太乱了,我就帮忙做了一个 Excel(也不简单)。因为Excel 比起 Word,收集批改数据的确不便很多,发给领导或客户看的时候,也比拟高深莫测。
老板应该给我加薪 :-)


另外,Excel性能全面,所以用它来治理数据还有以下益处:

  • 更不便的操作。Excel是业余的办公软件,在 Excel 中对数据进行增删改查,当然要比在咱们的编辑器内批改要不便太多
  • 更可视化。每一个表(sheet)能够当做咱们某个页面或某个模块的数据;每个表(sheet)的名字,就是咱们 json 的名字;表里每一行数据,就是咱们 json 每一条的数据
  • 更不便的治理。数据都集成在一个 Excel 文件中,更加不便咱们治理所有模块或页面的数据
  • 更适宜流传。本着我为人人,人人为我的精力,json不适宜在非开发人员中流传,然而 Excel 实用于所有人员。岂但对接人员能够对这个 Excel 进行批改,如果你发现 Excel 外面有问题,你也一样能够批改,而后再同步给对接人员。

有了这些益处,所以咱们应用 Excel 来治理咱们的数据,不仅能解决上述问题,平时咱们开发中,如果数据结构不简单,咱们一样也能用 Excel 来治理咱们本人开发时候的数据。

工具诞生

因而,基于上述的剖析跟解决问题的思路,再联合 Excel 这个办公软件自身的劣势,于是我将这两者联合在一起,开发了这个终端小工具——ejc-cli

github地址:https://github.com/limingcan562/ejc-cli

  • 如果真的感觉好用或者有帮忙到,感激大家狠狠的给一个star。大家的认可,是我持续分享创作的能源之一
  • 也欢送大家 fork 交流学习
  • 有问题或者有什么想加的性能,也能够提 issue 给我,让我更好的欠缺它

上述的剖析跟解决问题的思路,都离不开要拿来收集,批改,治理数据的 Excel 这个文件,于是我大抵钻研了大部分收集数据的 Excel 是怎么做的。发现这类 Excel 表格构造根本都差不多,都是一行题目,而后上面跟着一条条数据。

所以,为了让大家更不便的应用,ejc-cli外面曾经内置了一个 Excel 模板,你不须要再本人制作一个 Excel,你只须要执行:

ejc-cli gt

或者将模板文件保留到指定目录:

ejc-cli gt './xlsx_template/'

这样你就能获取到一个名为 template.xlsxExcel模板文件。

大家获取到这个模板文件后,把对应的一些信息改成本人的,而后依据下面解决问题的几个步骤:

  • 先发给对接人员去收集,整顿,批改数据
  • 拿到最终版本的 Excel 文件(或者用来治理本人开发时的数据)
  • 应用 ejc-cli 的命令行,导出咱们最初要的 json 数据

ejc-cli导出 json 最繁难的命令行:

ejc-cli -i './xlsx_template/template.xlsx'

对于 ejc-cli 更多的用法,大家能够去这里查阅:应用阐明

成果展现

模板 Excel 文件:

应用成果:

输入 json 数据:

最初

写这篇文章次要还是想表白,尽管平时咱们“复制粘贴”很难受,然而我感觉,作为开发者的咱们,更应该充当一个创造者,代码就像是咱们的原材料。咱们既然领有了原材料,那就应该发明一些工具,尽可能让工具来帮咱们做一些反复的事件,或者让工具把咱们的工作、生存变得更加简略

就像为什么我想开发 ejc-cli 这个工具,因为下面说的问题,其实在很多我的项目中都有遇到,而且不止一次,并且剖析过后,我感觉是有方法把那些不用节约掉的工夫节约回来的。那咱们为什么不利用咱们的专长(编程),把咱们的想法变成事实呢?

最初的最初,创作不易呀,对于ejc-cli

  • 如果真的感觉好用或者有帮忙到,感激大家狠狠的给一个star。大家的认可,是我持续分享创作的能源之一
  • 也欢送大家 fork 交流学习
  • 有问题或者有什么想加的性能,也能够提 issue 给我,让我更好的欠缺它
退出移动版