2009-02-27 43 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