CodeGym /Java Blogu /Rastgele /IntelliJ IDEA: Kodlama stili ve kod biçimlendirme
John Squirrels
Seviye
San Francisco

IntelliJ IDEA: Kodlama stili ve kod biçimlendirme

grupta yayınlandı
Bir programlama dili, konuşma diline çok benzer. Tek farkı, asıl amacı bilgisayarla iletişimi kolaylaştırmak ve ondan ne yapmasını istediğimizi bilgisayara açıklamak olan özel bir dil olmasıdır. Ancak bir bilgisayarla kişisel bir konuşma yapamazsınız. Bir programlama dili öğrenmeye başladığınızda, kitaplara veya CodeGym gibi bazı eğitim kaynaklarına baktınız. Ve bu kaynak size bilgisayarın anladığı kodu gösterdi. Ama siz de Java dilini öğrenirken anlamalısınız. Herhangi bir dilde olduğu gibi, programlamada bazı biçimlendirme kuralları benimsenmiştir. Örneğin, kibar bir toplumda, BÖYLE BÖYLE YAZMAK görgüsüzlük olarak kabul edilir. Ve Java'da, bir yöntemin adını büyük harfle başlatmak, kodlama kurallarının büyük bir ihlalidir. IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 1Java koduna ilişkin kurallar , Java Programlama Dili için Kod Kuralları belgesinde verilmiştir . Kodlama kuralları, girinti gibi daha küçük ayrıntıları da düzenleyebilir. Girinti tutarsız olsaydı, bazı insanlar sekmeleri ve diğerleri boşlukları kullanırsa, sürüm kontrolünün tam bir kabusa dönüşeceğini hayal edin. Tek bir yöntemde bir düzeltmeyi kontrol etmesi gereken, ancak boşluklar ve sekmelerdeki farklılıklar nedeniyle tüm dosyanın değiştiğini bulan biri için bu nasıl olurdu? Tabii ki, sıradan dilde olduğu gibi, kurallar bir dilin kullanıldığı yere göre değişebilir. Örneğin, web'in uçsuz bucaksız alanlarında Google Java Stil Kılavuzunu ve Twitter Java Stil Kılavuzunu bulabilirsiniz.. Bu inceleme için bir test konusuna ihtiyacımız var. Gradle build otomasyon sistemini kullanacağız. Bir şablondan yeni bir proje oluşturarak hızlı bir şekilde başlamamıza izin verecektir. Gradle'ın harika bir eklentisi var: Build Init Plugin . Yeni bir dizine gidelim ve orada şu komutu çalıştıralım: gradle init --type java-application Ondan sonra IntelliJ IDEA'yı başlatın. Açık bir projeye sahip bir pencere görürseniz (yani, kod düzenleyiciyi ve proje ağacını görürsünüz), bu projeyi kullanarak kapatın File -> Close Project. Şimdi karşılama penceresinde " Import Project" komutunu çalıştırın ve yeni projemizi içe aktarın. İçe aktarırken, " Use autoimport" onay kutusunu ayarlayın. Hayatı bir şekilde basitleştirmek için son teknoloji geliştirme araçlarını kullanıp kullanamayacağımıza bakalım.

IDEA'da kod biçimlendirme

Projeyi içe aktardıktan sonra Ctrl+N tuşlarına basın ve sınıfa gidin AppTest. Bu, varsayılan test sınıfıdır. Şuna benziyor:

 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());
     }
 }
Gözünüze hemen ne çarpar? Çirkin görünen bir yöntem bildirimi ile aynı satırda bir ek açıklama, değil mi? Bu nasıl düzeltilir? IntelliJ IDEA, Codeçeşitli kod işlemleri için bir " " menü girişine sahiptir. Böyle bir manipülasyon Reformat Code, Ctrl+L kullanarak uygulayabileceğiniz " "dir. Bunu yaptıktan sonra açıklama bir satırda, yöntem bildirimi başka bir satırda olacaktır. Bu işlemin şu anda seçili olan kod üzerinde gerçekleştirildiğini hemen belirtmekte fayda var . Seçim yoksa, biçimlendirme işlemi her şey üzerinde gerçekleştirilir. Şimdi yeni bir test metodu ekleyelim:

 @Test
 public void testSumOfOddNumbers() {
 	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));
 }
