低代码
最近几年低代码、无代码开发非常流行,也真正为很多行业信息化提升了效率,节省了大量成本。所以我并不是指低代码本身是脓包,而是说有些人因为无设计、懒于设计、不会设计这类问题/脓包伪装成低代码来洗白。
目前市面上很多低代码服务或平台,有的还挺适合业务简单,没有多少逻辑的使用场景。比如经典的CRUD相关操作,在业务量不大且简单的情况下,确实能满足用户需求,快速提高效率。
简单的说,这类场景主要以记录数据为主,所以主要是一些表单采集、数据展示、数据分析工作。这些需求使用钉钉宜搭这类低代码工具来进行CRUD就够了。
通常这种经典CRUD操作往往只要面向表结构编程就可以了,但是这个习惯却很糟糕,久而久之会让一部分人认为,原来编程、软件工程开发就是这么一回事。更可怕的是,拥有这类认知的人越来越多。
我分析了下这类人,主要可以分为两大类:一类是早些年培训机构量产出来的,他们的认知里编程就是如此,这是正常且正确的;另一类人他们知道这是有问题的,但是面对工期、成本、内卷等外部环境因素,他们选择了妥协。
我们需要警惕这种面向表结构编程方式。
怎么判断?如果你一了解完需求,马上习惯性的去定义表字段,那么恭喜你,你已经养成了面向表结构编程的习惯。
通常你设计完成表结构后,大概率的动作如下:搞来一套所谓的代码生成工具,最好是把前端、接口层、服务层、持久化层全部生成。
然后有一部分人习惯性把这种快速生成CRUD的刷工作量式开发,美其名曰为低代码开发。
接下来我通过一个例子,讲讲真正好的系统开发应该遵循何种逻辑。
我们来看看每个人都有的一个的系统——人体。
试想如果任何功能都是如此开发,就好像我要做出一个人体(此处做产品解),它需要包含如下功能:走路、游泳、骑车、跳高.......
按照面向表结构编程很自然的操作就是针对走路、游泳、骑车、跳高独立进行表结构设计,然后各自生成一套CRUD。比如:走路需要脚、腿,需要脚和腿进行前后交叉运动。那么设计脚和腿的表,接着在代码中封装好各自的行为,完成走路这个需求。
然后如法炮制完成游泳、骑车、跳高几个系统需求。如果开发团队缺少沟通,最后的得到的人体大概率是三头六臂的。即使是注重复用和抽象,最后得到的也难免是脚、腿、胳膊、手等功能模块。
听起来是不是很荒唐,但实际很多项目都是这么做的。设计一个人体,居然只按照需求直接映射成设计就可以了,完全不需要懂人体解剖学。但是现在估计你也能体会到,这么去做那将是多么可怕的一件事。
正确的做法需要我们掌握和运用人体解剖学,将人体拆分为呼吸系统、消化系统、循环系统、神经系统。而走路、骑车、游泳这些都是有多个系统集成而来,而不是单独实现的结果。
上面这个过程对应在软件开发中,就是需要我们掌握领域知识。根据领域知识对建设的系统进行划分,最后根据划分后的系统集成所需功能,满足业务需求。
中国IT行业犹是新生,任重而道远,望吾辈坚守底线,剔除脓包,壮我大中华IT业哉。