2012-02-17 72 views
5

我正在做的代碼重構是從其他語言翻譯成Java,我想自動執行。我的問題是,我有很多非私有的方法,但只是在同一個類中調用它們,並且我想讓它們保持私有。我有很多課,我想如果有什麼可以幫助我半自動地做,我想知道它。自動將public改爲private(Java)

你知道我是否可以尋找這些方法使它們快速私有?我正在使用Eclipse。

+4

如果消息批量需要以民間那麼你可以設置所有的公共是私人用查找/替換,然後修復去紅色的,因爲他們需要的是公衆的。 – Gray 2012-02-17 13:19:31

+1

你爲什麼要這樣做?如果這是一個生產環境,請不要這樣做。 – 2012-02-17 13:28:43

回答

8

全部替換爲一個選項。

我建議你不這樣做。程序員有privatepublic。如果你只是從類本身調用一個方法,它不會自動錶示它已將設置爲private。你可以做的最好的事情是一次一個地去查看它們,問自己「這個方法應該是公共接口的一部分還是不是?」。

就我個人而言,無論何時我在需要使用的課程中遇到private方法,99%的時間我都會將其保留private並尋找解決方法。這是因爲我認爲代碼的原始作者知道他在做什麼。當然,這並不總是適用。

private是意向聲明。這就像是說 - 如果你需要在課堂以外使用它,那麼你做錯了什麼。你不應該需要這個。

1

也許一個辦法是更換與選定的文件和與「全部替換」功能「私」字「公」字。但是,如果您在方法簽名以外的某些代碼的內容中「公開」,則會產生副作用,例如,裏面的字符串也許。

更換您選擇所有方法簽名後,檢查一次,以確保他們,他們是你想要的方式。

2

有一點要注意的是,由於假設公共範圍,你可以有你的類調用方法之外類。如果你能夠保證你有所有可能的代碼調用這個。您也可以通過右鍵單擊該方法來檢查該方法是否在eclipse中使用,並使用Reference或(ctrl + shift + G)確保沒有調用此方法的位置。

要真正的修改從公衆到私人,搜索和替換可能是你最好的選擇。

相關問題