2010年10月20日
15:38
引子
“民国14年,费孝通到湖南永顺考察,当地人问他:‘如今谁坐龙位?’,14年光阴弹指一瞬,龙位看来和山坳上的百姓毫无关系。
某天早晨,我和公司内的一个程序员碰到了一起,我和他随便谈了谈项目的当前状况,他说,“我们的系统变成假3层了”。语气中看来非常寥落。
回头来说3层。7年前,3-ties开发刚刚兴起,但是是否使用3-ties理念的开发是有分歧的。有些人认为我们的产品UI和数据库开发更重,中间件可有可无,最多不过可以解决密码问题而已。有些人认为3-ties就是业务逻辑集中,这个想法不错,只要坚持,一定可以有一个合理的中间件。两者都有各自的说法,但是随着开发的逐步深入,产品的累次更迭,结果却毫无疑问的、几乎是一边倒的走向了假3层——中间件仅仅有几个访问数据库的方法——和几十M大小的客户端,数据库代码相比,中间件不过几百K。规模完全不可同日而语。
相信3-ties有它的用武之地。不过我们的系统是UI密集型,而不是业务密集型,不多的业务也大量的集中于数据库。因此中间件可有可无这一观点,在今天看来也就毫无悬念。
理论跟不上现实,这是我看到的一种情况。理论也常常需要更新以便和实践一致。而这个更新,有必须要关心当前业界的发展趋势。
某天,一个程序员问我:“客户提到了什么Ruby On Rails来访问我们的系统,Ruby On Rails是个什么东西?”。Ruby On Rails(ROR)从2003年开始,N年来最红的一套框架,没有之一。它可以快速,优雅的实现Web应用,有丰富的ajax支持,它把MVC模式做了非常创造性的应用,是对整个行业都有很大的思想触动。因为 ROR 这个框架,脚本语言也鸡犬升天,不再被视为玩具,有史以来第一次登上了和主流编译型语言同等站位上。
网上可是闹翻天了的,随便那个技术型网站都会长篇累牍的讲到这个东西,并且持续时间之久,论坛的火爆程度,都是以往的框架所不及的。微软最近出品的Asp.net MVC2,就是彻头彻尾的对ROR的抄袭——我理解这是对ROR的礼赞。看我这篇文章的人,有多少不知道ROR的?
必然有人和我说,“这个我们用不上”。那么TDD,Refactor总是要用的吧。TDD让代码更好的分而治之;Refactor帮助代码职责明确,符合最佳实践范式。在部门E内,两年来 的反复多次的使用,已经建立了比较成熟的使用套路。回顾两年前,大家都在一个起跑线,如今他们的层次水平已经逐步显现出来。
有不少迹象表明他们做的越来越好:
1. 我看到整个团队范围在讨论重构 而不是个人现象了。
2. 在团队级别的去尝试测试用例了。这个有难度,不容易坚持,但是随着对代码质量的意识越强,越会喜欢TDD。
3. 在Scrum过程中,做团队例行沟通,并且有专门的Review人员
4. 通过发布文章影响他人。比如在谈及复杂度和消减的方法,在谈及Switch和If的优化;
5. 在看Martin Fowler的著作《重构》了。这说明在系统的参详了。
言为心声,这说明重构已经成为他们的基本工作方法之一了;凭藉著优秀的代码和人员能力上的优势,未来几年肯定会越走越顺——快速发布公司需要的产品,同步提升自己想要的素质。
孔子云:“三人行必有我师,见贤思齐,见不肖则改之”。一定要把自己置身于时代之内。我希望所有的同事,我的朋友,业界的各位同行,大家都能够拿出你的勇气和耐心,先苦后甜,享受技术。
分享到:
相关推荐
LSH技术即位置敏感哈希索引。 相似性搜索是一个问题,给定一个查询,目标是在所有数据库文档中找到与其最相似的文档。在数据科学中,相似性搜索经常出现在 NLP 领域、搜索引擎或推荐系统中,其中需要检索最相关的...
而通过混沌加密需要对秘钥保持很高的敏感度,并且需要将原始的信息进行乱置,以便更好的实现加密的过程。在密码学中,需要通过扩散、初始条件铭感等特点来实现很好的加密过程的完整实现。将混沌映射应用在密码的加密...
对网络安全防护技术方案探讨全文共5页,当前为第1页。对网络安全防护技术方案探讨全文共5页,当前为第1页。对网络安全防护技术方案探讨 对网络安全防护技术方案探讨全文共5页,当前为第1页。 对网络安全防护技术方案...
针对社会机会网络中,基于节点社会关系信息作出决策的路由容易造成用户隐私信息暴露的问题,利用局部敏感哈希算法可对数据加密修改,并且加密后的数据仍可以进行统计分析的特性,分析任意2节点背景信息相似性,解决...
隐私保护技术可以分为以下3类: 02.01.01 基于数据交换的隐私保护技术 基于数据交换的隐私保护技术 所谓数据变换,简单的讲就是对敏感属性进⾏转换,使原始数据部分失真,但是同时保持某些数据或数据属性不变的保护...
近年出现了大量相关算法,按照隐私保持技术可将它们分为基于启发式技术、基于安全多方技术和基于重构技术三种。结合目前研究的热点对关联规则和分类规则的隐私保护数据挖掘进行介绍,并给出算法的评估方法,最后提出...
巷道围岩本身存在一个抗扰动强度,当深部较高的集中应力超过其抗扰动强度时围岩会对外部扰动变得敏感,在围岩内会形成扰动影响区,围岩扰动影响区不断向内部的发育是扰动作用下深部岩巷长期大变形失稳的本质。...
重复使用相同的食用油进行油炸会导致脂质氧化产物的形成。 高温油炸过程中形成的这些氧化产物的存在对人体健康有害,因此... 这些分析技术的结合可用于快速,高度敏感的氧化食用油分析,从而确保其质量和安全使用性。
针对江陵凹陷高盐敏感性油藏的特征,提出了采取聚硅纳米材料进行增注的措施原则,并以陵76斜7-1井为例,进行了聚硅纳米增注的施工设计,现场试验证明聚硅纳米降压增注技术对江陵凹陷高盐敏感性油藏的深入开发、有效...
传统基于计算机视觉特征的人体运动分析和动作评分技术对局部人体运动特征判别性不强,导致对相似人体动作的类内差异不敏感,自动评分准确率低。提出一种局部时空保持的单目运动视频人体动作特征Fisher矢量(FV)编码...
因此,我们设计并实现了一种匿名化API,该API对图像/视频中的敏感信息进行本地化和模糊处理(即隐藏),以保持个人的匿名性。 我们的匿名化工具的主要功能如下: 就本地化技术而言不可知:我们的API当前支持或。 ...
黑烟车智能监控系统对目前的环保工作...针对黑烟形状、大小、浓度不一的情况,首先研究了ViBe算法,针对ViBe算法存在ghost区域以及对细微变化不敏感等缺点,提出了一种改进方法,针对背景初始化和样本集更新分别做了改进。
针对Buck三电平变换器飞跨电容电压闭环与输出电压闭环相互耦合的问题,利用解耦控制技术分别独立地设计控制器对两个闭环进行控制。其中,为了降低对参数变化和负载扰动的敏感性,设计基于PWM的滑模变结构控制器对...
以葡萄糖溶液作为检测对象,采用锁相放大技术对复合敏感膜进行检测,研究了敏感膜的敏感特性和影响因素。实验结果表明:葡萄糖溶液浓度与复合敏感膜的滞后相移有较好的线性关系,检测线性范围是100—700 mg/dL;响应...
灵敏度:对被测气体(种类)的敏感程度 响应时间:对被测气体浓度的响应速度 选择性:指在多种气体共存的条件下,气敏元件区分气体种类的能力 稳定性:当被测气体浓度不变时,若其他条件发生改变,在规定的时间内气敏...
为了验证图像的真实性和完整性,提出了一种基于像素点灰度值奇偶性的脆弱水印技术。...实验结果表明,该技术在保持较高图像质量的前提下,具有安全性好、 对窜改敏感以及能够准确确定窜改位置等优点。
此外,AI技术的开发者和服务提供商也应该加强对用户数据的保护,确保用户数据的安全性。他们可以通过采用安全的存储和传输技术,对用户数据进行加密和保护,以确保用户数据不被非法获取。同时,他们应该建立完善的...
对垃圾信息,敏感信息进行过滤 对交易转账等重要操作根据交易模式和交易信息进行风险控制 Sina微博的应用 大型网站架构要素 性能 可用性 伸缩性 扩展性 安全性 瞬时响应:网站的高性能架构 网站的性能...
提出了一种基于音频特征的数字签名算法。将原始音频进行混沌加密,提取其小波域统计特征作为特征向量,对...实验证明,算法对保持音频内容的操作具有鲁棒性,对改变音频内容的操作具有敏感性,实现了对音频数据的认证。
超宽带技术解决了困扰传统无线技术多年的有关传播方面的重大难题,它具有对信道衰落不敏感、发射信号功率谱密度低、低截获能力、系统复杂度低、能提供数厘米的定位精度等优点。 1 超宽带信号及其特点 美联邦通信委员...