2010-01-07 55 views
1

我一直在使用面向對象的MVC架構爲一個web項目,所有模型都是OO Perl。但我注意到,團隊中的一對正在恢復程序性技巧,並且基本上使用「對象」作爲相關功能的傾倒場。它們的功能基本上直接從數據庫讀取/寫入。我該如何說服人們使用適當的面向對象的Perl?

說服他們這是錯誤的方式最好的辦法是什麼?有一些很好的教程可以讓他們閱讀嗎?

+0

如果您有用於訪問數據庫的已建立的API,則所有對數據庫的調用都應該使用它。如果API缺少所需功能,則應擴展DB API以提供它們。海事組織,這種行爲將是一個需要糾正的問題,無論使用什麼樣的範例(面向對象,程序,聲明,功能等)。 – daotoad 2010-01-07 17:00:27

+0

嗯...讓我們來看看。 Perl的一個章程(可以這麼說)是:「有多種方法可以做到這一點」,但是你希望一些Perl黑客相信只有一個(正確的)方式來處理這個項目。關於這件事似乎不太適合...... – 2010-01-08 16:04:16

+0

海事組織,Perl不完全是非常友好的。它不利於某些標準庫是OO,有些不是(CGI.pm出於任何原因都提供)。 – Powerlord 2010-01-08 20:07:41

回答

4

我能想到的三個可能的原因,有些隊員可能不會產生很好的面向對象的代碼:

  1. 他們不在乎
  2. 他們關心,嘗試做正確的,但缺乏技能做到這一點right
  3. 他們做得很對,或者至少夠正確!一些設計問題是意見的問題。回過頭來看看你自己的一些舊代碼,你認爲它的代碼很好,現在很有可能你會修改它。

我的做法是假定每個人都想做正確的工作,所以我假設(或假裝假設)人們關心。人們試圖建立一種想要做正確的事情。

因此,留下建設我們的技能,他們和你的(和我的)。代碼評論似乎是一個明顯的方式來做到這一點。談論替代品。也可能配對編程?

+0

好的OO不一定是正確的,但它比程序化的意大利麪好。 (結構良好的程序代碼完全是另一個論證......) – Paolo 2010-01-07 10:40:15

4

OOP只是一個工具來完成一些偉大的事情,如更可靠,可用和可維護的軟件。如果你無法說服你的團隊編寫測試,放棄嚴格的OOP。

3

他們都與你不協調嗎?也許只是你不合時宜!

免得我似乎開玩笑,我的意思是回答以下問題:

  • 了什麼球隊同意應的辦法?

  • 誰的責任是強制執行純度?如果你不去追求純潔,誰的責任就是鼓勵純潔?如果不是你,看看鏡子,確保你不是團隊中令人討厭的新手,他們告訴舊的汗水如何去做自從你穿着Perl嬰兒服裝以來一直在做的工作。

  • 你有什麼機制來排除這些團隊問題?常規代碼評論,配對編程,赤裸裸的戰鬥?

  • 要求他們閱讀一些教程很可能是一口氣。你做什麼OO方式的論點是什麼?正如鮑里斯所觀察到的,OO本身並不是目的,它只是達到目的的手段,而不是唯一的手段。

在你的情況中你可能想要考慮更多的事情,但這些應該讓你開始。

相關問題