Android kitabxananızı necə yaxşılaşdırmaq olar

10 ən yaxşı təcrübə və tövsiyələr

Bir Android kitabxanası inkişaf etdirirsinizsə (açıq mənbəli və ya olmasa), onu yüksək keyfiyyətdə saxlamaq və həmçinin istifadəçilərinizin və işçilərinizin həyatını asanlaşdırmaq üçün bəzi təlimatlara əməl etmək yaxşıdır. Tövsiyə etdiyim ən yaxşı tətbiqetmələrin və təqib edə biləcəyiniz tövsiyələrin siyahısı.

1. Resurs önəkləri

İstifadəçilərinizdən biri təsadüfən kitabxananızdakı bir Android qaynağının üzərinə yazarsa, bu çox təhlükəli ola bilər. Məsələn, kitabxananızda müəyyənləşdirdiyiniz eyni adda bir simli qaynaq yarada bilərsiniz.

Bunun qarşısını almaq üçün (və ya heç olmasa bir ad münaqişəsi ehtimalını azaltmaq) bir yol, bütün kitabxana qaynaqlarına bir prefiks təyin etməkdir.

Məsələn, prefiks kitabxana adınız və ya paket adınız ola bilər. Bunu aşağıdakı qovluqlardakı bütün fayllara əlavə etməlisiniz

  • res / drawable
  • res / layout
  • res / menyu
  • res / xml
  • res / xam

Bu qaynaq növlərinin adlarının önünə də əlavə edin

  • Simli
  • Cəm formaları
  • rəng
  • zəif
  • elan edilə bilər
  • stil
  • axmaq

Android Studio-dan bu barədə xəbərdar etmək üçün build.gradle kitabxananızın prefiksini də elan edə bilərsiniz.

Android {resourcePrefix 'YOUR_PREFIX_'}
Android Studio Extract Resource Dialogu önünüzün avtomatik tamamlanmasını təmin edəcəkdir

2. Təsnifatçıların səhvlərini düzəldin və paylaşın

Kitabxananızda ayıklama kodu və ya inkişaf proqramları varsa, onları buraxılış əsərinizə (.aar) daxil etməyin. Quruluş tiplərinə görə kitabxananızın iki fərqli əsəri yaratmaq üçün təsnifləndiricilərdən istifadə edə bilərsiniz:

  • Ayıklama artefaktında, məhsuldar kitabxana kodunuzun hamısı, istifadəçilərinizin inkişaf zamanı istifadə edəcəyi hər hansı bir hata kodu və ya yardım proqramı da olmalıdır.
  • Buraxılış əsərində yalnız istehsal APK-sinə daxil ediləcək kitabxana kodunuz olmalıdır.

Bütün kitabxana variantlarını dərc etmək üçün kitabxananızın build.gradle səhifəsinə aşağıdakı konfiqurasiyanı əlavə etməlisiniz

Android {PublisNonDefault true}

Ardından kodunuzu ehtiyaclarınıza uyğun olaraq ayıklama, əsas və ya buraxma qovluğuna uyğunlaşdırın və kitabxananı yüklədiyiniz zaman iki əsəriniz olacaq

  • ARTIFACT_ID-VERSION-debug.aar
  • ARTIFACT_ID-VERSION-release.aar

Kitabxana istifadəçiləriniz asılılıqlarını ehtiyaclarına görə daxil etməlidirlər. Misal üçün

debugCompile ('GROUP_ID: ARTIFACT_ID: VERSION: debug @ aar') {transitive = true; }
releaseCompile ('GROUP_ID: ARTIFACT_ID: VERSION: buraxılış @ aar') {transitive = true; }

3. Bir versiya sxemini təyin edin

İstifadəçiləriniz versiya nömrənizə sürətli baxaraq bir versiyada hansı dəyişikliklərin olduğunu bilməyə layiqdirlər.

Uyğunluğu pozursunuz? Yalnız bir yamaq versiyasıdır? Semantik versiyaya dair təlimatlara əməl etmək kitabxananızın versiyası üçün yaxşı bir fikirdir.

MAJOR.MINOR.PATCH bir versiya nömrəniz varsa, artırın:
BÖYÜK versiya, uyğun olmayan API dəyişiklikləri etsəniz,
Kiçik versiya funksiyaları geriyə uyğun əlavə etsəniz və
Yama versiyasını geriyə uyğun düzəlişlər edirsinizsə.

Bir versiya sxemi seçməyinizi və vikinizdə sənədləşdirməyinizi məsləhət görürəm.

4. Hər kəsə açıq buraxılış qeydləri

İstifadəçiləriniz buraxdığınız hər versiyanın yeni xüsusiyyətləri, təkmilləşdirmələr, hata düzeltmeleri, köhnəlmiş kod və köç addımları daxil olmaqla bütün detalları bilməlidir.

Bunu düzəltməyin bir yolu dəyişiklik jurnalını aparmaqdır.

Dəyişikliklər jurnalı, layihənin hər bir versiyası üçün nəzərəçarpacaq dərəcədə dəyişiklik edilmiş, xronoloji qaydada sifariş edilmiş bir siyahı olan bir sənəddir.

Keepachangelog.com veb saytında yaxşı dəyişiklik jurnallarının yazılması üçün bəzi faydalı şərtlər müəyyənləşdirilmişdir.

