程序开发感悟

 

我们一直在想,如何设计程序才是最好的,虽然不同职位的人群有着各自的立场,但我们的程序设计的主流方向,还是朝着系统化方向发展.

我这里说的系统化,是指一套业务程序,有组织,有结构,可认知,可以撑控. 就像我们去医院一样,门诊部,住院部,挂号,看病,划价,拿药.这是我们都可以认知的,一套程序应该可以让一个人

可以快速认知,可以让领导知道什么能做,什么不能做,一套程序一定可以表现为一张结构图,让每个人都能了然于心.这在专业人士的口中就是抽象.当然我个人不喜欢用抽象这个词,因为它太抽象,以至于我不知道他在抽象什么.

 

我们想想,我们原来把所有逻辑写的一个按纽里面,一个系统里面有很多按纽,一共有多少个按纽,领导不容易知道,每个按纽干什么事,领导更不容易知道,那领导就是个瞎子,逻辑只撑握在程序员手中.我们知道,统治阶级的意志决定着社会的意志.虽然,程序员认为,把逻辑写在按纽里面可以达到最高物理效率,最简单轻松开发,就算是要修改,程序员也可以通过关键字找到相关代码,因为程序员是要图省事,图省心,开发的代码要好改,好调.程序员不会给自己麻烦.

就算是面向过程,我相信程序员通过其特有技巧,也能轻松解决可种问题.

可是,这一切,都没有用.因为这不符合领导的意志.领导的理由很简单,你的代码只有你知道,别人很难知道,我也不知道你的逻辑,那什么问题都只能问你,你也不好分工.

所以,我们宁肯牺牲掉物理效率,多写N多代码,我们也要让领导对程序可知,对程序可控,可以更好的让别人接手,可以更好的分工.

 

所以我们首先,是把业务功能拆分,分成几个主要功能块,然后,把功能块的代码写在一起,再做几个接口提供出去.这是我们都会干的.这种系统,就是让大家知道,一个公司有多少个部门,干什么事,但是,他们是怎么相互协作,在什么时候,做什么事,我们还是不知道.因为所以的流程,触发逻辑,还是在按纽里面

 

为了让领导对于整个系统了解的更加透彻,我们首先要把界面上那些按纽给统计起来,因为他们是业务的触发者,所以,我们要做一套事件触发者模块,让领导在这个模块里面可以看到所有的事件,当然事件离不开角色,所以我们又要统一角色,每个角色做什么样的事件,然后,我们又要统计那些个业务模块,分别处理什么样的事件,那么我们还要有个流程控制中心,来决定这些事件分给谁.

好了,我们系统都抽象出来了,领导如果想了解什么,去相应的模块,看接口就应该知道个大概.如果要加功能块,加角色,加事件,加流程,我相信领导都可以做到胸有成竹.

 

可是,为了实现这一切,我们需要什么呢,我们需要巨多的消息列队,巨多的服务,巨多的对象,巨多重复的数据查询,巨多网络数据处理量,我们想想,这就像开医院一样,我一个医生,接一个病人,包看,包治,包拿药,速度又快,又省时,又省力,唯一不好的地方,就是不好管理.如果医院太大,那管理就是一片混乱.可是如果是一个小诊所,你搞那么多部门,就是吃饱了撑着的行为.

 

所以说,我们为什么要系统化程序设计,是因为我们系统很庞大.因为有这样的需要,才会有这样的解决方案.

我这里这么说,是因为我发现现在有很多别的想法,在开发中..

例如

1.为了先进,所以我们要用这套架构.因为先进,所以我们要面向服务,面向对象.而什么是先进呢,一是最近很流行,很潮.二是知名大公司都在用.肯定没错.

2.为了可以给程序员减轻负担.这里,我们的程序员再次被代表了.他们认为一个可配制的,结构很清析的架构,可以让程序员少写很多代码.可是他们完全忽略了他们的逻辑完全可以用几条SQL语句实现,可以现在程序员要开新的服务,修改现有接口,做新的类,开启两,三个VS,写一堆反射配置,就为了最终在数据层那里,写那几条SQL语句.

他们还经常说,其实外部调用者,不需要关心我里面的内部实现.可是,往往出了问题,程序往往要拔开N层代码,去寻找某个低级错误.更有,因为不知道内部实现,都不知道从哪里下手,无法开启调试的问题.我想说的事,真正给程序员减负,是先进的工具.先进的思想,会引发先进的工具,只有先进的工具,才能让一种开发模式成为主流.

3.为了学习.很多程序员在写一个记事本程序中,用了WCF,面向对象,三层架构等等等等,就是为了学习这些东西本身,实际上心里已经骂了一百遍,但嘴上还说,这套架构果然不错.

4.为了装逼.这世界装逼无处不在,IT工作的特性为装逼提供了一个广阔的平台,首先,我们要英文简写,因为汉语无法表达我们的内心想法,还让听众觉得我不够专业.第二,在面对一堆本土大老爷们宣讲的时候,用一个英文的PPT.第三,概念制作.源本一句话可以说清楚的事情,一定要创造一个新的词语.当然装逼不是程序员的错,是大环境的问题,因为我们都需要存在感,都需要大家认可.就像我写这篇文章,我心里知道就可以了,为什么还要写出来,还要推荐到首页.还不是为了找点存在感.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值