Ve iki ithalat:

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
Gördüğünüz gibi Stream üzerindeki işlem tek satırda. Ancak, zincirleme yöntem çağrılarının her dönem operatöründe her zaman yeni satırlara bölündüğünden emin olmak istersek ne olur? Bunu manuel olarak yapabilirdik. Ancak her şeyin otomatik olarak olmasını istediğimizi unutmayın. Aslında, zaman zaman manuel adımı kesinlikle unutacağız ve sonra her yerde farklı biçimlendirmelerle karşılaşacağız ve bu iyi değil. Bu nedenle, IDEA'nın biçimlendirme için kullandığı kuralı düzenlememiz gerekiyor. SeçmekFile -> SettingsIDEA menüsünde (veya Ctrl+Alt+S tuşlarına basın). Ayarlar penceresindeki arama alanına "Kod stili" girin. "Kod stili" bölümünde, yalnızca Java'dan daha fazla dil için ayar belirleyebilirsiniz. Ancak şu anda ilgilendiğimiz şey Java. Gördüğünüz gibi, ayarlar birkaç sekmeye ayrılmıştır. Süper kullanışlı bir özellik, işlemin bir örneğinin pencerenin sağ tarafında gösterilmesidir: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 2Ekran görüntüsü, "Zincirleme yöntemi çağrılarını" "her zaman sar" olarak ayarlayabileceğimizi, yani her zaman zincirleme yöntem çağrılarını ayrı satırlara ayırabileceğimizi gösterir. Şimdi test sınıfında biçimlendirme düğmesine tekrar tıklayın ve gerçekten işe yaradığını görüyoruz! Ancak bazen bazı kodları standart biçimlendirme kurallarının dışında biçimlendirmeniz gerekir. Biçimlendirmeyi aşağıdaki gibi ayarlayın: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 3Biçimlendirmeyi önlemek için, "Kod Stili" bölümünde biçimlendirici işaretçilerini etkinleştirin: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 4Artık test sınıfımızı kodunun yeniden biçimlendirilmemesi için değiştirebiliriz:

 @Test
 public void testSumOfOddNumbers() {
 	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
 }
Sekme tuşuna bastığınızda IDEA'nın bunu bir boşluk olarak yorumladığını fark etmiş olabilirsiniz (bu varsayılan davranıştır). Ancak bunu " " bölümünden değiştirebilirsiniz Code Style: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 5Gördüğünüz gibi orada bir çok ayar var. Ayarlar hakkında daha fazla ayrıntıyı " " buradan okuyabilirsiniz Code style: " IDEA Yardım: Kod Stili ". Başka bir önemli biçimlendirme özelliği daha vardır: biçimlendirme içe aktarmaları. Bu işlem ayrı olarak yürütülür ve " Optimize Imports" olarak adlandırılır. Code -> Optimize Imports(Ctrl+Alt+O) altında bulunur . İçe aktarmanın optimize edilmesi, gereksiz içe aktarmaları kaldırır ve içe aktarmaları Java ayarlarının " Imports" " " sekmesindeki ayarlara göre doğru sırada düzenler . Code StyleAyrıca, bu biçimlendirmenin otomatik olarak gerçekleşmesini istiyorsanız size iyi haberlerimiz var:Eylemler eklentisini kaydedin .

Ayarları bir komutta dağıtma

