說出如果是10人項目,則在項目發佈穩定版本一段時間後,原始程序員將退出2-3個程序員。如何在這種情況下維護代碼?如何在原程序員退出後保持代碼可維護
我的想象力是在項目發佈版本之後回顧代碼,並在之後繼續審查它?也許分成2-3個小組,並讓每個小組審查部分代碼。所以至少有3-4人熟悉部分代碼。這是否工作?公司如何處理這個問題?
通常在審閱代碼上花費了多少時間?請告知,感謝社區。
說出如果是10人項目,則在項目發佈穩定版本一段時間後,原始程序員將退出2-3個程序員。如何在這種情況下維護代碼?如何在原程序員退出後保持代碼可維護
我的想象力是在項目發佈版本之後回顧代碼,並在之後繼續審查它?也許分成2-3個小組,並讓每個小組審查部分代碼。所以至少有3-4人熟悉部分代碼。這是否工作?公司如何處理這個問題?
通常在審閱代碼上花費了多少時間?請告知,感謝社區。
我認爲最重要的事情是獲得可維護的代碼是在程序員離開之前編寫代碼的單元測試。
..比「在程序員離開之前」 - >「編寫代碼之前」更好); – Juri 2010-05-12 06:40:14
當然是的;-) – khmarbaise 2010-05-12 06:41:01
或者差不多一樣好,在編寫代碼的同時寫測試 – 2010-05-14 14:04:54
聽起來你的問題是你試圖增加你的項目的「bus factor」。實現這一目標的合理方法是要求每段代碼在存儲庫中都有多個對象,或者至少要定期檢查對方的代碼,以便多位開發人員熟悉與對方的代碼部分。除此之外,應該要求使用Doxygen,Javadoc或其他一些標準文檔工具記錄每一個類別和方法,並且需要一套標準的編碼標準,以使代碼對於開發人員來說是直觀和易於理解的從未見過它(例如,要求類名稱爲TitleCased,函數爲camelCased,名稱爲描述性的和不言自明的)。
此外,要求爲每個組件創建單元測試是合理的。單元測試不僅可以及早發現錯誤,還可以提供代碼使用方式的示例。
實際上,基於那些博客文章,他正在努力減少他的公交係數。 ;) – 2010-05-12 07:00:06
@尼克,好點。通常情況下,「巴士因子」是開發商誰可以通過總線被擊中,而不會導致項目崩潰數量,但在文章中我聯繫他們向後使用它。 – 2010-05-12 10:24:29
你能做什麼完全取決於退出的程序員如何完成他們的工作。如果他們的代碼是「聰明的」,而且很少或根本沒有文檔和測試,那麼你可以做的最好的做法是將他們製作的模塊分開,扔掉,並用更好的編碼標準重寫它們。這可能確實比想辦法解決現有代碼的工作少得多。
簡單地教你剩餘的程序員如何閱讀現有的代碼的問題是,如果他們決定去更綠的牧場,你會再次回到原點。
你只落得不得不學習如何閱讀不同的編碼器的工作(這可以像讀獨特和外語),你的員工浪費時間越來越長......
至於其他的一些受訪者有人說 - 關鍵是讓每個人都按照標準編寫代碼(這意味着你只需要教新員工一套標準),並讓每個人定期檢查對方的代碼,以確保每個人都遵守標準,並且都朝着同一個方向前進。
如果你有一個穩定的構建,那麼你擔心什麼。代碼可以放在源代碼控制之下。在原來的程序員離開之前,您將從他們的全部知識轉移到新的資源。或者它是無計劃的。
無論如何,除非你有錯誤修復這些相關的代碼,我不認爲有什麼可擔心的。
假設代碼有沒有單元測試,這將是一個良好的開端,通常單元測試代碼之前寫的,但我覺得在沒有他們的情況下,我將它們添加它迫使我明白我的測試代碼。沒有先了解它,我就無法測試代碼,這似乎是您的擔憂。人們只能維護他們理解的代碼。
另一個優點是單元測試是生活中他們不離開公司:)
與您的代碼進行測試(至少它的重要部分)的人不太怕維護代碼的風險更改代碼被降低。如果編碼人員想要改變一個不太理想的代碼段,那麼一旦單元測試仍然通過,全世界都可以。
像其他人說的那樣,在程序員離開之前確保代碼是可維護的確是非常重要的。我不會重複所有其他職位,因爲他們都是真實的,都提到重要的事情。
我只會再添加一件在我曾經遇到過的情況下工作得很好的東西: 爲項目創建一個維基頁面,描述重要的設計決策,重要的類,架構以及可能的幾個入門點(當你想達到這個目標時就開始上課)。 也可能包括幾個「如何」:如果你想添加新的功能,這些是擴展點,這是做到這一點的最佳方式...
是的,我知道這是很多工作。但一旦完成,它就是一個很好的信息來源。
問候, 揚
你必須開始編寫文檔,創建單元測試並公佈的javadoc。
你想解決什麼問題? – Anonymoose 2010-05-12 06:33:18
查看所有投票! – zaf 2010-05-12 06:45:33
如果您只是將代碼分成團隊,那麼沒有人會知道整個架構的工作原理。如果代碼是可分的,每個人至少需要了解這些部分如何組合在一起。我的直覺是,有人需要採取一個高層次看位如何配合,以及其他教大家。從那裏開始,團隊可以瀏覽每個部分並進行描述。 – Carlos 2010-05-12 07:30:54