其实我们在工作中一直在思考。有的人思考这个Bug怎么改,有的人质疑这个需求的合理性,有的人在头脑风暴,目的不同思考的角度不同,能产生的结果也不同。今天主要介绍一个针对普通程序猿/媛的思考:开发协作系统。
对于很多公司程序员来说,交接工作是件很让人头疼的事。员工甲要离职,员工乙很荣幸的要接盘,我相信大多数员工乙会维持礼貌性的笑容来应对承接下来的工作。员工甲急于投入更好的未来,整理一个交接文档,面对面开始流水式的介绍一遍之前一年甚至更长时间的工作内容;员工乙可能都不会想到自己应该问什么,于是交接完成。而后的日子就是员工乙的日子,可能很漫长。
而我的思考也是从之前“员工乙”的角色扮演开始,甲兄弟走了,去某个更西北的美丽城市了,在这里先祝贺一下甲兄。我苦逼的日子开始了,首先注释率很低,其次代码过于聚合,最终的结果是我心情澎湃的看了一整天才定位到bug原因。
问题处理完我思考再三决定开始我的表演。首先用nodejs的fs服务管理一下我的项目文件,如图所示:
开发协作系统
基本nodejs的Koa框架和Vue + ElementUI体系搭建出一套简单的协作系统。启动web本地服务器:
随机开始处理几点问题核心,首先统计开发文件行数来监督一个文件上千行代码造成的代码过于聚合;其次根据html、javascript、css注释规范用正则表达式统计注释行数来计算注释率;编写界面话备注文件功能统一管制文件备注风格,增强开发文件可读性。当然也加了配置功能,包含针对文件显示的过滤规则,如:只读取.js和.vue文件进行监督查看处理;读取自定义文件路径下文件;配置文件顶部备注规范。
第二部分考虑文件目录树的生成和README.md文件的编写,如何所示:
生成文件目录树并且读取文件备注,便于更直观了解文件功能。支持README.md文件的读取编写、预览、写入功能,应对在代码不断迭代开发中,随时随机更新README.md文件,无论你是刚入项目还是接盘别人的功能都能在README.md中或者在托管工具界面快速了解整个项目全貌。
其它思考
我在动手开发前并没有想的那么多,开发过程中才慢慢想到一些新的点子融合进去,只有肯动手还是会出点效果的。当然我还想到统计圈复杂度等一些更细维度的参考值来以表格的形式定期推送给领导监督,最后觉得这些维度规则尚未研究透彻,动手还需再磨刀,其次感觉对我们这些搬砖的小猿/媛约束太深刻,聚合解耦没有好坏只有恰当的度最好,管理亦之。
后记
可能孤陋且言轻,路过大佬略过。具体技术实现如果感兴趣可以关注公众号联系我们,有更好的解决方案或者思考更欢迎,思想的碰撞不只有火花还有共赢。