Guideline Ngoding di Android Studio dengan Code Convention

Guideline Ngoding di Android Studio dengan Code Convention Salah satu aspek utama yang dipentingkan oleh para Dicoding Reviewer dalam menilai submission adalah code convention. Banyak submission yang diberi catatan untuk merevisi kode karena terdapat bagian yang tidak sesuai dengan code convention. Wah, apa sih code convention ini? Sebegitu pentingnya kah? Apa yang harus kita tahu untuk ngoding di Android Studio?

Bila dibahasa-Indonesiakan, code convention berarti konvensi kode. Dalam KBBI konvensi memiliki arti permufakatan atau kesepakatan, yaitu suatu kumpulan norma yang diterima umum. Bisa dibilang, code convention adalah standar pengkodean. Oleh karena itu, seringkali code convention dianggap sebagai guideline atau petunjuk untuk ngoding, karena ia memberikan aturan-aturan yang harus diikuti oleh developer ketika mengembangkan aplikasinya.

Kenapa penting? Karena code convention akan mempermudah perawatan atau maintenance dari suatu aplikasi. Maintenance sendiri merupakan suatu lifetime cost, alias harus dilakukan selama aplikasi tersebut masih dipergunakan. Apalagi, hampir tidak ada maintenance aplikasi yang hanya dilakukan oleh pembuatnya, pasti akan berpindah kepada engineer yang lain. Nggak mau kan, membuat engineer lain bingung karena kodemu melenceng dari aturan?

Dalam Android Studio, petunjuk ini mencakupi banyak hal, yaitu struktur projek, penamaan file, peraturan ngoding dan peraturan style dalam bahasa Java, style dalam XML, dan peraturan dalam testing. Nah, kita akan membahas yang paling umum, yaitu mengenai penamaan file, style dalam Java, dan style dalam XML.

Satu hal utama yang berlaku untuk seluruh aturan dalam Android Studio adalah: selalu gunakan bahasa Inggris untuk menamakan sesuatu. Mengapa demikian? Karena bila tidak, lint akan mendeteksi kata yang tidak terdapat dalam bahasa Inggris sebagai spelling error

Tips dan pedoman yang akan kita bahas adalah,

  1. Penamaan File yang Benar
  2. Style dalam Java yang Benar
  3. Style dalam XML yang Benar
  4. Tips Mengatasi Warning

