JavaRush /Blog Jawa /Random-JV /IDEA IntelliJ: Gaya Kode lan Format
Viacheslav
tingkat

IDEA IntelliJ: Gaya Kode lan Format

Diterbitake ing grup
Piranti modern nggawe proses pangembangan luwih gampang. Utamane, luwih gampang kanggo ngawasi gaya kode sampeyan, nyoba nyilikake format "ora sah". Ing review iki, Aku propose kanggo familiarize dhewe karo apa pribadi IntelliJ Idea IDE nyedhiyani pangembang kanggo nggawe kode penake kanggo maca lan gampang mangertos.
IDEA IntelliJ: gaya kode lan format - 1

Pambuka

Basa pamrograman meh padha karo basa sing diucapake wong. Bentenipun mung sing iki basa khusus sing pisanan digunakake kanggo komunikasi karo komputer kanggo nerangake apa kita arep saka iku. Nanging ora ana komunikasi siji-siji karo komputer. Sanajan sampeyan miwiti sinau basa pamrograman, sampeyan ndeleng buku utawa sawetara sumber pendidikan kaya JavaRush. Lan ing sumber iki sampeyan ndeleng kode sing komputer bakal ngerti. Nanging sampeyan uga kudu ngerti yen sampeyan entuk kawruh babagan basa Jawa. Kaya ing basa apa wae, pemrograman duwe sawetara aturan kanggo nggawe kode. Contone, nulis nganggo pager ing masyarakat sing sopan dianggep ora sopan, lan ing basa Jawa nyebutake cara nganggo huruf kapital minangka nglanggar gaya kode. Aturan kanggo format kode Jawa dirumuske ing dokumen Java Code Convention . Kajaba iku, gaya kode bisa ngatur rincian sing luwih cilik, kayata indentasi. Lan nalika alat kontrol versi digunakake, mbayangno kabeh ngipi elek nalika kabeh wong nyimpen file salah siji indented minangka tab utawa indented minangka spasi. Apa bakal kaya kanggo wong sing kudu mriksa suntingan mung siji cara, nanging kabeh file bakal diganti amarga koreksi spasi kanggo tab utawa kosok balene. Mesthi, kaya basa biasa, gaya bisa beda-beda gumantung ing ngendi digunakake. Contone, ing Internet sampeyan bisa nemokake Google Java Style Guide utawa Twitter Java Style Guide . Kanggo artikel review iki, kita butuh subyek tes. Ayo nggunakake layanan sistem mbangun proyek Gradle. Iku bakal ngidini kita nggawe proyek anyar nggunakake cithakan kanggo wiwitan cepet. Gradle duwe plugin sing apik: Mbangun Plugin Init . Ayo menyang direktori anyar lan nglakokake prentah ing kana: gradle init --type java-application Sawisé iku, bukak IntelliJ Idea. Yen sampeyan ndeleng jendhela kanthi proyek sing wis mbukak (sampeyan bakal weruh editor kode, wit struktur proyek), tutup proyek iki nggunakake File -< Close Project. Saiki ing jendhela sambutan kita bakal nglakokake "Import Project"lan ngimpor proyek anyar kita. Nalika ngimpor, setel gendera "Use autoimport". Ayo dipikirake manawa bisa nyederhanakake urip kanthi bantuan alat pangembangan modern.

Kode Formatting ing Idea

Sawise ngimpor proyek, penet kombinasi tombol Ctrl+Nlan pindhah menyang kelas AppTest. Kelas iki minangka kelas tes standar. Katon kaya mangkene:
import org.junit.Test;
import static org.junit.Assert.*;

