引子
唉,好长时间没写文章了,想把昨天面试遇到的事情写一下
正文
坐标:杭州,工作经历:曾在国内支付龙头企业与杭州某独角兽任职,目前已离职两周(不得不说,今年的行情更差了,找不到根本找不到,裂开),昨天接到第一个线下面试,公司是做新能源的,开局还是千篇一律的填登记表与自我介绍。一会儿来了两个面试官,一个是技术主管,一个是公司的什么总,回答了一系列问题,探讨到了文件封装的问题
我:在之前工作中,默认遵守的是高内聚,低耦合的原则,组件封装在非不得已的情况最多不能超过3层,如果超出,那大概率是自己的代码设计或思想有问题。
面试官:你们没有做过大型项目么?组件层级超过5层的都很常见,现在不都是模块化思想么,把每个组件抽出去或者复用不很正常么
我:模块化思想是正确的,封装复用也是正确的,我在开发中也会封装,但是依然会遵守最多三层的原则,保证一定的可读性和可维护性。不必为了封装而封装,过渡封装不可取。你现在开发的业务模块自由抽离自由复用,一下子嵌套了四五层,老祖套曾祖父,曾祖父套祖父,祖父套爷爷,爷爷套父亲,父亲套儿子...,然后根据不同的产品需求,加一些参数和特定的方法去判断更改当前组件的逻辑或样式,但是你有没有考虑过文件的深度,可读性可扩展性。你不可能一直开发维护一个项目,你现在知道自己写的代码逻辑,但是两三个月后呢?你让后面接手的人怎么开发维护,陡增心智负担和开发成本,过度的封装势必会导致他人对代码的阅读的困难,重复一些页面没什么,产品需求随时可变,过了几周就不重复了,真的没必要去为了封装而封装,没人想接手一个封装很多层的代码 哪怕你的交接文档写的很好
结尾
最后就是我们谁也说服不了谁,这个面试结果是凉了,再接再厉吧。
劳烦各位观看的掘友们发表一下自己的看法,阿哩嘎多思密达