天天看點

如何重構可以不影響到正常業務的進行?

昨天主管和我review了Q2的kpi

主管:你覺得你寫的代碼怎麼樣?

我:感覺一般,看了程立寫的代碼,是種享受,和其比起來,差距還很大。其實大部人程式員都是以最小代價完成布置的任務,完成的代碼。我完成了任務,胡總你可能隻關心功能,又不知道我的代碼品質如何。還是看自己的責任心和時間吧,有時間也許會不斷重構自己的代碼,但有些自己也有些惰性。

主管:前段時間,我找程立看了下你在企業版的代碼,給的評價是中上等。

我:(腦子先是一懵,心想:完了,神一樣的男子看了我的代碼,居然給中上等的評級,是我不自信還是哪個環節誇大了?一是和程立的代碼比起來,我自己感覺自己的代碼非常垃圾;二是胡總居然會找首席架構看我的代碼,完全沒想到的,對我還是比較重視的;三是當時項目時間非常緊,連續一個月每天都是12點多回家,隻顧完成功能,代碼品質就不用想了)

       不會吧?我感覺我的代碼很垃圾的(自己在笑。。。我不想給自己找借口,雖然當時時間很緊,疊代一測試修bug,疊代二同時開發,根本沒有時間對代碼的品質進行完善)。那程立具體怎麼說的,我想聽下細節

主管:感覺你的代碼對于異常的捕獲、注釋這些做的還是比較到位。但是可能總體架構上、領域模組化上還是差一些。

我:我還是感覺自己的代碼比較垃圾。。。

----------------------------------------------------------------------------------------

于是

1.決定重讀martin大師的《重構--改善既有代碼的設計》

2.多讀一些公司架構的代碼,不斷學習

3.提高自己的責任心。代碼就是自己的孩子,寫出垃圾代碼,是我的恥辱!

但是重構,引發了一些思考:

1.我們的業務不斷的發展,代碼不斷的被閱讀,不斷的被修改,如何保證代碼的可維護性?也許重構是個不錯的注意。

2.也許重構代碼是必要的,但是如何保證重構的代碼不會影響其他的功能?也許我重構過程中改動的每一段相關的代碼,都是一個雷,一個和外圍系統之間的潛規則!

3.這2者是沖突的,沖突的出現必然推進事物的發展。如何在我們公司這種不斷發展的業務中,保證系統正常運作的同時,又保證代碼的品質?單元測試?codereview?靠個人的責任心?還是靠流程?

繼續閱讀