软件研发的轮回
我们现在正在经历软件研发的轮回,一方面我们在维护着越来越糟糕的软件,不断对自己说,下次开发新的软件时,一定要好好设计,规范编码;但另一方面,当我们真的开始一个新的项目时,却举足无措、千头万绪,不知道该怎样去分析与设计,一切只有靠经验,以及那些不可捉摸的灵光一现。最后,当软件经历了几轮需求变更和维护以后,我们被打回了原形,甚至那最后的一块遮羞布都不曾保留。软件重新回到了那种糟糕与难于维护的状态,多么令人沮丧啊。
我们为什么总是在这样的软件轮回中挣扎呢?回答这个问题,我自认为比别人体会更深,因为在过去的十年时间里,我读了更多别人的代码,维护了更多别人开发的系统,可谓是阅人无数。我总是在分析这些设计的问题,优化这些糟糕的系统,使它们越来越易于维护。总体来说,我感到,我们太缺乏对软件设计理论的研究了。
其实我想说,中国的软件之所以总是不能提高,那是因为中国的程序员都在关注那些新技术,海侃那些新概念,海搜那些新框架。试问,有多少人不知道spring、hibernate开源框架?有多少人没有聊过ISO、云计算、BI?还有那些一版一版的JDK,各大公司的新产品发布……然而,我们那些基本的软件设计编程理论却常常被人淡漠,甚至是不屑一顾。在被我面试过的无数人里,很少有人能说得清楚什么是工厂模式(仅有的模糊认识都来源于大学时代的教科书),甚至从来没有写过一个工厂。什么是开放-封闭原则?什么是单一职责?怎样运用建模技术来分析和规划我们的系统?
难怪有网友感慨,开发程序多年,其实就是在拼凑各种开源框架,成了开源框架的组装工人,这就是我们的业态。而所谓的系统架构师,就是特别能搜、特别能拼、特别能侃的那一类人。还有那些刚刚踏出校门的同学们,满腔热情地投身IT洪流中,却被那些新概念搞得头昏脑胀、无所是从。没人告诉他们应该怎样去编程,怎样才能编好程,编写优秀的代码。
这就是软件研发轮回的本质:我们太缺乏对编程理论的关注,关注的没有学明白,想问的却找不到老师。所以,我说,我们大家静心坐下来,进行一次软件编程技术的探讨之旅吧。嗯,我想,就从最基本的面向对象开始吧。
一次软件编程技术的探讨之旅
重新理解一切皆对象
重新审视代码复用
(续)
分享到:
相关推荐
单片机软件抗干扰编程技术探讨.pdf
JAVA多线程编程技术探讨,深入JAVA多线程编程技术的基础
父与子的编程之旅-最新软件环境与实例 Hello World的完整安装包。
scratch编程-太空之旅讲义.pdf
基于C语言的计算机编程技术探讨.pdf
计算机软件编程中的C语言技术探讨.pdf
本光盘为《计算机网络高级软件编程技术》的配书光盘,内容包括书中所有编程训练的参考答案与完成编程所需要的背景知识、工具与参考资料。 本光盘程序包括代码和可执行文件,部分程序不提供完整代码。
嵌入式DSP系统C语言硬件编程技术探讨.pdf
计算机网络高级软件编程技术(第二版)
说到培养孩子编程,有些人认为不宜太早, 拔苗助长;有些人认为没用,因为在这个浮躁的当下,程序员已经沦为IT民工;还有些人觉得家长功利,以为是受新闻里那些少年出名的低龄程序员和黑客的影响。 先说功利。我是在...
父与子的编程之旅 与小卡特一起学Python 28.2MB 高清PDF 少儿编程推荐用书 python入门好书
游戏开发大神云风的经典著作 《游戏之旅-我的编程感悟》
游戏之旅——我的编程感悟.pdf
PHP网络编程技术详解(网站开发非常之旅).PDF&源码(2部分-part1) -原版高清PDF文档(非扫描) 本资源体积较大,受上传60MB限制,故分包压缩(zip格式)成了2份,此为第1份,请全部下载完成后再解压,否则会解压失败...
游戏之旅——我的编程感悟——云风 很好的一本电子书,很清晰
计算机软件开发的Java编程语言应用探讨.pdf
OSEKVDX汽车电子嵌入式软件编程技术及配套光盘,非常不错!!!
之旅-我的编程感悟
《OSEK/VDX汽车电子嵌入式软件编程技术》附书光盘