2019年度总结,论流程图的对站稳职场的重要性 | 掘金年度征文

1,014 阅读7分钟

初次写文章,如有瑕疵,望各位大佬见谅,大家可以称呼我阿艺。

作为一名前端人员,和需求打交道称之为最关键的工作之一,一点都不夸张,那么,不知各位大佬在拿到需求文档的第一件事情是什么呢?对于一些老开发而言,想必怎们实现这些需求在和需求沟通的时候便大致有了思路,拿到文档后再关注一下细节皆可以进行开发了。而我现在想要推荐一下个人的浅见:拿到需求文档后,先画流程图!

刻画流程图的意义

  1. 理清思路: 在和需求对接完成后,我们需要根据文档刻画一个流程出来,将我们的思路完整的呈现出来,这样我们才能更加高效快速的完成开发
  2. 减少BUG: 在我们刻画流程图的时候,已经完成了对自己思维的一次严密诊断,避免了我们思路卡断时所带来的的不必要的错误
  3. 减少冗余: 很多时候,直接进行实现会出现作用相同,但不能进行直接复用的代码片段,这是因为,当我们的注意力集中到某一个功能点上的时候,很难发现其他功能点也可以使用该逻辑解决,导致我们加入了许多专属逻辑、变量使其不能够复用,而流程图的呈现,便能大幅减少雷同逻辑,能使我们拥有统筹观,在开发时便知道该逻辑片段是否有多次使用
  4. 快速完善: 很少有人能够一次完成所有开发而不出错的,大家可能会说,自己都是一个片段完成后查阅是否有问题,没有的话才会进行下一步开发。那不知各位大佬,以及刚步入这个行业的新面孔有没有出现过每一个功能点在开发的时候都没有问题,可是当完成所有开发时,就会出现那么一些问题,比如:大家都在开发同一个项目,当合并代码的时候就会报出许多冲突错误,有或者不同的人开发同一个逻辑片段,因为后人不熟悉前人的逻辑,就会出现不可预知的错误。但是如果我们拥有详细的逻辑流程图,不仅仅前期可以避免一些错误,后期同样能够根据流程图再次排查自己的思路
  5. 读懂代码: 这点对于新人来说尤为重要,刻画流程图能够帮助新人快速读懂自己的代码,让其能够快速的上手工作。当然对于新人而言如果没有流程图,那就自己根据需求文档刻画一份,工作量虽然很大,但是能够让自己两周内熟悉业务逻辑,并根据自己的思路快速读懂代码。如下图就是本人仿照刚进入新公司自己绘制流程图重新刻画的部分流程图(缩小版,内容已虚构并虚化)该项目的需求文档共计203页,刻画完整流程图鄙人使用了8天,8天后自己对该项目的业务流程已基本掌握,对各部分的功能逻辑也大致掌握,从而在修改BUG的时候,不会像无头苍蝇一样到处乱飞,又或者一个函数一个函数的找到根节点,严重滞后了效率。
  6. 提升自我: 这点不用多说大家也必然有所感悟,流程图的思想不仅仅是体现的业务逻辑的实现上,也更多的体现在版块的划分,团队的管理,时间的把控等等诸多方面,一个人做事有条有稳,轻重应对自如,都离不开对环节的把控,而这些抽象的环节可以在一开始便具体化到流程图之上

流程图绘制是否困难

答案是肯定的。

  • 对于新人而言: 流程图绘制是一件麻烦事儿,他需要你不断的经历头脑风暴,这块的逻辑怎么实现,该变量和其他版块有什么关联,对于代码段复用度达到80%以上的能否提升到100%等等(这一个对老人而言同样棘手)等等都需要考虑进去,你会发先,如果自己之前没有做过,可能两三个页面的流程图绘制就会用掉自己一整天,而且还有可能做不完。
  • 对于老人而言: 除去上面所说的,对于已经在经常刻画流程图的人来说,这并不是一件很轻松的事情,比如需要考虑到和之前代码逻辑下关联,可能会有人说,现在都是模块化开发了,影响不是很大,但对于共用代码我们不得不考虑进去,还有对于老人来说,我们需要的是用最简单的思维逻辑来实现各种繁杂的功能,这就需要我们提前把思维逻辑刻画出来以免出错,在提交详细设计报告的时候,可能很多人都不会去刻画流程图,因为这会占据他大量的时间,但是,如果我们不去做,提交上去后便需要领导用更多的时间去把控我们的代码。

  • 总结: 困难是有的,但我们需要去做这一个环节,上文也说过流程图的好处,此处不再赘述。总之,流程图不仅能让自己的思路更加清晰,也能够让他人更快速的了解自己的逻辑,让领导更好的把控,作为领导也能更好的分配工作,安排时间等等,何乐而不为呢?顺便透露一下,你若想脱颖而出,首先需要把自己手头工作处理高效,流程图很少有人去做,本人所在项目组20多人(纯前端),流程图都不屑去做,但个人认为极其重要,因而就本人在做。

年度总结

可能很多人觉得我说的都是大道理,并不实用,在此我需要说明流程图的应用不仅仅是在开发上具有基石性意义,更重要的是体现在学习上,你需要的只是坚持。

你可以用在学习规划上,简单举个例子学习JS,在JS这条主线上你个人将充实哪些技能,主线构建完成,就需要你对这些技能开枝,比如为了这个知识点你需要从哪些方面学习,学习路径有了,也就是说骨架已经构建完成,你需要充实血肉了,比如该路径上你做了哪些demo,学习到了哪些新概念,有了哪些新想法,一定要书写下来作为成果,最后就是闭环,也就是这一路径的总结,路径总结完成后就是这一分支的总结,一定要务实,用自己的话语总结,最终汇聚成一颗流程树,当你自己播种的流程树成林时,又何愁技术不过硬。

本人今年种树不多,JS/Lodash/vue/webpack/git/day.js/vuex/JQuery/TS等,由于本人意识形成较晚,仅对这些经常使用的技术点进行了构建,因为里边有比较小的流程树,但不可因小而不重视,因为森林里不仅有参天大树更遍布灌木花草。

在构建流程树的过程中,自己更多的是反思,有时候停下来思考一下并不是什么坏事,可以明白自己到底在这些年里有哪些不足却一直停不下来去完善得,无论人事,都需要时常反思总结才可,才能走的更远,攀的更高!

2020年展望

对于2020年,自己规划拓展3项技能具体待思考,然后来一场旅行,这个旅行路线正在规划,大概会途径6个省,会有高山秀水(云南、广西等),广袤草原(鄂尔多斯等),古城情怀(西安、襄阳等)。

声明

以上图片,出流程图外均采纳于百度图片,如有版权限制,请告知,本人立即清除!

掘金年度征文 | 2019 与我的技术之路 征文活动正在进行中......