Android için en iyi kodlama uygulamaları, ipuçları ve daha fazlası

Joshua Earle Unsplash tarafından fotoğraf

İki yıldan fazla bir süredir geliştiriciyim ve kodlama yöntemim başkalarıyla öğrenip paylaşarak değişti. Geçtiğimiz iki yılda, binlerce kod satırı gördüm, bazıları nezih, bazıları çirkin ve neyse ki birkaç tane de seksi olanlar vardı. Bir programcıysanız ve bir Gazete okumak gibi bir kodu okuyabilirseniz, Hiçbir şeyi yenemez, Instagram'da takip ettiğiniz ateşli kızları bile. Öyleyse kazalım.

Kodlama ipuçları ve püf noktaları

İç içe geçmişse

Bundan nefret ediyorum, ciddiyim, aşağıdaki kod gibi birden fazla kontrol gerektiren ifadeleriniz var ve gerçekten çok derinlere gidiyor , kodlamada aslında kötü olan .

eğer (araç! = boş) {
       if (vehicle.getCar ()! = null) {
           if (vehicle.getCar (). getModel ()! = null) {
               int price = vehicle.getCar (). getModel (). getPrice ();
           }

       }
   }

Ve olay şu ki, bundan kaçınılabilir, tamamen yapabilirsiniz, böyle. Aşağıda gördüğünüz gibi biri daha okunaklı ve anlaşılması kolaydır.

if (vehicle == null || vehicle.getCar () == null || vehicle.getCar (). getModel () == null) iade;

int price = vehicle.getCar (). getModel (). getPrice ();

Varsayılanları bildir

Yaygın olarak kullandığınız farklı ilkel veya nesneler için gerekirse, şimdi varsayılan olarak karar verin ve beyan edin. Neden? İşte bu örn. farklı yerlerde null, boş dize ve “N / A” döndürdüğünüz bir fiyat (Dize) değişkeni vardır. Yapma bunu. İnsanlığa karşı bir suçtur . En sevdiğiniz şeyi seçin çünkü tutarlılık daha az hataya yol açar.

Döngüde Dize Birleştirme

Mesele şu ki, bazı şeyleri zaten biliyorsunuzdur, çünkü badass olacaksınız ama o kadar byassınız ki, daha fazla badass olacağı varsayımıyla geleceğiniz kendi kendinize bırakacaksınız, gerçeği görmezden geleceksiniz. tembel bir göt olabilir. Umarım f *** g noktası get alırsınız.

Hayır
için (Dize adı: isimler) {
    isim + = isim;
}
Evet
StringBuilder nameBuilder = new StringBuilder ();
için (Dize adı: isimler) {
    nameBuilder.append (ad);
}

Adlandırma

Kısa ömürlü değişkenler için kısa isimler ve uzun ömürlüler için iyi ve anlamlı çünkü uzun süredir sizinle birlikte olacaklar. Onlar aile.

Örneğin döngü içindeki index değişkeni 'i' olabilir, ancak sınıf değişkeninin 'index' olması gerekir

İsteğe bağlı

Java için bu, milyar dolarlık hata için sağlanan en iyi çözümdür ve ucuz bir çözüm gibi görünebilir, ancak nakit olarak zorsanız bunu kullanmanız gerekir.

Dönüş

Boş koleksiyonları ve listeleri boşa döndüremezseniz geri gönderin; aksi halde bir zillionaire iseniz milyarlarca trilyon olur ya da kardeşim yaparsınız .

Bilişsel Karmaşıklık

Tanım: Bir kişinin çerçevesi ve algısal becerisinin ne kadar karmaşık veya basit olduğunu gösteren psikolojik bir karakteristik veya psikolojik değişkendir.

Başkalarının ve daha büyük boyutların yüksek bilişsel karmaşıklığa neden olması durumunda yuvalanmış bir yöntemi programlamada daha az anlaşılabilirlik anlamına gelir means. Büyük yöntemleri mantıksal olarak ayrılmış küçük parçalara bölmek ve onu azaltmak için yukarıda Nested If’in numarasını kullanmak daha iyidir. Ayrıca SonarLint statik kod analiz aracı bunu sizin için hesaplar gerçek zamanlı olarak stüdyoda nasıl yaptığınızı görmek için sonar kullanabilirsiniz?

Lambda

Her eğri iyi olmadığından, kodunuzu kesin tutmak ve {} serbest bırakmak bir zorunluluktur. Neyse ki, onlar> 3.0.0 inşa ettikleri android gradle ile, buradaki stüdyo kontrolünü destekliyor.

Güncelleme

Araçlarınızı, becerilerinizi ve dilinizi her zaman güncelleyin, dil çocuğunuzun aklını düşünün (Go kotlin / flutter / tepki / hibrit / yerli… 13 nedenimiz !!) bunun dışında olur.

Google çok kızdı ve *** 'yı engelleyebilir.

bölge

Britanya’nın böl ve yönet politikasıyla yaptığı gibi büyük sınıflardaki kod parçalarınızı ayırmak için bölgeleri kullanın.

// bölge mantıksal olarak ayrılmış bölgenizin anlamlı adı
işini burada yap.
// endregion

Başlat

