【问题标题】:oo-spaghettio web architectureoo-spaghettio 网络架构
【发布时间】:2010-10-10 06:24:40
【问题描述】:

我注意到过去几年我开发的大多数企业网络应用程序似乎都误用了 oo 的功能。

也就是说,曾经可能是 1000 行 HTML 和脚本,现在经常演变成 10,000 行代码、50 个类和 2000 个方法调用来完成基本相同的事情。 IE。 oo 和分层架构似乎被过度使用和/或使用不当,通常会导致更长的开发时间、更高的成本以及通常是噩梦般的维护。

  • 其他人多久看到一次这种情况?

  • 如何有效地利用oo,正如佛陀自己所说:尽可能不伤害...尽可能帮助...

【问题讨论】:

  • 好多了。仍然是主观的,但还不错。
  • 我看不出这与更冗长的 stackoverflow.com/questions/504517 之间的区别 - 投票以完全重复的方式关闭。两者都是以讨论为导向的,也许你可以在那里提出后续问题,而不是开始一个新问题。

标签: c# asp.net design-patterns architecture oop


【解决方案1】:

“通往地狱的道路是用最好的意图铺成的。”

我自己没有亲自遇到过这个问题,但我一直听到的故事似乎是architecture astronauts(花太多时间思考的人)或糟糕的开发人员(花太少时间的人)的问题思考)。

在编程的早期,由于硬件、语言等的限制,您并没有看到太多这种情况。

但是,开发人员现在正试图通过尽可能多地结合设计模式和 OO 原则,专注于编写人类可以理解的代码,以实现松散耦合和更高的可维护性,但就像所有事情一样,它可能做得过火。

另一方面,一些开发人员可能只是没有充分考虑他们试图解决的问题并编写额外的代码,只是因为它完成了工作而没有考虑更大的图景。

在任何一种情况下,开发人员都可能不是恶意的,甚至是无能的,他们希望他们所从事的项目得到最好的结果,但他们仍然过度执行原则,只是因为他们太努力了。

所以我想说的解决方案是提醒开发人员使用 OOP 原则作为指导,但仅此而已。有时你必须在思考和编程之间找到一个快乐的媒介,停止思考并开始编程。

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

【讨论】:

  • 我真的认为真正的问题是这些开发人员的代码是否使用 OOP 原则是一团糟。这只是一个不同的混乱:( ...
【解决方案2】:

我经常看到这些 :( 基本上,如果人们要搞砸,他们会尝试或不使用 oo 设计。无论哪种情况,它都会变得同样糟糕。

更新 1: 重要的是要了解如何/什么将被重用(但不要疯狂,因为这会妨碍生产力),因为我们不想让大量的类它们中的每一个都没有被重复使用并完成大量不同的功能。

基本上,主要问题是理解和关心正在构建的内容,因为您可以应用 oo、tdd、ddd 等任何东西,如果开发人员不了解他们在做什么,最终会陷入同样的​​混乱。 .. 或者最糟糕的:(

归根结底,这些东西确实有帮助,但它们并不神奇,它们不会取代开发人员创建可维护代码的技能。

更新 2: 另请注意,清单或一些要点不会这样做。我的意思是我喜欢 SOLID,而且有很多事情正在发生,我认为它们确实可以解决问题,但它们通常会对一直试图避免混乱的人们产生最大的影响。

【讨论】:

  • 我也同意你的观点弗雷迪。糟糕的开发人员就是糟糕的开发人员,他们只是不知道如何使用这些工具。工具可以使事情变得更容易,但如果使用不当,它们也会造成伤害。编写好代码的一部分是想要编写好代码并对软件开发充满热情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多