作为一个前端,应该如何更好的提升自己?

lxf2023-08-28 16:30:01

前言

相信大家平时提升自己能力最主要的方式就是学习吧?但是在现在卷爆的前端,我们都会有这种感受,感觉学不动了,学累了,不想学了,但是不学又害怕自己找不到工作,所以每天时不时都在这种“被动”学习的痛苦中度过。

因此这个时候,我们提升能力,不能一味的只靠学习,我这里有个小建议大家不妨可以试试。那就是,尝试开发一些工具(尽管它可能只是一些小工具),用它来解决我们的工作遇到的问题,或是提高我们的工作效率,或是让我们的生活变得有趣。

在这个过程中,你可以很好的锻炼到总结问题的能力,分析问题的能力,解决问题的能力,还有最后输出工具的能力。这难道不比乏味全是英文字母的学习有趣多了吗?

以下是我做了几个公司的项目,总结出来的的一些问题,并分析如何规避解决的过程。

背景

事情是这样的:
公司一直很想重构官网,所以有一大堆信息,例如案例信息、SEO信息、产品信息、人物信息等。本来是想做个后台管理来管理这些信息,方便后期运营的同事自己去增删改查。结果不出所料,又出现了职场领导最爱的三问——“开发需要多久?”、“什么时候能开发完?”、“大概什么时候上线?”。

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

实现的思路也很简单:把页面中的一些静态数据,专门模块化抽离了出来,数据都建了相关的json,用json来管理对接人员提供的数据。到了对应的页面,再按需加载对应的json,渲染出对应的页面数据。如果有什么修改,直接改json就好了。
这乍一看,好像确实没什么毛病。但是随着开发的深入,使用json管理数据这种方式,问题也慢慢暴露出来。

现实问题

问题一

繁琐的修改,导致工作效率下降

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

问题二

沟通成本的增加

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

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

问题三

无法更方便友好的管理数据

  • 如果需要数据的页面或模块多了,会导致对应的json文件也增多。文件多了,数据太过碎片化,管理那么多文件也变得麻烦
  • 数据量很大的时候,数据会变得很冗长,想直接找到特定的某条数据,是很困难的
  • 遇到数据非常多的页面或模块,想修改某个文案,即使用了关键字检索,但是如果有相同关键字的数据,检索了也得一个个翻,修改十分麻烦

分析问题

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

个人觉得,数据毕竟是对接人员给我们的,所以像上述的问题一、问题二这种无意义繁琐的修改,增加的无效沟通成本,应该在对接人员那个阶段就要过滤掉才对;作为开发人员的我们,最主要的职责应该是专注开发,跟接收最后确认版本的数据,而不是把时间浪费在那些没有意义的沟通跟修改上。

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

于是一个想法闯入我的脑海,既然是办公软件,又是统计数据,那Excel这个办公软件似乎是个非常好的选择。我又查找了一下资料,强大的nodeJS,还能将我们的Excel转成json,看来遇到的问题迎刃而解。

解决问题

通过上述分析,我们可以得出以下解决方案

我们可以将所有数据集成在一个Excel文件中,这样对接人员可以通过这个文件,可以先很好的去收集客户或者领导给的数据,然后如果领导或者客户有什么修改,就可以直接在这个Excel直接修改。最后等一切确认完毕,对接人员再将这个Excel文件发回给我们,我们再导出json数据就可以了。

所以,我们最后解决上述的问题,就大致变成了以下步骤:

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

想法转变现实

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

github地址:github.com/limingcan56…

上述的分析跟解决问题的思路,都离不开要拿来收集,修改,管理数据的Excel这个文件,于是我又大致研究了大部分收集数据的Excel是怎么做的。发现这类Excel表格结构基本都差不多,都是一行标题,然后下面跟着一条条数据。

所以,为了平时更方便的使用,我又在ejc-cli里内置了一个模板Excel文件,这样也不需要再自己制作一个Excel。只需要通过命令行:

ejc-cli gt

这样就能拿到一个模板Excel,然后再把数据改成自己的,然后根据上面解决问题的几个步骤:

  • 先发给对接人员去收集,整理,修改数据
  • 拿到最终版本的Excel文件(或者用来管理自己开发时的数据)
  • 使用ejc-cli的命令行,导出我们最后要的json数据

至此,公司项目中对于我来说经常存在的问题,都基本很好的得到了解决

效果展示

模板Excel文件:

作为一个前端,应该如何更好的提升自己?

使用效果:

作为一个前端,应该如何更好的提升自己?

输出json数据:

作为一个前端,应该如何更好的提升自己?

效益

这个工具开发完以后,确实为我带来了不少便捷。用它来管理数据有以下好处:

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

某种程度来说,我们也相当于把修改这个工作前置,“甩”给了对接人员,它很好地帮我节约了不少时间,尤其是那些繁琐的修改。并且在这个过程中,我们不但可以很好的专注我们的开发,只用关注最后发回来的这个Excel

由于ejc-cli里面也内置了Excel模板,你可以获取到它,然后发给对接人员,这也为那些习惯不好的对接人员养成了信息汇总的习惯(尤其是一些实习生)。毕竟一个项目是一个团队在做,而不是一个人;所以一个人习惯好,效率并不会提升,应该大家一起养成好的习惯,事情才会事半功倍。

当然你也可以自己做一个,锻炼一下。

最后

看到最后输出的这个工具,颜值还可以,虽说不是什么很高级的工具,但最重要的是,在这一整个过程中,它很好的锻炼到了我总结问题、分析问题、解决问题的能力。

而且,工具打包上线到了npm,是确确实实能在日常项目中使用,这让我感受到我的学习不仅仅只是一些Demo,而是有一种学以致用,真正能解决实际问题的感觉。

所以,在目前形势不太好,又内卷的阶段,作为一个前端,应该如何更好的提升自己?我们不要一味枯燥的学习,而是要尝试从自己身边的一些事情,或者工作中的项目出发,自己开发一些工具来提升自己。
在这个过程,我相信你一定会体验到只枯燥敲代码没有的快乐。有了快乐,我们的心态也会发生变化,这样我们在编程的路上,才能更好地走下去。

最后的最后:

如果你的项目中也有类似上述的问题,不妨可以试试这个工具——ejc-cli

  • 如果真的觉得好用或者有帮助到,欢迎给一个star,感激不尽
  • 也欢迎大家fork交流学习
  • 有问题或者有什么想加的功能,也可以提issue给我,让我更好的完善它
本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!