Penamaan File

  1. Penamaan file kelas (class)

    Setiap nama kelas haruslah menggunakan UpperCamelCase, yaitu pemberian huruf kapital di setiap awal kata tanpa spasi. Contoh : MatchData, MatchRepository, RecyclerViewAdapter.

    Apabila kelas tersebut meng-extend komponen Android, maka di akhir nama kelas harus ditambahkan nama dari komponen yang dipakai. Contoh : MatchFragment, SplashActivity, ImageUploaderService, ChangeAvatarDialog.

  2. Penamaan file resources 

    Resources adalah apapun yang berada dalam folder res di proyek Android Studio. Penamaan dari setiap file resources yang ada haruslah dalam lowercase_underscore. Artinya, nama dari file resources memiliki huruf kecil secara keseluruhan, dan menggunakan underscore ( _ ) di antara kata yang dipakai.

    Pedoman Android Resource pada Code Convention

    https://jeroenmols.com/blog/2016/03/07/resourcenaming/

     

  3. Penamaan file drawable 

    Berikut adalah konvensi dari penamaan file drawable. File-file ini diletakkan dalam folder res -> drawable. Usahakan mengikuti style seperti yang dicontohkan di bawah ketika ingin memberi nama pada file drawable yang kamu buat.

    Tipe aset Awalan Contoh
    Action bar ab_ ab_stacked.9.png
    Button btn_ btn_send_pressed.9.png
    Dialog dialog_ dialog_top.9.png
    Divider divider_ divider_horizontal.9.png
    Icon ic_ ic_star.png
    Menu menu_ menu_submenu_bg.9.png
    Notification notification_ notification_bg.9.png
    Tabs tab_ tab_pressed.9.png

    Untuk ikon, terdapat naming convention lebih lanjut, yaitu:

    Tipe Aset Awalan Contoh
    Icons ic_ ic_star.png
    Launcher icons ic_launcher ic_launcher_calendar.png
    Menu icons dan Action Bar icons ic_menu ic_menu_archive.png
    Status bar icons ic_stat_notify ic_stat_notify_msg.png
    Tab icons ic_tab ic_tab_recent.png
  4. File layout

    Untuk menamakan file layout, kita harus melihat nama komponen Android dari kelas yang memiliki mereka. Kemudian nama komponen tersebut diletakkan di awal dari nama layout dilanjutkan dengan nama kelas. Ingat, masih menggunakan style lowercase_underscore dan berbahasa Inggris. Contoh : apabila kita ingin membuat layout untuk kelas PreviousMatchActivity, maka namanya seharusnya activity_previous_match.

    Komponen Nama Kelas Nama Layout
    Activity UserProfileActivity activity_user_profile.xml
    Fragment SignUpFragment fragment_sign_up.xml
    Dialog ChangePasswordDialog dialog_change_password.xml
    Item dari Adapter item_person.xml
    Partial layout partial_stats_bar.xml

    Terdapat sedikit perbedaan ketika membuat layout yang akan diisi (inflate) oleh Adapter. Nama layout-nya tidak diawali dengan adapter_ melainkan dengan item_.

    Bagaimana dengan penamaan layout yang merupakan bagian dari layout lain? Dalam kasus ini, aturan di atas tidak bisa diterapkan. Oleh karena itu, gunakan partial_ di awal nama layout yang kamu buat.

  5. File menu 

    Praktik yang baik dari pemberian nama pada file menu adalah dengan tidak menggunakan menu_ di awal nama, karena file tersebut sudah diletakkan di direktori menu. Penamaan dari file menu memiliki aturan yang sama dengan penamaan file layout. Contohnya, bila menu tersebut akan digunakan di kelas UserActivity, maka nama file menunya adalah activity_user.xml.

  6. File values 

    Nama file dalam folder res->value menggunakan kata jamak (plural) dan pastinya dalam bahasa Inggris. Contoh : strings.xml, styles.xml, colors.xml, dimens.xml, attrs.xml.

