Java @ utdatert kommentar

1. Oversikt

I denne raske opplæringen vil vi se på avviklede APIer i Java og hvordan du bruker @Foreldet kommentar.

2. Den @Foreldet Kommentar

Etter hvert som et prosjekt utvikler seg, endres dets API. Over tid er det visse konstruktører, felt, typer eller metoder som vi ikke vil at folk skal bruke lenger.

I stedet for å bryte bakoverkompatibiliteten til prosjektets API, kan vi merke disse elementene med @Foreldet kommentar.

@Foreldet forteller andre utviklere atde merket element skal ikke lenger bli brukt. Det er vanlig å også legge til litt Javadoc ved siden av @Foreldet kommentar for å forklare hva som ville være et bedre alternativ som tjener riktig oppførsel:

public class Worker {/ ** * Beregn periode mellom versjoner * @ utdatert * Denne metoden er ikke lenger akseptabel for å beregne tid mellom versjoner. * 

Bruk {@link Utils # calcifyPeriod (Machine)} i stedet. * * @paramaskininstans * @return beregnet tid * / @ utdatert offentlig int beregne (maskin maskin) {return machine.exportVersions (). størrelse () * 10; }}

Husk at en kompilator bare viser den utgåtte API-advarselen hvis det merkede Java-elementet brukes et sted i koden. Så, i dette tilfellet, ville det bare vise om det var kode som kalte regne ut metode.

Også, Vi kan også kommunisere den utdaterte statusen i dokumentasjonen ved å bruke Javadoc @ utfaset stikkord.

3. Valgfrie attributter lagt til i Java 9

Java 9 legger til noen valgfrie attributter til @Foreldet kommentar: siden og for fjerning.

De siden attributt krever en streng som lar oss definere i hvilken versjon elementet ble utfaset. Standardverdien er en tom streng.

Og for fjerning er en boolsk som lar oss spesifisere om elementet skal fjernes i neste utgivelse. Standardverdien er falsk:

public class Worker {/ ** * Beregn periode mellom versjoner * @ utdatert * Denne metoden er ikke lenger akseptabel for å beregne tid mellom versjoner. * 

Bruk {@link Utils # calcifyPeriod (Machine)} i stedet. * * @paramaskinforekomst * @return beregnet tid * / @ utdatert (siden = "4,5", forRemoval = true) offentlig int beregne (maskin maskin) {return machine.exportVersions (). størrelse () * 10; }}

Enkelt sagt, bruken ovenfor betyr det regne ut har blitt utfaset siden 4.5 av biblioteket vårt, og at det er planlagt for fjerning i neste store utgivelse.

Det er nyttig for oss å legge til dette siden kompilatoren vil gi oss en sterkere advarsel hvis den finner ut at vi bruker en metode med den verdien.

Og det er allerede støtte fra IDEerfor å oppdage bruk av en metode merket med forRemoval = true. IntelliJ slår for eksempel gjennom koden med en rød linje i stedet for en svart.

4. Konklusjon

I denne raske artikkelen så vi hvordan du bruker @Foreldet merknad og dens valgfrie attributter for å merke kode som ikke lenger skal brukes.

Den fullstendige kildekoden for eksemplene finner du på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found