Bir problem izləyicisi olaraq GitHub Issues istifadə edirsinizsə, bu faylın yenilənməsi prosesini avtomatlaşdıran bu dəyişiklik jurnal istehsalçısına baxa bilərsiniz.

Həm də Github Releases istifadə etməyinizi və dəyişikliklər qeydinizi yaratdığınız hər bir versiyanın təsvirinin bir hissəsi kimi daxil etməyinizi məsləhət görürəm. Məsələn, https://github.com/maxirosson/jdroid/releases saytına nəzər yetirə bilərsiniz

5. Maven Mərkəzi / Jcenter anbarlarında dərc edin

Bütün kitabxana əsərlərinizi Maven Central və ya Jcenter depolarına yayımlamaq istifadəçi konfiqurasiyasını asanlaşdırır. çünki build.gradle sənədlərinə xüsusi depolar əlavə etmək məcburiyyətində deyillər.

Maven Central-a nəşr haqqında daha çox məlumat üçün buraya baxın. Bununla birlikdə, asılılıqlarınız üçün qrup kimliyi olaraq seçdiyiniz domenin sahibi olmağınız lazım olduğunu unutmayın.

Sonuncu ipucu həm açıq mənbəli, həm də xüsusi kitabxanalarda işləyir. Açıq mənbə kitabxanalarına xas olan bəzi əlavə tövsiyələr.

6. README kömək edin

Kitabxana kodunuzu yerləşdirmək üçün GitHub istifadə edirsinizsə, köməkçi təlimatlarla bir .github / CONTRIBUTING.md faylı əlavə edə bilərsiniz. Qatqı bir çəkmə sorğusu açdıqda və ya problem yaratdıqda, təlimat sənədinizi görəcəkdir.

Töhfə verən sənədlər layihə menecerinin yamaları və xüsusiyyətləri necə görmək istədiyini ətraflı təsvir edir. Bu, hansı testlərin yazılması lazım olduğunu, hansı kod sintaksis üslubundan istifadə edilməsini və ya yamaq üçün hansı sahələrə diqqət yetirilməsini əhatə edə bilər.

Burada bir nümunə görə və daha çox məlumat əldə edə bilərsiniz.

7. Git Dallanma və Etiketlər Konvensiyası

Git dallanma və etiket strategiyanızı müəyyənləşdirib yayımlamağınız o qədər vacibdir ki, nümayəndələriniz harada çalışacağını daha yaxşı bilsinlər. Məsələn, kitabxananızın daha dayanıqlı versiyasının hansı filialda olduğu və ən son versiyanın harada olduğu onlara məlumat veriləcəkdir.

8. Xalqın davamlı inteqrasiyası

Davamlı inteqrasiya üçün ictimai bir vasitə olduqda, kitabxana istifadəçilərinizə və iştirakçılarınıza filiallarınızın sabitliyi barədə məlumat verilir.

Travis davamlı inteqrasiya üçün əla vasitədir və açıq mənbəli layihələr üçün pulsuzdur. Həm də Github-un çəkmə istəyi mexanizminə daxil edilmişdir və README dosyanıza filial qurma statusu ilə Travis nişanı əlavə edə bilərsiniz.

[! [Tikinti Vəziyyəti] (https://api.travis-ci.org/REPO_OWNER/REPO_NAME.svg?branch=master)] (https://travis-ci.org/REPO_OWNER/REPO_NAME)
Travis Build Status Nişanı

9. Public Issue Tracker

İstifadəçilərinizin və işçilərinizin səhvləri, xüsusiyyət tələblərini və ya təkmilləşdirmələri yükləmək üçün istifadə edə biləcəyi bir ictimai məsələ izləyicisi, əməkdaşlığı təşviq etmək üçün yaxşı bir fikirdir.

GitHub'ı Git deposunuz kimi istifadə edirsinizsə, GitHub məsələləri başlamaq üçün yaxşı bir yerdir. Layihəniz böyük və ya mürəkkəbdirsə, Jira o Redmine kimi daha inkişaf etmiş bir alətə ehtiyacınız ola bilər.

10. Mənbələri dərc edin

Mənbə kodunuzu asılılıq deposunda (məsələn, Maven Central və ya Jcenter) dərc etməyi unutmayın. Bu ən yaxşı təcrübə istifadəçinizin IDE-nin mənbələri avtomatik yükləməsinə kömək edəcəkdir. Bu, kitabxananızın daxili hissələrini başa düşməyinizdə və ondan düzgün istifadəni təşviq etməkdə çox faydalıdır.

Bu sətirləri build.gradle-a əlavə etdikdə mənbələr avtomatik olaraq gradArchives tapşırığının bir hissəsi olaraq yüklənir.

tapşırıq ('androidSourcesJar', yazın: Jar) {classifier = 'mənbələr' android.sourceSets.main.java.sourceFiles, android.sourceSets.debug.java.sourceFiles} əsərlər {archives project.tasks.androidSourcesJar}

Bu hekayədən zövq aldın? Zəhmət olmasa ( düyməsini basaraq) tövsiyə edin və ya bu hekayəni başqaları ilə paylaşın ki, başqaları oxusun! Həm də bağışlaya bilərsiniz (aşağıdakı bağış düyməsini vuraraq) və yazmağıma kömək edə bilərsiniz. Çox təşəkkür edirik!

Sizi yeni Android oyunum olan Geo Seeker oynamağa dəvət edirəm. https://geoseekergame.com