我正在做一些項目的隱形敏捷開發。領導程序員認爲單元測試,重構等是浪費資源,沒有辦法說服他。他的哲學是「如果沒有破產就不要修理」,我理解他的觀點。他在這個項目上工作了十多年,並且知道內部和外部的代碼。我不打算討論開發實踐。當您無法更改其他文件時打破依賴關係?
我是新來的項目,我的任務是添加一項新功能。我之前從事的是遺留項目,並且使用了敏捷開發實踐,並取得了良好的效果,但這些團隊更願意接受這一想法,並且不害怕對代碼進行更改。
我被告知我可以使用任何我想要的開發方法,但我必須將更改限制爲僅添加該功能所必需的更改。我正在使用tdd來編寫我正在編寫的新類,但是我一直在進入由自由使用全局變量和我需要與之交互的類中的高耦合所導致的路障。通常我會開始爲這些類提取接口,並通過將它們作爲構造函數參數或公共屬性注入來顯式依賴全局變量。
我可以爭辯說,這些變化是必要的,但考慮到領導從來沒有讓他們,我懷疑他會看到我的方式。我可以使用哪些技術來打破這些依賴關係,而不會破壞首席開發者的羽毛?
我做了使用了一些進展:
- 提取接口(新類我創建)
- 延伸並與測試樁覆蓋任性類。 (幸運的是大多數方法都是公開的虛擬)
但是,這兩個只能讓我到目前爲止。
注意
的領導的職責之一是審查提交的代碼。他可能會將反腐敗層級解釋爲過度,最壞的情況是侮辱。
我會讓這是一個評論,而不是一個阻止火焰的答案。我會建議打磨簡歷,並開始保持你的耳朵在一個新的位置。您將會在更友好的環境中進一步發展並學習更多。 *不*說戒菸或做任何事情,但如果氣氛沒有改善,6-12個月內我會有一份新工作。 – 2010-05-11 19:05:03