`
lane_cn
  • 浏览: 53697 次
社区版块
存档分类
最新评论
文章列表
看了Heroman的一篇文章,谈论该不该在项目中使用存储过程代替SQL语句。看后有一些感想,因为最近工作接触到一个系统,业务过程几乎完全是用存储过程实现的。随着系统的不断发展,新的需求逐渐难以支持。这个原因当然很复 ...
几个月前从一家软件企业来到一家通信公司工作,进入了计费与信息系统部。这个部门维护着公司中的几个重要的系统:营业、计费、帐务、客户服务、资源管理、经营分析、产品销售,这些系统是公司业务的基础。通过几个月 ...
有这么一个奇怪的现象,设计人员常常忘记使用一个非常了不起的发明:正则表达式。他们宁愿自己实现非常复杂的字符串处理逻辑,在一堆if、else里面晕头转向,面对变化的需求感觉束手无策。今天系统出现一个错误,判断一个电话号码类型的时候出现错误,误将一个0133开头的号码当作中国电信的号码。在一番寻找后,认为错误可能在一段程序里。打开程序的配置,定义了各种通配府、开闭范围标记、号码头,比较复杂。查到最后,是这个配置的解释程序出现了错误。配置中有一个项目:以01开头的号码属于中国电信。这个配置的位置在0133的前面,程序又没有使用最长匹配,而是用的最快匹配,从而导致了错误。错误很简单,但是比较隐蔽,开发人 ...
谈到应用程序的层次,我们平时所说的层次有两种:逻辑的层次(layer)和部署的层次(tier)。这两种层次划分的目的是不同的,因此划分方式也有一些差异,能够为应用程序带来的好处也是不同的。逻辑层次逻辑层次(layer) ...
先介绍两个软件:Google桌面搜索和DeliciousGoogle桌面搜索Google搜索大家都熟悉,Google桌面搜索是Google搜索的桌面版本(请看http://desktop.google.com)。Google桌面搜索用于在用户硬盘上搜索文档、网页访问历史、电子邮件和IM聊天记录, ...
刚开始干这一行的时候,对代码的复用有很高的热情。那时候总是希望自己写出的function、class、模块都是可以复用的,能够优美的解决所有问题。但是往往事于愿违,设计的变更、需求的变更、种种没有预料的情况最终把自己的代码摧毁的面目全非。有时一个简单的function会出现各种不同的版本,SendMessage、SendMessage2、SendMessageEx……在注释中说明其间微妙的区别。复用的计划最终破产。经历打击后,又走向另一个极端:使用copy-paste解决问题。不在乎代码的复用性,放弃优美,走向彻底的实现主义。各种bad smell不断出现在代码中,疯狂的复制粘贴,然后稍加修改。 ...
Keep It Simple and Stupid, 就是KISS原则. 简单是软件设计之美, 简单的设计使得软件产品易于开发, 易于维护. 简单代表着高质量, 少加班, 每个人都希望自己的工作是简单的. 在KISS原则之外, 应该有一个更重要的原则: Useful. 满足需求是一切产品的低限. 也许需求本身也应该KISS, 简单的需求意味着底成本, 高效率. 可惜客户有时候很难克制自己的欲望. 也许站在客户角度看见的KISS和我们开发者眼中的KISS不完全是一个概念. 有人说: 好的设计是客户做出来的, 开发者其实只是在帮助客户做设计. Keep It Simple and Stupid, ...
需求调查最终是与人交流的一门学问, 提问是需求调查最基本的一种方式. 本文是"探索需求--设计前的质量"一书的读后感想, 全文地址:http://www.cnblogs.com/lane_cn/articles/173291.html
现在开发应用程序经常使用一些所见即所得的开发环境,使得用户界面的制作非常方便。然而,用户界面是最容易发生需求变更的部分,用户界面发生变化,经常对业务模块产生影响。并且,用户界面是不利于自动测试的。一旦某些代码依赖用户界面,这样的代码就很难在别的模块中调用了,因此业务逻辑不能在界面层次中进行,否则会造成不能复用,不能复用自然会增加复制粘贴的代码,造成错误的扩散,放大需求变更的影响。在程序设计中,应该尽量做到用户界面和底层的业务模型分离。 本文介绍如何理解MVC模式,采用正确的设计方式隔离界面对业务逻辑的影响。全文地址:http://www.cnblogs.com/lane_cn/articles/ ...
继续介绍我设计的一个服务器——客户端的分布式计算程序http://www.cnblogs.com/lane_cn/articles/126467.html
一个分布式计算程序的设计,请看看有没有什么意见和建议。   详细情况看这里:http://www.cnblogs.com/lane_cn/articles/116536.html
公司招聘,找我出几个题目,要求覆盖面要广一些(c、c++、java、操作系统、数据库、随便),要提供给考试的人一些自由发挥的空间,希望通过考试题目能够全面了解应聘人的技术特长和能力级别。 我现在有一个题目:“组合模式和继承有什么区别?” 这个题目是一个朋友应聘的时候遇到的,当时打来电话问我。觉得这个题目还是有一定意义的。 自己想出来一个:“模板和继承有什么区别,各有什么优缺点?” 想想还有什么好题目。千万不要太难,重点是在于体现答题者的水平。 打算找出20道左右的题目就差不多了,还要加上上机考试的题目。 或者也可以多出一些题,考试者自己选择答哪些题目,也可以选择不上机只笔答。我觉得从考试者选择的 ...
先进的技术能节约成本,提高生产效率,但是不能代替详细的需求调查。没有任何一种技术构架能够完全适应需求改变。技术只能在一定条件下起作用,适合的技术才好。全文:http://www.cnblogs.com/lane_cn/articles/110517.html
文章描述了使用C++,Observer模式建立一个简单的事件触发、响应机制,以及遇到的内存释放方面的问题。全文地址:http://www.cnblogs.com/lane_cn/articles/102979.html
本文结合一个实例谈设计模式在重构中的应用,以及在重构过程中,单元测试发挥的巨大作用。 全文地址:http://www.cnblogs.com/lane_cn/articles/83134.html
Global site tag (gtag.js) - Google Analytics