Kendinizi tekrarlamaktan kaçınmak için etkinliğin kendisinde etkinlik başlatmak için başlangıç ​​yöntemi oluşturun, çünkü bunu çok seviyor ve zaten kullanıyorsanız, verileri paketleyin ve aşağıdaki gibi binlerce parametreyi geçmeyin.

genel statik boşluk başlangıcı (İçerik bağlamı, Paket paketi) {
    Amaç başlangıcı = yeni Amaç (içerik, NextActivity.class);
    starter.putExtra (AppConstants.BUNDLE, paket);
    context.startActivity (başlangıç);
}

Yöntemdeki maksimum parametreler

İşlevlerde izin verilen parametre sayısı için bir sınır yoktur, ancak bu bir GF'ye sahip olmak gibi başka bir ahlaki kişiye sahip olamayacağınız anlamına gelmediği anlamına gelmez. İdeal olarak, 3-4'ten fazla parametre olmamalıdır ve bundan daha fazlasına ihtiyacınız varsa Parametre Nesne kalıbı kullanmanız gerekir.

Biçimlendirme

Kod biçimlendirmesi okunabilirlik için çok önemlidir, çöp atma yöntemlerinizi kullanmadığınız sürece yönteminize koyduğunuz kod üzerinde dikey ve yatay bir kısıtlama olmalıdır. Studio, geçilmemesi veya ölmeye hazır olmaması gereken dikey bir çizgiye sahiptir.

sınırını zorlama.vay beğendim!

Bir öneri

John Woods. Okunabilirlik kodu

Bazı iyi makaleler Android insanlarım için

Splash ekranını uygulamanın doğru yolu

Büyük ineklerden

Android stüdyosu eklentileri ile androidte nasıl daha üretken olunur

Mükemmel Singleton nasıl yapılır?

Mindorks

Buraya yazabilirim, bizi takip edebilirsin, bizden daha iyi insanlar var.

Araçlar ve eklentiler

Her şeyi bilmek zorunda değilsin, birileri sana bakar ve sana kardeşim HAYIR !!! derken, hata yapmana izin verilir. Aşağıdaki araçları deneyin.

SonarLint

Bunu tavsiye ediyorum, kullanıyorum ve bir meslektaşımdan bu konuda bilgi sahibi oldum, bazen yardımcı olabilirler, şaka yapıyorlar. Yalnızca değiştirilmiş sınıfları taramak için en iyi olan birçok özelliğe sahiptir ve sizi otomatik olarak kötü kodunuz ve bazen ne kadar çirkin olabileceğiniz için eleştirecektir. BTW Bilişsel karmaşıklığın daha önce konuştuğumuz yardımcı olur.

FindBug

Java kodundaki hataları bulmak için SonarLint gibi statik kod analizi kullanan bir programdır. FindBug hakkında daha fazla bilgi için bu kontrol edin. Arkadaşlar bir madeni para ya da her neyse, bu araçlardan birini seçin.

En iyi ve en çok kullanılan eklentilerin listesi için aşağıyı kontrol edin

Kodlama İlkeleri

KATI

Beş temel nesne yönelimli tasarım ilkesinin tanımlanmasına yardımcı olan, anımsatıcı bir kısaltmadır:

  • Tek Sorumluluk İlkesi
  • Açık-Kapalı İlke
  • Liskov Değiştirme Prensibi
  • Arayüz Ayrıştırma İlkesi
  • Bağımlılık İnversiyon Prensibi

Tam referans kontrolü için.

İzci Kuralı

Tanımı: Kampı bulduğundan daha temiz bırakın.

Bob amca tarafından yapılan temiz koddan, bu kuralı seviyorum, bu yüzden kötü bir kod üzerinde çalıştığımda, refactor, temizler, azaltır ve eskisinden daha anlamlı ve okunabilir kılar. Etrafınızı daima temiz tutun, çünkü başkan bir duvar yapmakla meşgul.

Kendini tekrar etme (DRY)

Asla asla iki kez aynı kod parçasını yazmayın, onu ironiclad kuralınız yapın ve insanlar bunu krallığınızda kesinlikle yasaklar.

Eleştirmenler prensibi

Tamam, tamamen yapılmış ama çok mantıklı. Takım arkadaşlarınızın kodlarını gözden geçirirken arkadaş olmazsınız, Onların düşman düşmanı olun, bir gün temizlemeniz gerekebilecek hata yapmalarına izin vermeyin. Başkalarının bokunu temizlemek sadece elini kirletir. Kod incelemelerinde iyi uygulamaları uygulayın.

Geldiği yerde bu tür ipuçları ve en iyi uygulamalar var, sadece bu bağlantıyı tıklayın, bana güveniyorum herhangi bir Reklamı açmayacağım ve hepiniz hatalarımı katkıda bulunabilir, önerebilir ve düzenleyebilirsiniz. Sen iyi insanlarsın. Sana oy vereceğim.

Devam edecek…

Bu makaleyi okuduğunuz için teşekkürler. Yararlı bulduysanız, bu makaleyi önermek için düğmesine tıkladığınızdan emin olun. Benim için çok değerli.

En iyi makaleleri blog.mindorks.com adresinde kontrol et

Ayrıca facebook, twitter, github ve linkedin ile bağlantı kuralım.

Clap, istersen paylaş ve bir sonraki hamle için beni takip et.