Style dalam Java

  1. Penamaan dan deklarasi fields 

    Fields dalam Java adalah variabel yang berada di dalam suatu kelas. Fields ini harus diletakkan di bagian paling atas dari suatu file, dan harus menerapkan peraturan penamaan seperti di bawah ini :

    • Field yang private dan non-static diberi nama yang berawal dari m
    • Field yang private dan static diberi nama yang berawal dari s
    • Field lain diberi nama yang berawal dari kata dengan lowercase
    • Field yang static dan final (constants) diberi nama dengan style ALL_CAPS_WITH_UNDERSCORES.
    • Contoh :
  2. Penulisan akronim

    Penulisan akronim (gabungan huruf atau suku kata) juga diatur dengan baik. Berikut adalah good practice nya.

    Good Bad
    XmlHttpRequest XMLHTTPRequest
    getCustomerId getCustomerID
    String url String URL
    long id long ID
  3. Pemberian spasi untuk indent 

    Untuk membuat block, gunakan 4 kali spasi:

    8 kali spasi digunakan untuk line wraps:

  4. Penggunaan brace style standar

    Brace atau yang sering disebut juga curly brackets ( {} ) memiliki aturan sendiri ketika digunakan dalam bahasa Java. Beberapa aturan tersebut adalah:

    • ( { ) diletakkan di baris yang sama dengan kode sebelumnya
    • ( {} ) hanya diperlukan apabila condition dan body tidak cukup berada pada satu baris (memerlukan lebih dari satu baris). Contoh: curly brackets tidak diperlukan pada kode berikut:

      Penulisan seperti:

      bukanlah merupakan praktik yang baik.

Style dalam XML

  1. Penggunaan tag penutup ( < /> )

    Suatu elemen XML haruslah memiliki self-closing tag apabila ia tidak memiliki elemen anak ataupun konten yang lain.

    YES : …”wrap_content” />

    NO : …”wrap_content” > </TextView>

  2. Penamaan resource 

    Seluruh pemberian penamaan ID dan nama ditulis dalam lorewercase_underscore.

    1. Penamaan ID

      Nama ID harus diawali dengan nama elemen diikuti underscore dilanjutkan dengan penjelasan mengenai elemen tersebut. Contoh :

      Elemen Awalan
      TextView text_
      ImageView image_
      Button button_
      Menu menu_

      Contoh :

    2. Penamaan string

      String yang dimiliki oleh suatu bagian harus dinamakan dengan diawali nama bagian tersebut. Contohnya adalah registration_email_hint, registration_name_hint, dialog_error_message. Namun apabila suatu string  tidak dimiliki oleh apapun, maka aturan-aturan di bawah harus kamu ikuti:

      Awalan Deskripsi
      error_ suatu pesan error
      msg_ suatu pesan informasi biasa
      title_ suatu judul, misal judul dari suatu dialog
      action_ suatu aksi, seperti “menyimpan” atau “membuat”
    3. Penamaan style dan themes

      Nah, aturan dari penamaan style and themes ini berbeda dengan resources yang lain. Nama dari suatu style ditulis dengan UpperCamelCase. Contoh :

  3. Pengurutan atribut

    Aturan dasarnya adalah, atribut yang mirip harus dikelompokkan bersama. Nah, cara terbaik untuk mengurutkan atribut-atribut yang paling sering digunakan dapat seperti berikut ini:

    1. View Id,
    2. Style,
    3. Layout width dan layout height,
    4. Atribut layout lain dengan diurutkan secara alphabet,
    5. Atribut lain yang tersisa, juga diurutkan secara alphabet.

    Contoh :

Tips mengatasi warning

Sedikit tips, jangan lupa untuk selalu Analyze -> Inspect Code sebelum mengumpulkan submission. Dengan begitu, semua warning akan ditampilkan sehingga beberapa kode dapat kita ubah menjadi lebih baik. Cara analisa Analyze -> Inspect Code

Nah, coba cek satu persatu. Akan muncul beberapa saran yang dapat dilakukan setiap warning tersebut dibuka. Hasil pengecekan Analyze -> Inspect Code agar sesuai code convention

Begini jadinya bila kita menggunakan bahasa Indonesia di dalam proyek Android Studio. Hasil jika sudah sesuai code convention

Oh iya, ada tips tambahan. Daripada berulang kali menekan CTRL + SHIFT + O untuk mengoptimalkan imports, coba atur menjadi optimize imports on the fly, sehingga tidak ada lagi imports yang tidak terpakai di kodemu. Caranya adalah buka menu File -> Settings -> Editor -> General -> Auto Import lalu berikan check pada checkbox optimize imports on the fly.Tips tambahan mengenai code convention

Dicermati dan diterapkan ya, teman-teman. Sekali lagi, selalu gunakan bahasa Inggris dalam menamakan sesuatu. Semoga bermanfaat. Salam ngoding!

 

Baru mulai belajar pakai Android Studio? Ada modul pengenalan gratis di kelas Belajar Membuat Aplikasi Android untuk Pemula

Simak juga tips lain mengenai coding dan android di:

“Android Studio: Aplikasi Error! Apa yang harus dilakukan?” https://blog.dicoding.com/android-studio-aplikasi-error-apa-yang-harus-dilakukan/

“Tips Bertanya Coding dengan Baik”  https://blog.dicoding.com/tips-bertanya-coding-baik/

“Tips RecyclerView – Frequently Asked Question” https://blog.dicoding.com/recyclerview-frequently-asked-question/

Belajar mengembangkan aplikasi atau game dengan kurikulum yang telah divalidasi langsung oleh industri dengan Dicoding Academy.

Belajar di Dicoding Sekarang →
Share this:

Android Developer