随想:简单就是美 ------ 评软件实用主义
2008-03-04 09:59
218 查看
无意中在CSDN上读到一篇BLOG“软件'够用'行了吗?”,
链接如下:http://blog.csdn.net/iversonlee/archive/2006/03/22/632523.aspx
觉得跟我前几天写的关于架构设计的随笔有点针尖对麦芒,呵呵……
关于软件实用主义,我还是有几句话想说,因为我就是一个“实用至上”的程序员。
1.所谓“软件够用”我觉得其实就是“大道至简”的通俗的表达,软件行业的实用主义体现的是“用户导向”而不是“技术导向”,这一点,很多程序员是很难理解或接受的。“文人相轻”的思想在程序员圈子里表现的最为明显,尤其是对于不懂技术的客户,程序员往往缺少足够的耐心。
2.“设计模式”和“软件实用主义”并不矛盾,相反,软件实用主义追求的就是用最简单的方法实现需求,这正是依赖于良好的设计模式。它主要针对的是现在行业中普遍存在的“过分设计”思想。所谓大道至简,大智若愚,我们的祖先早就告诉我们:看似简单笨拙的方法,有时其实是解决问题的最好途径。
3.软件实用主义基于这样一个观点“变化是不可预知的”,所以“以不变应万变”。也就是说如果我们不能走在变化的前面,就只能紧随变化的脚步。“过 分设计”思想则认为我们是可以预测变化,甚至可以指导变化。试图去改变客户,在国内群雄纷争且不成熟的软件市场里,这实在是一个很危险的行为。
4.灵活性与可复用性是相矛盾的,简单性则是它们之间的一个平衡点。如果所有的需求,以及它将来的变化,都能在我的框架的势力范围里,这真是一件皆大欢喜的事情。否则,修改框架以适应需求,或者扩展框架以适应需求,所带来的时间成本,以及埋藏着系统安全隐患的垃圾代码,都是我们不得不承担的痛。
最后,再说一句无关的话吧:是药三分毒啊!!!
链接如下:http://blog.csdn.net/iversonlee/archive/2006/03/22/632523.aspx
觉得跟我前几天写的关于架构设计的随笔有点针尖对麦芒,呵呵……
关于软件实用主义,我还是有几句话想说,因为我就是一个“实用至上”的程序员。
1.所谓“软件够用”我觉得其实就是“大道至简”的通俗的表达,软件行业的实用主义体现的是“用户导向”而不是“技术导向”,这一点,很多程序员是很难理解或接受的。“文人相轻”的思想在程序员圈子里表现的最为明显,尤其是对于不懂技术的客户,程序员往往缺少足够的耐心。
2.“设计模式”和“软件实用主义”并不矛盾,相反,软件实用主义追求的就是用最简单的方法实现需求,这正是依赖于良好的设计模式。它主要针对的是现在行业中普遍存在的“过分设计”思想。所谓大道至简,大智若愚,我们的祖先早就告诉我们:看似简单笨拙的方法,有时其实是解决问题的最好途径。
3.软件实用主义基于这样一个观点“变化是不可预知的”,所以“以不变应万变”。也就是说如果我们不能走在变化的前面,就只能紧随变化的脚步。“过 分设计”思想则认为我们是可以预测变化,甚至可以指导变化。试图去改变客户,在国内群雄纷争且不成熟的软件市场里,这实在是一个很危险的行为。
4.灵活性与可复用性是相矛盾的,简单性则是它们之间的一个平衡点。如果所有的需求,以及它将来的变化,都能在我的框架的势力范围里,这真是一件皆大欢喜的事情。否则,修改框架以适应需求,或者扩展框架以适应需求,所带来的时间成本,以及埋藏着系统安全隐患的垃圾代码,都是我们不得不承担的痛。
最后,再说一句无关的话吧:是药三分毒啊!!!
相关文章推荐
- 随想:简单就是美 ------ 评软件实用主义
- 清理苹果软件就是这么简单
- 实用软件&要的就是简单
- 关于其它模块的设计,有非常多须要自己去构建和完毕,在这里就简单地举几个样例来看看其它模块的设计。我们要做的就是有更改password模块,客户选择模块和关于本软件模块。更改password模块用来更改管理员的password,客户选择对话框模块用来选择已加入的客户,关于本软件模块用来说明客户管理系统的一些必要信息和制作人的信息。
- 随想| 简单说
- PHP安全-简单就是美
- Activiti就是这么简单
- [Axure]原型设计软件:Axure RP简单介绍与基础入门学习目录
- 简单就是美 开源PDF阅读器Sumatra PDF
- 教你打造基于贝壳内核的最简单一键备份还原软件(源代码)
- ubuntu 解决E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- Java语言实现简单FTP软件 FTP软件远程窗口实现(6)
- Java语言实现简单FTP软件 FTP连接管理模块实现(8)
- 可视化数据分析软件Tableau-简单说
- Java语言实现简单FTP软件 FTP远程文件管理模块实现(10)
- 大话设计模式一:代码无错就是优----简单工厂模式
- Atitit 软件 开发 与互联网发展趋势 与一些原则 潮流就是社区化 o2o 各种服务化 xaas ##--------信息化建设的理念 1.1.兼容性(不同版本与项目兼容性有利
- 软件架构之美在于简单、好用、稳定、功能定位明确、代码简洁、通俗易懂
- CMM的级别就是软件开发管理的“段位”
- 用Small Basic写简单点名软件