在措施开发的世界里,各路前辈们为了提高所谓的编码速度,搞出了各样百般的代码生成器,来制止所谓的反复的酬报机械地粘贴和复制代码,以此来提超过跨过产力。
早几年前,我可能会认为这样的做法真得有用,出格是在编码速度上。
?
是的,有时候代码生成器是可以辅佐我们开发者生成模板化的,规范化的,多量量的机器代码。
但许多人就将它当做了措施开发的利器,没有代码生成器完全没法写代码了,也没步伐事情了。
感受本身会用几款代码生成器仿佛很牛的样子。得意的在老板们,或是不懂技术的技术经理们面前炫耀:“XXX们,你看我的事情效率多高,你们的需求,你们想要的成果我只需要简单的代码生成绩可以快速地搞定。”。
这种做法就比如别人把一头宰好并切好的牛肉放到你面前,再问你:“把这些牛肉放进冰箱需要几步?”
答案你也许知道了吧?没错,三步。
1.打开冰箱门;
2.放牛肉进冰箱;
3.关上冰箱门
很简单是吧?
那么,如果别人给你的是一整头牛,而不是切好的牛肉,再问让你把这头牛放进冰箱,你又怎么办呢?
上面的这个案例其实与开发者(出格是低级开发者)使用代码生成器有着同样的原理。
使用代码生成器的时候,这生成器就比如切好的牛肉,开发者在使用时不关心代码生成器的底层是如何封装的,也不知道内部逻辑是如何措置惩罚惩罚的。就比如不知道也不用关心那头牛是怎样被宰的,如何解剖的一样。
厨子解牛是怎么来的?是屠夫们颠末重复的实践,掌握了牛的布局、经络之后到达的一种境界。
在开发的世界里也是同理。
我见过不少开发者(绝大大都是.NET开发者,因为笔者主要专注.NET的开发)都是习惯并喜欢使用代码生成器来生成项目,甚至整个解决方案都能为他们生成绩最完美了。
他们中有些人已经有5,6年或者7,8年的开发经验,,不再是初学者了,但却还在用着传统的某某的代码生成器生成着传统的三层架的解决方案,在前端UI代码中充满着各类DataTable和DataSet,各类if...else...逻辑判断,各类SQL语句拼接。。。
不知道看到此处的你是否正经历着不异的处境或者是经历过不异的场景?
也许你说:”我不是这样的开发者啊。“
那么作为热衷于开发的我感想很欣慰了,但这样的伴侣应该不在大都,不然国内的.NET开发环境不会成如今这个要死不活的样。我的不雅概念准确吗?
究其原因,不外乎是这样的:
在早年前,很多接触措施开发(本文主要是C#)的人中,都是看中互联网的高薪而插手到开发者这个雄师中的,他们为的是钱途,而不是前途。他们不是真正意义上喜欢,或者说是热爱编程。
他们的骨子里或者根柢就只是把措施开发看成多赚点钱的捷径。
他们在想:”我就在措施界里混几年,等资历老了,有个几年的开发经验或者是不竭地跳槽,薪水自然就会不停地往上涨。等混到了30岁,就有资格做高级工程师,做项目经理,做项目主管了。有没有过硬的技术都不重要的。“
所以,如你,我,他所见到的如今的国内开发环境,真正热爱编程这份事业的,愿意深入研究技术的人很少,因为他们的目的根柢不在于此。
他们只想通过简单的代码生成器来”赚快钱“,他们在编程界里呆了几年之后,还是不知道C#的面向东西编程思想,不知道泛型是什么,更没风闻过反射,委托,事件,不知道还有设计模式,范围驱动设计。。。横竖他们就知道有个叫“代码生成器”的东东。甚至还惊讶地问:”本来C#还有这么些啊?“