public class AppTest {
    @Test public void testAppHasAGreeting() {
        App classUnderTest = new App();
        assertNotNull("app should have a greeting", classUnderTest.getGreeting());
    }
}
Apa sing langsung narik kawigaten sampeyan ing kene? Anotasi kanthi deklarasi metode ing siji baris, sing katon ala, setuju. Carane ndandani iki? IntelliJ Idea duwe bagean menu "Code"kanggo macem-macem manipulasi kode. Salah sawijining manipulasi kasebut yaiku "Reformat Code"kombinasi tombol Ctrl + L. Sawise aplikasi, anotasi bakal ana ing siji baris, lan cara kasebut bakal ana ing liyane. Sampeyan kudu eling yen operasi iki ditindakake ing bagean kode sing dipilih . Lan yen ora ana, operasi format bakal ditindakake ing kabeh konten. Ayo saiki nambah cara tes anyar:
@Test
public void testSummOfOddNumbers() {
	List<Integer> data = Arrays.asList(1, 4, 2, 3, 6, 7, 9);
	Integer result = data.stream().filter(number -> number % 2 == 0).reduce((n1, n2) -> n1 + n2).get();
	assertThat(result, is(12));
}
Lan loro impor:
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
Nalika sampeyan bisa ndeleng, operasi ing Stream diselehake ing siji baris. Nanging apa yen kita pengin nggawe manawa cara sing telpon dirantai tansah dipérang ing titik menyang baris anyar? Ing tangan siji, kita bisa nindakake iki kanthi manual. Nanging elinga yen kita pengin kabeh bisa kanggo kita. Sawise kabeh, saka wektu kanggo wektu kita bakal lali, lan format kode bakal beda nang endi wae, lan iki ora apik. Pranyata sampeyan kudu ngowahi aturan sing Idea nindakake format. Pilih item Idea ing menu File -> Settings(utawa klik Ctrl + Alt + S). Ing kolom telusuran ing jendela setelan, tulis "Gaya kode". Ing bagean Gaya Kode bisa nemtokake setelan ora mung kanggo Jawa. Nanging saiki kita kasengsem ing Jawa. Nalika sampeyan bisa ndeleng, setelan dipérang dadi sawetara tab. Sing paling migunani yaiku asil pangowahan bakal ditampilake ing conto ing sisih tengen jendhela:
IDEA IntelliJ: Gaya lan Format Kode - 2
Nalika sampeyan bisa ndeleng ing gambar, kita bisa nemtokake setelan kanggo "Panggilan cara Chained" minangka "bungkus tansah", i.e. tansah pamisah kanggo telpon cara gabungan. Saiki ayo ngeklik format maneh ing tes lan deleng manawa pancen bisa digunakake! Nanging kadhangkala ana sing perlu kanggo ngowahi format sawetara kode ing njaba aturan format umum. Ayo nyiyapake format kaya ing ngisor iki:
IDEA IntelliJ: Gaya lan Format Kode - 3
Kanggo ngaktifake format dipateni, dhukungan kanggo mateni tandha format kudu diaktifake ing bagean Gaya Kode:
IDEA IntelliJ: Gaya lan Format Kode - 4
Saiki kita bisa ngganti kode tes supaya formate tetep ing wangun sing ditulis:
@Test
public void testSummOfOddNumbers() {
	List<Integer> data = Arrays.asList(1, 4, 2, 3, 6, 7, 9);
	// @formatter:off
	Integer result = data.stream().filter(number -> number % 2 == 0)
                             .reduce((n1, n2) -> n1 + n2)
                             .get();
	assertThat(result, is(12));
	// @formatter:on
}
Ya, yen sampeyan sok dong mirsani: nalika sampeyan menet Tab, Idea nerangake minangka spasi kanggo sampeyan (prilaku standar). Nanging sampeyan bisa ngganti iki ing Gaya Kode:
IDEA IntelliJ: Gaya Kode lan Format - 5
Nalika sampeyan bisa ndeleng, ana macem-macem ageng saka setelan. Sampeyan bisa maca liyane babagan setelan gaya Kode ing kene: " Bantuan Idea: Gaya Kode ". Ana fitur format penting liyane - format impor. Dieksekusi kanthi kapisah lan diarani "Optimize Imports"lan dumunung ing item menu Code -> Optimize Imports(Ctrl + Alt + O). Optimasi impor mbusak impor sing ora perlu lan uga dilebokake ing urutan sing bener miturut setelan ing tab Impor saka Gaya Kode kanggo setelan Jawa. Uga, yen sampeyan pengin format kasebut kelakon kanthi otomatis, kabar apik yaiku sampeyan bisa nindakake kanthi nggunakake plugin Simpen Tindakan .

Distribusi Setelan menyang Tim

Apik, kita weruh ing ndhuwur manawa kita bisa ngatur gaya format sing cocog karo kita. Nanging kepiye gaya iki bisa digunakake ing tim? Prasaja banget. Ana sawetara opsi. Sing paling gampang yaiku nyimpen diagram. Bukak setelan Idea liwat File -> Setelan (utawa pencet Ctrl + Alt + S). Ing bagean Gaya Kode kita bisa ndeleng Skema prasasti. Iki minangka skema format kita. Kanthi gawan, skema kasebut kanthi jeneng Default lan ing jejere ana anotasi IDE: iki tegese setelan iki mung kanggo IDE kita, lan ora mengaruhi sapa wae. Kanggo nggawe skema "adat", klik tombol ing sisih tengen kanggo nggawe "duplikat" lan menehi jeneng, contone: JavaRush
IDEA IntelliJ: Gaya Kode lan Format - 6
Sawise iki, kita bakal bisa ngimpor utawa ngekspor setelan kasebut:
IDEA IntelliJ: Gaya lan Format Kode - 7
Pilihan liyane yaiku ngimpor setelan Idea:
IDEA IntelliJ: Gaya lan Format Kode - 8
Pilihan katelu yaiku Repositori Setelan. Kanggo informasi luwih lengkap babagan nggunakake Repositori Setelan, deleng dokumentasi "Bantuan Idea IntelliJ: Repositori Setelan ". Ing topik nyebarake gaya siji ing tim, Aku uga ora bisa bantuan nanging Wigati support apik kanggo gaya saka Eclipse IDE. Kanggo nindakake iki, sampeyan kudu nginstal plugin kapisah: mbukak setelan Idea liwat File -> Setelan (Ctrl + Alt + S) lan pindhah menyang bagean Plugins. Kanggo nggoleki plugin anyar, klik tombol "Browse Repositories", sawise iku kita bakal nemokake plugin Eclipse Code Formatter ing jendela telusuran.
IDEA IntelliJ: Gaya lan Format Kode - 9
Saiki, sawise instalasi, sampeyan kudu miwiti maneh Idea - iki minangka prosedur standar. Sawise iku, ing panggonan sing padha, ing setelan Idea, kita bakal nemokake bagean anyar: "Eclipse Code Formatter" Conto file format kanggo Eclipse bisa ditemokake ing kene . Bakal katon kaya iki:
IDEA IntelliJ: Gaya lan Format Kode - 10

