2009-02-27 48 views
4

我注意到,大多数企业的网络应用程序,我在过去几年曾在有看似错误使用OO的权力。OO-spaghettio网络架构

也就是说,一旦有什么本来也许1000 HTML和脚本的线路,往往现在演变为10000行代码,50类,2000方法调用基本上做同样的事情。即oo和分层架构似乎被过度使用和/或使用不当,通常会导致更长的开发时间,更高的成本以及经常的恶梦般的维护。

  • 其他人多久见一次?

  • 如何OO被有效利用,佛自己也说过:尽可能尽量不要伤害......尽可能设法帮助...

+0

好多了。仍然是主观的,但并不坏。 – 2009-02-27 05:51:39

+0

我没有看到这和更详细的http://stackoverflow.com/questions/504517之间的区别 - 投票关闭作为确切的重复。两者都是以讨论为导向的,也许你可以问问那里的问题,而不是开始一个新的问题。 – 2009-02-27 06:17:52

回答

1

“通往地狱的道路铺上了最好的意图。”

我还没有亲自遇到过这个人,但是我听过的所有故事似乎都是architecture astronauts(花太多时间思考的人)或不好的开发人员(花时间太少的人)思维)。

在编程的早期,你没有看到,因为硬件的限制,语言等的尽可能多的这种

然而,开发商现在正试图集中精力编写代码,这是可以理解通过整合尽可能多的设计模式和面向对象的原则,人类可以实现松散耦合和更高的可维护性,但是就像它可以完成的所有事情一样。

在另一方面,一些开发商可能只是不思考有足够的了解,他们正在试图解决和写作只是因为它能够完成,而不是想着大局的工作额外的代码的问题。

在这两种情况下,开发人员可能并没有恶意,甚至不称职,并希望最适合他们工作的项目,但他们仍然在-DO原则仅仅是因为他们正试图太硬。

所以我想说的解决方案是提醒开发人员使用面向对象的原则作为指导,但只是。当你不得不在思维和编程之间找到一个愉快的媒介时,就要停止思考并开始编程。

请参阅:Jeff写了一篇关于这种事情的好博客文章:KISS and YAGNI

1

我见这些所有的时间:(基本上,如果人们会做一个烂摊子,他们会尝试或不使用oo设计。在这两种情况下它都会同样糟糕。 /什么会被重用(但不会因为会阻碍生产力而发疯),因为我们不想获得大量的类它们中的每一个都不会被重复使用,并且可以完成许多不同的功能。

基本上,主要问题是理解和关心正在构建的东西,因为您可以应用oo,tdd,ddd,任何东西,并且如果开发人员不明白他们在做什么,它将最终陷入同一个混乱中...或最坏:(

底线,这些东西做的帮助,但他们不是魔术,他们不会取代开发商技能创造维护的代码

更新2:还要注意我的意思是我喜欢SOLID,还有很多事情正在进行,我认为他们真的很清楚这些事情,但他们通常对那些有一直试图避免混乱。

+0

我同意你的观点弗雷迪。糟糕的开发人员是不好的开发人员,他们只是不知道如何使用这些工具。工具可以使事情变得更容易,但如果不正确使用,它们也会受到伤害。编写好代码的一部分就是希望编写出好的代码,并对软件开发充满热情。 – 2009-02-27 07:24:27