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的著作《重构》了。这说明在系统的参详了。
言为心声,这说明重构已经成为他们的基本工作方法之一了;凭藉著优秀的代码和人员能力上的优势,未来几年肯定会越走越顺——快速发布公司需要的产品,同步提升自己想要的素质。
孔子云:“三人行必有我师,见贤思齐,见不肖则改之”。一定要把自己置身于时代之内。我希望所有的同事,我的朋友,业界的各位同行,大家都能够拿出你的勇气和耐心,先苦后甜,享受技术。
分享到:
相关推荐
标题:“保持对java的敏感”与描述:“想学习java的朋友们可以来看一下,具有一定的指导意义~”,结合了部分文章内容,共同传达了一个核心信息:在快速发展的IT领域,特别是针对Java开发人员,保持对新技术的敏感度...
ChatGPT技术对敏感话题和误解的处理方法 一、引言 随着人工智能技术的不断发展和应用,聊天机器人在我们的日常生活中扮演了越来越重要的角色。然而,由于其自主学习和生成内容的特性,聊天机器人被广泛应用于社交...
此外,随着网络媒体的发展,及时有效地处理敏感客户的问题,避免负面舆情的扩散,对于维护企业形象和声誉,以及在竞争激烈的售电市场中保持优势都至关重要。 总结来说,基于机器学习的停电敏感客户标签体系是电力...
总结来说,该文献详细介绍了利用FPGA技术改进的相位敏感型振动传感系统,通过三级缓存结构、振动幅度动态阈值调整算法和振动特征量矩阵等关键技术的应用,实现了对外界振动事件的快速定位和系统解调速度的提升。...
负载敏感(LS)控制系统是一种液压控制技术,它能够根据液压系统的需求动态地调节流量和压力,以优化系统的性能。LS系统通过一个变量柱塞泵和负载敏感控制阀的组合,实现仅在需要时提供所必需的流量和压力,减少能量...
在Sobol敏感性分析中,元模型用于减少仿真次数,提高计算效率,同时保持对模型输出的准确预测。 最后,基于可靠性的优化涉及在考虑不确定性和风险的情况下寻找最佳设计。通过结合Sobol敏感性分析,我们可以优先处理...
ChatGPT 技术的上下文敏感与对话一致性研究 本文总结了 ChatGPT 技术的上下文敏感性和对话一致性问题,并讨论了相关的解决方法。ChatGPT 是一种基于生成式预训练模型的对话系统模型,能够生成与用户进行富有语义和...
而这种技术的进步又对有线通信网络提出了新的要求,尤其是在数据安全和防止敏感数据泄露方面。 内容中提到的“敏感数据泄露问题日益严重”、“云计算背景下的敏感数据防泄露技术”以及“避免敏感数据泄露造成的重要...
【加权代价敏感局部保持投影】本文提出了一种新的方法,将错误代价最小化的思想与LPP的目标函数结合,并采用加权策略,平衡了不同类别样本对投影方向的贡献。这种方法: 1. 为不同类别的样本分配不同的权重,提高了...
标题“电信设备-保持颜色信息的形变敏感器官模型下的不良图像检测方法”揭示了这一技术的核心——利用形变敏感器官模型来检测图像中的问题,同时强调了保持颜色信息的重要性。这涉及到计算机视觉、图像分析以及信号...
在敏感信息识别的基础上, ChatGPT 技术在自动对话生成中的另一个问题是如何在过滤敏感信息的同时保持对话的自然流畅和一致性。过滤掉敏感信息可能会导致对话的不通顺或回复的不连贯,给用户带来不好的使用体验。 ...
在iOS平台上,颜色游戏是一种独特且...通过以上分析,我们可以看出这款颜色敏感测试小游戏融合了多种技术和设计原则,旨在提供一个既娱乐又锻炼观察力的平台。无论是对于开发者还是玩家,都能从中获得乐趣和学习经验。
时间敏感网络(TSN)是一种基于IEEE 802.1标准的新型以太网技术,旨在提供高度精确的时间同步和低延迟的数据传输,适用于对时间同步有严格要求的工业环境。TSN的引入解决了传统工业网络在同步和系统管理方面面临的...
稳定性则涉及在一定时间内敏感元件输出特性的保持能力。 #### 3. 敏感元件的设计与选型 设计和选型敏感元件时,需考虑工作环境(如温度、湿度)、预期的测量范围、精度要求以及成本等因素。例如,在高温环境下应...
在Mac OS X操作系统中,文件系统的大小写敏感性是一个重要的特性,它决定了系统如何区分具有相同名字但大小写不同的文件。...如果你遇到任何问题或不确定的步骤,建议咨询Apple官方支持或专业的技术支持人员。
LSH技术即位置敏感哈希索引。 相似性搜索是一个问题,给定一个查询,目标是在所有数据库文档中找到与其最相似的文档。在数据科学中,相似性搜索经常出现在 NLP 领域、搜索引擎或推荐系统中,其中需要检索最相关的...
8. **PDF编辑和注释**:在IT行业中,Adobe Acrobat或免费的在线工具可用于对PDF文件进行编辑、添加评论或签署电子签名,这对于审阅技术报告是必要的。 9. **内容管理系统**:如果涉及大量的文档管理,企业可能会...
数据脱敏技术的核心在于对敏感信息进行保护处理,以避免敏感数据在存储、处理和传输过程中被未经授权的访问和泄露。敏感数据的类型广泛,如个人身份信息、财务账务数据、医疗健康记录等。数据脱敏技术方案不仅涉及...
总结起来,APK敏感信息提取是一个涉及多方面技能和技术的过程,包括逆向工程、代码分析、动态测试等,目的是找出并保护潜在的敏感数据,同时也提醒开发者需要采取措施来保护他们的应用免受此类攻击。