Syarat tightening

Saliyane alat Idea, sampeyan uga bisa nggunakake plugin sistem mbangun kanggo ngencengi syarat. Ora ana cara kanggo mriksa manawa wong nggunakake format. Yen ana 5 wong ing tim, iku isih bisa. Yen perusahaan duwe 100 wong, iku ora realistis. Ya, sanajan limang bakal angel dilacak. Lan kenapa mbuwang wektu iki? Luwih gampang nglarang koleksi proyek yen aturan tartamtu dilanggar. Nyatane, iki minangka topik kapisah sing diarani "Kode Priksa". Kanggo tujuan artikel iki, aku mung pengin nuduhake cara kerjane. Salah sawijining plugin sing paling umum kanggo Gradle (amarga nglumpukake proyek kita, yen sampeyan ngelingi) yaiku pmd . Kanggo ngaktifake, bukak skrip mbangun proyek gradle kita (file build.gradle ing oyod proyek kita) lan nemtokake pmd ing jejere plugin liyane:

plugins {
    // Apply the java plugin to add support for Java
    id 'java'
    // Check source code
    id 'pmd'
    // Apply the application plugin to add support for building an application
    id 'application'
}
Saiki kita bisa nyetel setelan sing luwih rinci ing kana:

pmd {
    ignoreFailures = false
    pmdTest.enabled = true
    ruleSets = [
            'java-basic',
            'java-braces',
            'java-clone',
            'java-codesize',
            'java-comments',
            'java-controversial',
            'java-coupling',
            'java-design',
            'java-empty',
            'java-finalizers',
            'java-imports',
            'java-optimizations',
            'java-strictexception',
            'java-strings',
            'java-typeresolution',
            'java-unnecessary',
            'java-unusedcode'
    ]
}
Malah ing proyek kita, kabeh ora apik maneh. Ayo mbukak gradle build lan entuk kesalahan. Apa sing apik yaiku laporan digawe sajrone perakitan. Lan yen ana kesalahan, kita bakal nampa pesen kaya:

BUILD FAILED in 35s
6 actionable tasks: 6 executed
7 PMD rule violations were found. See the report at: file:///C:/_study/codestyle/build/reports/pmd/main.html
Yen kita pindhah menyang laporan, kita bakal weruh kaya:
IDEA IntelliJ: Gaya lan Format Kode - 11
Kajaba iku, ing kolom Masalah ana link kanggo katrangan babagan masalah ing situs web plugin pmd. Contone, kanggo kesalahan "headerCommentRequirement Requirement" link menyang kene: pmd - CommentRequired . Kesalahan iki nuduhake yen kelas kita ora duwe JavaDoc. Anane JavaDoc ing kelas bisa dikonfigurasi nggunakake template:
IDEA IntelliJ: Gaya lan Format Kode - 12
Lan nemtokake isi kanggo File Header:
IDEA IntelliJ: Gaya lan Format Kode - 13
Sawise iki, kita bisa nguripake komentar ing ndhuwur kelas App menyang JavaDoc lan ndeleng karo Mbangun anyar sing kesalahan wis ilang.

Garis ing ngisor

Gaya kode penting kanggo proyek sing produktif. Kode ayu ditulis miturut aturan umum iku njamin sing kolega bakal ngerti luwih gampang lan cepet, lan ora bakal ngomong saperangan bab affectionate bab sampeyan. Diwenehi alat pangembangan modern, tetep karo aturan kasebut ora angel banget. Mugi review iki wis nuduhake yen iki pancene. Inggih, kaya biasane, materi cilik babagan topik: #Viacheslav
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION