`
1000copy
  • 浏览: 72843 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如今谁坐龙位?

阅读更多



某天早晨,我和一个程序员随便谈谈,他说,我们的系统变成假3层了。语气中看来非常寥落。我脑中便一下子跳出这个“龙位”的故事:
 
“民国14年,费孝通到湖南永顺考察,当地人问他:‘如今谁坐龙位?’,14年光阴一瞬间,在很多人看来如此重要的政权更迭竟然传播到如此不堪的状态。”
 
回头来说3层。7年前,3-ties开发刚刚兴起,但是是否使用3-ties理念的开发是有分歧的。有些人认为我们的产品UI和数据库开发更重,中间件可有可无,最多不过可以解决密码问题而已。有些人认为3-ties就是业务逻辑集中,这个想法不错,只要坚持,一定可以有一个合理的中间件。两者都有各自的说法,但是随着开发的逐步深入,产品的累次更迭,结果却毫无疑问的、几乎是一边倒的走向了假3层——中间件仅仅有几个访问数据库的方法——和几十M大小的客户端,数据库代码相比,中间件不过几百K。规模完全不可同日而语。Delphi是这样,C# 虽然有不少逻辑,但是和数据库,客户端还不比不了的。把访问数据,分页除掉,真正的业务代码少的可怜。大量的业务,验证,页面组织都在客户端和数据库服务器。
 
相信3-ties有它的用武之地。不过我们的系统是UI密集型,而不是业务密集型,不多的业务也大量的集中于数据库。因此中间件可有可无这一观点,在今天看来也就毫无悬念。
 
理论跟不上现实,这是我看到的一种情况。而还有一种让人扼腕痛惜的是完全不去了解现在业界的状况,或者知之不多。最近某天,一个程序员问我,客户提到了什么Ruby On Rails来访问我们的系统,Ruby On Rails是个什么东西?
 
Ruby On Rails(ROR)从2003年开始,红了N年,并且是N年来最红的一套框架,没有之一。可以快速,优雅的实现Web应用,并且有丰富的ajax支持,它把MVC模式做了非常创造性的应用,对整个行业都有很大的思想上的触动。因为 ROR 这个框架,脚本语言不再被视为玩具。第一次登上了和主流编译型语言同等高度上。网上可是闹翻天了的,随便那个技术型网站都会长篇累牍的讲到这个东西,并且持续时间之久,论坛的火爆程度,都是以往的框架所不及的。可是,居然有人对 ROR 听都没有听过。我不知道他们上网都看些什么?作为一个技术人员,难道可以只是完成自己手里的工作就万事大吉了吗?微软最近出品的Asp.net MVC2,就是彻头彻尾的对ROR的抄袭——我理解这是对ROR的礼赞。
 
可能有些人觉得,这个我们用不上,不需要费心去了解。那么TDD,Refactor,尤其是Refactor 总是要用的吧。我觉得TDD,Refactor红了这么多年,身边的人也用了这么多年,完全说明是非常实用的技术,TDD让代码更好的分而治之。Refactor帮助代码职责明确,符合OO和最佳实践的范式,让接受代码的人不会再说“这是什么垃圾代码”。自己的工作完全和业界脱节,甚至和其他的项目组脱节,这是怎样的“碎片”生活?好,我在说一次它们的含义:TDD(Test driven development,测试驱动开发),Refactor(重构)。也顺便了解下它们的创始人,Kent beck,Martin Fowler。
 
过了这麽多年,还是局限于“业务更重要,技术是手段”,念叨什么,“满足客户是最重要的”已经过时了。你认为你是需求人员吗 ,你认为你是客服人员吗?不,你是技术人员,你的职位名称告诉你:技术从来都不是附属于那个的,它有独立的生命周期,技术是你满足客户的首要的和持续的方法。念叨什么“太忙了,没有时间啊”也是过时了的——难道不就是因为忙所以才需要改进技术,改进方法吗?这样的非此即彼的思维,是令人厌倦的。
 
 
比起前两种状况更危险的不是不知道,而是不知道自己不知道。某公司做了5年的TDD,Refactor尝试,你总是认为那是某公司的事情,某个项目组做了一年,看来前一个你不能用了,现在我帮你想一个借口——那是他们的事,和我们没有关系。让你们尝试任何新东西都是这样推,那样躲的。你是不想做吗?是不能做吗?你到底在怕什么?所以我说,你不知道自己不知道。你缺乏改变的勇气,害怕处于他人的观察之下可耻的失败,并且不知道自己缺乏面对失败的勇气。这就是事实。
 
芝兰之室,久而不知其香;入鲍鱼之市,久而不知其臭。现在我告诉你,你处于鲍鱼之市,是臭的。你说我习惯了,不觉得臭,也不愿意暂时换口好空气,回头再来——那就是你的错了。我们用的InstallShield,VSS都是网上有名的垃圾软件,仅仅是因为历史久,资格老而活下来。现在我说他们就是垃圾,而你说习惯了,无所谓。这是什么逻辑?
 
引用一同事在feiq上面的签名:我为成功而生,不为失败而活。 我为胜利而来,不向失败低头。我要欢呼庆祝,不要吸泣哀诉。
 
请拿出你的勇气,面对你不熟悉的事物,让它成为你的朋友。
 

1
1
分享到:
评论
1 楼 congdepeng 2010-06-19  
看出点什么 但是又没领会到中心思想

相关推荐

    PCB背钻工艺开发.docx

    在背钻初始能力研究中,对背钻龙位能力进行了研究,发现背钻龙位能力对信号传输的影响非常大。同时,对背钻深度公差能力也进行了研究,发现背钻深度公差对信号传输的影响也非常大。 为了提高背钻技术的应用效果,...

    基于PHP开发的一套开源社交娱乐直播系统,包含IOS、Android和PC Web端,让你零成本拥有自己的直播平台。.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

    建筑结构水电欧式6套(14.5x20.2)\施工图\A型施工图-建筑-空施03.dwg

    建筑结构水电欧式6套(14.5x20.2)\施工图\A型施工图-建筑-空施03.dwg

    国人原创良心自制图书管理系统C语言版.zip

    国人原创良心自制图书管理系统C语言版

    如何通过目标规划达成企业战略.pptx

    如何通过目标规划达成企业战略.pptx

    Python核心编程作业.zip

    Python学习笔记,复习巩固,作业!!!

    操作系统实验:模拟进程调度,包括挂起等操作,QT实现,加实验报告,外加qt实现的算法实验报告.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

    基本金融知识利用Matlab实现.rar

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    危化品安全管理平台解决方案.pptx

    危化品安全管理平台解决方案.pptx

    柔性制造企业数字化转型与智能工厂建设方案.pptx

    柔性制造企业数字化转型与智能工厂建设方案.pptx

    智能照明系统解决方案.pptx

    智能照明系统解决方案.pptx

    数据集使用mit-hib数据库 使用2维卷积神经网络实现八种心率不齐的诊断.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

    第一次python作业.zip

    第一次python作业

    C++与操作系统等面试题84

    C++与操作系统等面试题84

    人力资源年中总结模板.pptx

    人力资源年中总结模板.pptx

    智慧服务区建设方案.pptx

    智慧服务区建设方案.pptx

    企业质量战略管理.pptx

    企业质量战略管理.pptx

    毕业设计:基于C++和QT可视化编程实现停车场管理系统.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

    扫雷c语言.zip

    扫雷c语言

    无迹卡尔曼滤波UKF INS和GPS组合导航(位置误差 速度误差 松组合方式)【含Matlab源码 4673期】.mp4

    Matlab研究室上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

Global site tag (gtag.js) - Google Analytics