2012-05-29 80 views
0

我繼承代碼裝載與三元條件句。我們的編碼標準(在編寫代碼後引入)不允許使用這種風格。條件句簡化在蝕

我正在尋找一種方式,以避免人工重寫所有這些語句。有沒有設置/插件/某事物。其他在日食這個工作?

謝謝。

PS。雖然我明確尋找一個基於eclipse的解決方案,但我並不完全反對這個好的ruby腳本;)

編輯:Joachim Sauer的「按Ctrl + 1」方法適用於示例情況,但不不是一個典型的Eclipse生成的hashCode

int prime = 31;   
int result = 1; 
result{Ctrl+1} = prime * result + ((id == null) ? 0 : id.hashCode()); 

上標記位置按Ctrl + 1只顯示了以下選項: Rename in file, rename in workspace, Extract local, Copy to criteria Editor, Extract to local variable

如果將普遍工作,這將是巨大的。更好的辦法是不涉及每次事件的發生。

我使用的Eclipse 3.7在openSUSE 11,在這個情況下是相關的。

+0

如果要正確做到這一點,你必須解析Java源代碼(與Java解析器),否則,將永遠情況下,你的腳本是不是我以前那樣回答它8秒追趕 –

回答

3

假設此示例代碼:

boolean someCondition = true; 
    int a = someCondition ? 1 : 2; 

將光標置於a後,按下Ctrl鍵 - 。然後選擇「用if-else替換條件」。

這導致在該代碼:

int a; 
    if (someCondition) 
     a = 1; 
    else 
     a = 2; 

使用重構>內聯(Ctrl鍵 - - )的適用於減少不必要的變量聲明。

+0

+1; ) –

+0

如果你有5例,但如果你有工作的數百 –

+0

@Joachim - 謝謝,約阿希姆,遺憾的是這種方法並不十分可靠 - 適用於你的例子情況,但不不是一個典型的Eclipse生成的hashCode。請參閱我的編輯插圖。 – kostja