面对众多编程原则,你该如何使用

原创 2009年03月26日 16:32:00

干枯文章(一):《面对众多编程原则,你该如何使用》

在软件实践中,相互矛盾的原则有很多;或者有些原则本来不矛盾,但是针对同一事实进行不同的解读和类比,就可以援引不同的原则,于是就有了矛盾。

感谢不害怕的互联网带来的丰富资讯——不管是高手还是新蜜蜂,都能够祭起这些原则来驳斥别人,或者给自己充当借口。

其 实,不仅仅是软件实践,日常生活中也是“转圈话儿”一大堆——同一种行为,支持的和反驳的说法都很多。通俗文化中的某些“名言警句”,顶多只能用来“事后 诸葛亮”,想要预测和被检验,那可没戏(一般读到这里,都会出现某些具体例子来加以说明——但是我就是不写例子——写了例子这文章就不“干枯”了!)

为什么人们更加倾向于“仅仅引用对自己有利的原则”呢?虽然人人都知道这是不好的,也都能找出别人犯这种错误的例子,但是轮到自己头上的时候,多半还是会出问题。

以下列举几种典型的错误场景:

1、 害怕变化。在新的XX(关于XX是什么,可以自由联想)面前,往往无法找到原先“得心应手”的感觉,甚至许多特别简单的事情也都不会做了,变得像裸体婴儿 一样孤立无援。这时候人们往往会拒绝变化,并且将拒绝变化等同于防卫自己的现有地位。于是乎,有利于自己的原则就轮番上马,用得不亦乐乎,不利于防卫自己 的原则就被无视了。

2、误解了新事物(其实也包括老事物——但是这里还是没有“比如XXXX”这样的例子)。可能是因为自己从始至终都不 了解,也可能是一直坚信从别人那里听来的偏见(这种情况,还是因为没有认真做功课),还可能是习惯了某种解决方案而被限制了思维方式,或者没意识到外部条 件的变化,导致产生决策的基础大为不同……在这种时候,人们还是会不由自主地使用对自己有利的原则,同时忽略对自己不利的。

3、最需要避免的一种情况是:决策的时候是草率的,但是事后因为面子,“下不来台”,所以必须寻找借口来证明自己是对的。

最后,是一个相当干枯、看上去毫无营养的结论:面对众多原则,应该正确选择,不要错误选择。

 

 

(写完了文章,我要骑马回我的城堡了——咦?我的椰子壳哪去了?)

面向对象编程五大原则

单一职责原则SRP:Single Responsibility Principle开放封闭原则OCP:Open-Close PrincipleLiskov替换原则LSP:Liskov Substitu...
  • sanshiqiduer
  • sanshiqiduer
  • 2008年04月15日 21:25
  • 8512

当别人攻击你时,这样做才是最好的回击方式

很多人都有这样的感触,好像不管我如何对别人好,总会有人不喜欢自己,有时你想努力取悦所有人,却发现,有些人注定是取悦不了的。 人生一世,不管你是多么善于为人处世,多么友好相处,依旧会有一些人不喜欢...
  • liuyuehui110
  • liuyuehui110
  • 2017年01月31日 10:02
  • 340

面对对象的六大原则

面对对象的六大原则1. 单一职责原则(Single Responsibility Principle) 就一个类而言,应该仅有一个引起它变化的原因。 两个完全不一样的功能就不应该放在一个类中。 一个类...
  • u014784379
  • u014784379
  • 2015年11月14日 23:39
  • 482

(Java)面向对象编程六大基本原则

《Android源码设计模式解析与实战》 面向对象六大原则
  • qq_26440221
  • qq_26440221
  • 2016年12月19日 19:10
  • 532

js面对对象编程

说到js,很大一部分人会说我很熟悉,在日常的web开发中经常用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,减少了混乱,可维...
  • xqf309
  • xqf309
  • 2014年06月29日 21:15
  • 2217

C++ 面向对象五大原则

一,单一功能原则 原理:单一职责原则可以看作是低耦合、高内聚在面向对象原则上的引申,将功能定义为引起变化的原因,以提高内聚性来减少引起变化的原因。功能过多,可能引起它变化的原因就越多,这将导致功能依赖...
  • cloud323
  • cloud323
  • 2017年07月27日 10:12
  • 380

面对我们喜欢的和我们需要的,应该何去何从?

人的一生总会遇到各种需要选择,面对人生的每个路口,我们该何去何从,如何选择呢? 其实今天要说的事情到不了人生路口的级别,不过同样也是一个如何选择的问题。因为要拿一个计算机专业的本科毕业证,我...
  • liushuijinger
  • liushuijinger
  • 2012年07月09日 16:00
  • 2830

会计,你该如何面对新科技?

会计,你该如何面对新科技? 这是个科学技术高速发展的时代,数字技术已经深入到我们生活的方方面面,而且与我们的工作和生活息息相关,新科技的出现对会计学的教育产生了怎样的影响呢?科研出版社英文期刊《...
  • u012982939
  • u012982939
  • 2013年11月28日 15:13
  • 643

对面向对象编程的6个基本原则的理解

单一职责原则 定义:一个类中应该是一组相关性很高的函数,数据的封装。 做法:根据对业务和需求的理解,去划分一个类,一个函数的职责。 举例:比如要实现一个加载图片的功能,并在加载图片的时候实...
  • c15522627353
  • c15522627353
  • 2016年04月12日 00:30
  • 1065

.net,该如何面对

  • axzxs2002
  • axzxs2002
  • 2009年05月31日 13:26
  • 873
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面对众多编程原则,你该如何使用
举报原因:
原因补充:

(最多只允许输入30个字)