Yukarıda biçimlendirme stilinizi istediğiniz gibi özelleştirebileceğinizi gördük. Ancak bu stili bir ekip içinde nasıl kullanırsınız? Çok kolayca. Birkaç seçenek var. En basiti, bir kod stili şemasını kaydetmektir. IDEA ayarlarını kullanarak açın File -> Settings(veya Ctrl+Alt+S tuşlarına basın). " Code Style" bölümünde "Şema" görebiliriz. Bu bizim biçimlendirme şemamız. Varsayılan olarak, "Varsayılan" şema kullanılır ve "IDE" olarak etiketlenir; bu, bu ayarın yalnızca bizim IDE'miz için geçerli olduğu ve başka kimseyi etkilemediği anlamına gelir. "Özel" bir şema yapmak için, sağdaki düğmeyi kullanarak bir kopya oluşturun ve buna bir ad verin, örneğin: CodeGym IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 6Ardından ayarları içe veya dışa aktarabiliriz: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 7 Başka bir seçenek de IDEA ayarlarını içe aktarmaktır: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 8Üçüncü bir seçenek, Ayarlar Havuzudur. Ayarlar Deposunu kullanmak için, aşağıdaki bağlantıda daha fazla ayrıntı için IntelliJ IDEA Yardım belgelerine bakın: Ayarlar Deposu ". Bir takımda birleşik bir stili zorlamaktan bahsetmişken, Eclipse'in stiller için iyi desteğinden de bahsetmeden edemeyeceğim. IDE.Bunu yapmak için ayrı bir eklenti yüklemeniz gerekir: Dosya -> Ayarlar (Ctrl+Alt+S) aracılığıyla IDEA ayarlarını açın ve "Eklentiler" bölümüne gidin.Yeni eklentiler bulmak için " " düğmesini tıklayın. Browse RepositoriesArdından arama penceresinde Eclipse Code Formatter eklentisini bulun. IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 9Kurduktan sonra, IDEA'yı yeniden başlatmanız gerekecek - bu standart prosedür. Artık her şey yapıldı. IDEA ayarlarında yeni bir bölüm var: "Eclipse Code Formatter".. Bunun gibi bir şey görünecek: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 10

Daha sıkı gereksinimler

IDEA araçlarına ek olarak, gereksinimleri sıkılaştırmak için yapı otomasyonu eklentilerini de kullanabilirsiniz. Birinin uygun biçimlendirmeyi kullanıp kullanmadığını manuel olarak kontrol etmenin hiçbir yolu yoktur. Belki bir ekipte 5 kişiyle yapabilirsin. Ama bir şirkette 100 kişi varken bu gerçekçi değil. Ve beşini bile takip etmek zor olacak. Ve neden zamanını bunlarla harcıyorsun? Kurallar ihlal edilirse projenin yapılmasını engellemek çok daha kolay olacaktır. Aslında bu, "Kodu İncele" adı verilen tamamen ayrı bir konudur. Bu yazıda, size sadece nasıl çalıştığını göstermek istiyorum. En popüler Gradle eklentilerinden biri (çünkü projemizi oluşturuyor, hatırlayacaksınız) pmd. Etkinleştirmek için, Gradle projemizin derleme komut dosyasına (projemizin kök dizinindeki build.gradle dosyası) gidin ve eklentilerin geri kalanının yanına pmd'yi ekleyin:

 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'
 }
Artık aynı yerde daha detaylı ayarlara girebiliriz:

 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'
     ]
 }
Artık projemiz bile bozuldu. Çalıştırın gradle buildve bir hata alıyoruz. Güzel olan şey, oluşturma sırasında bir rapor oluşturulmasıdır. Ve eğer hatalar varsa, şöyle bir mesaj alırız:

 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
Rapora gittiğimizde, şöyle bir şey görüyoruz: IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 11Ayrıca, " Problem" sütunu, pmd eklentisinin web sitesindeki sorunun açıklamasına bir bağlantı sağlar. Örneğin, " headerCommentRequirement Required" hatası için bağlantı şuraya gelir: pmd — CommentRequired . Bu hata, sınıfımızın bir JavaDoc'a sahip olmadığına dair bir ipucudur. Sınıfların üzerinde bir JavaDoc yapılandırmak için şablonları kullanabiliriz: Ve : IntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 12için içeriği belirtin . Bundan sonra, App sınıfının üstündeki yorumu bir JavaDoc'a dönüştürebilir ve yeni bir derlemede hatanın gittiğini görebiliriz. File HeaderIntelliJ IDEA: Kodlama stili ve kod biçimlendirme - 13

Alt çizgi

Bir projede üretkenliği en üst düzeye çıkarmak için kod stili önemlidir. Paylaşılan kurallara göre yazılmış güzel kod, iş arkadaşlarınızın onu daha kolay ve hızlı bir şekilde anlamasını ve size bir kulak dolusu eleştiri vermemesini garanti eder. Modern geliştirme araçlarıyla stil kurallarına bağlı kalmak o kadar da zor değil. Umarım bu inceleme size bunun doğru olduğunu kanıtlamıştır. Geleneği takip ederek, işte konuyla ilgili biraz fazladan materyal:
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION