面向名词编程现象
通过现象理解编程本质
编程,顾名思义是编写程序。但是,语言和写法层出不穷,设计模式也是五花八门,在庞杂的知识体系面前,面向名词编程的开发者也是越来越多。
首先,技术的发展和进步本质是因为市场需求推动的,而不是为了程序本身的升华,比如更快的开发速度、更高的并发容灾、更灵活的部署方式,最后落在实地的,是对市场的正反馈。而用户是市场的核心组成部分,我们的任何需求都是两个目的,一是解决人的体验痛点,二是提升用户的享受体验。你品,你细细的品,就是这么回事。
那么,明确了编程本质后,再来思考编程本身,任何思考狭隘的开发者都不能写出优秀的作品,尽管现在前后端分离已是大势所趋,但是前后端分离的目的是什么,可能每个开发人员都能说出个一二三来。更加专注自身的专业领域啊、更好维护项目啊、各司其职啊什么的,没错,前后端分离是希望让专业的人专心做专业的事,但是不是说前端可以不考虑后端,后端不考虑前端,那最终会成为一个编码螺丝钉,很难在技术视野和思维上更进一步。
单拿前端 Vue.js为例,无疑是一个非常nice的前端框架,是很多项目前端工程化的首选,其实学会用很简单,跟着文档去过一遍,做几个项目就上手了,但是如何把编程思维融合进自己写的代码,却是因人而异了。
组件是为了拆分大的代码单元,以及通过复用提高开发效率,降低维护成本。但是,什么时候该用组件,什么时候最好不用组件,每个人可能都有不同的思考。首先不要为了组件化去组件化。组件的封装是首先应该是为了让其他人少写代码,less is more,组件内部的复杂度可以很高,但暴露出来的调用方式一定要够清晰明了,用最少的引用成本实现功能。其二能用样式控制的,应优先选择使用css实现,而不是还去用组件,很多时候是没有必要的。
对我自身而言,是很难在糟心的组件基础上全精力开发内容的,不仅开发效率低,心情也极差。其实每个人应该都是这样的,所以当我们深入体会一坨代码的感觉,在团队的管理中,就更应该知道如何下手来提高团队工效。
其实类似的现象有很多,很多简单的业务要用很重或者很复杂的技术方案去实现,完全是没有必要的。没有一种技术理念和方式是能够契合所有项目的,所以更应该吸取每种方案的理念精髓,逢山开路,遇水架桥,让每一句代码都变得有意义。
最后更新于