2017-02-20 50 views
7

To może być proste pytanie: Jak mogę masowo zmienić kod Java tak, aby większość argumentów metody była "ostateczna"? Jest to zgodne z naszą regułą "checkstyle". Mamy tysiące plików Java, więc ręczna edycja wszystkich z nich wydaje się nie do zaakceptowania.Massively refactor - jak dodać końcowe słowo kluczowe do argumentu metody Java

Nie znalazłem żadnej takiej opcji refaktora w IntelliJ. Ktoś zna jakieś narzędzie, które może pomóc? Lub jakieś mądre podejście, aby to osiągnąć?

Odpowiedz

17

Można użyć inspekcji mechanizm IntelliJ za to:

  1. Przejdź do Analyze-> Uruchom Inspection Imieniem
  2. wyszukiwania dla „zmiennej lokalnej lub parametru może być ostateczny” ostrzeżenie
  3. Upewnij się, że "Parametry metody raportu" to jedyna opcja zaznaczona.
  4. Wybierz korzeń drzewa (należy odczytać zmiennej lokalnej lub parametru może być ostateczny”
  5. Kliknij ALT + ENTER i wybierz«uczynić końcowy». Należy dodać modyfikator final we wszystkich brakujących miejsc .

Gdy już to zrobisz, możesz włączyć tę kontrolę w IDE więc ostrzega o podejmowania dalszych błędów:

  1. Nawiguj t o Plik-> Ustawienia-> Edytor-> Kontrole
  2. Wyszukaj ostrzeżenie "Zmienna lokalna lub parametr może być ostateczny"
  3. Upewnij się, że "Parametry metody raportu" to jedyna opcja zaznaczona.
+0

Czy wiesz, czy istnieje podobny sposób dodawania ostatecznego atrybutu do pól klasy? – cwoebker

+0

@cwoebker Możesz użyć tego samego podejścia do kontroli "Pole może być ostateczne". – Mureinik

2

Nota prawna: Nie chcę rozpoczynać wojny IDE i nie używam intelliJ, więc może być jakiś sposób, aby to zrobić. Ale ponieważ pytasz o narzędzie do tego i wysiłek ręczny może usprawiedliwić użycie innego IDE dla tego, tutaj idziesz w zaćmieniu.

W czasie zaćmienia można skonfigurować zadanie "sprzątania", aby dodać ostateczne, gdzie tylko możliwe. Zadanie czyszczenia można uruchomić w jednym oknie edytora, a także w całym projekcie z menu kontekstowego "źródło".