Skip to content

Instantly share code, notes, and snippets.

@alfianyusufabdullah
Created April 24, 2021 13:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alfianyusufabdullah/810b982cc9d26c7271c3f5bd6b42cfd7 to your computer and use it in GitHub Desktop.
Save alfianyusufabdullah/810b982cc9d26c7271c3f5bd6b42cfd7 to your computer and use it in GitHub Desktop.
{
"Boolean_literal": "<p>Jika menggunakan Boolean untuk ekspresi, Anda tidak perlu lagi menuliskan nilainya.&nbsp;Cukup seperti di bawah ini:</p><pre><code spellcheck=\"false\">if (sleep){</code><br><code spellcheck=\"false\">...</code><br><code spellcheck=\"false\">}</code></pre>",
"Overlap_view": "Perbaiki overlap view yang terjadi pada halaman <strong>xxx</strong> seperti berikut.",
"Suspending_function": "Kode yang ditambahkan pada TODO ini masih belum lengkap. Seharusnya fungsi ini dijadikan <em>suspending function.</em>&nbsp;",
"Pesan_keterangan": "Pastikan kembali pesan yang akan ditampilkan dapat dimengerti dengan baik oleh pengguna.",
"Material_design_references": "Mulailah untuk menerapkan konsep Material Design ketika mengembangkan proyek Aplikasi.&nbsp;Kamu&nbsp;bisa mengunjungi&nbsp;<a data-target-href=\"https://www.material.io/\" href=\"https://www.material.io/\" rel=\"noreferrer nofollow noopener\" target=\"_blank\">www.material.io</a> sebagai referensi.",
"Unused_variable_di_dataclass": "Di kelas ini dan kelas model lainnya terdapat variable yang tidak pernah digunakan, sebaiknya dihapus.",
"TODO": "Beberapa <strong>TODO</strong> pada latihan ini masih belum dikerjakan. Pastikan kembali seluruh <strong>TODO</strong> sudah dikerjakan dengan baik sebelum dikirimkan.",
"Nilai_vehicle": "Beberapa nilai pada TODO 2 ini harus memanfaatkan nilai dari variable vehicle. Silakan periksa kembali perintahnya pada project latihan.",
"Return_di_dalam_when": "<p>Fungsi return sebaiknya tidak berada di dalam scope when expression, kode ini bisa dituliskan seperti berikut:</p><pre><code spellcheck=\"false\">fun &lt;T&gt; getResult(args: T): Int {</code><br><code spellcheck=\"false\">&nbsp; &nbsp; return when (args){</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; &nbsp; is Int -&gt; args * 5&nbsp;</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; &nbsp; is String -&gt; &nbsp;args.length&nbsp;</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; &nbsp; else -&gt; 0</code><br><code spellcheck=\"false\">&nbsp; &nbsp; }</code><br><code spellcheck=\"false\">}</code></pre>",
"Kotlin_1.4.32": "Selalu gunakan versi terbaru dari Kotlin Plugin agar kode yang kamu tuliskan sesuai dengan best practice yang disarankan. Saat ini versi terbaru dari Kotlin Plugin adalah <strong>1.4.32</strong>. Silakan update pada file build.gradle level root atau project.",
"Favorite_kosong": "Halaman favorite sebaiknya menampilkan informasi yang konsisten ketika sedang tidak ada data yang dapat ditampilkan.",
"Text_tools": "<p>Sebaiknya gunakan attribute <span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">tools:text</span> sebagai preview placeholder untuk editor agar tidak perlu menuliskan nilai secara hardcode. Contoh:</p><pre><code spellcheck=\"false\">&lt;TextView</code><br><code spellcheck=\"false\">&nbsp; &nbsp; android:layout_width=\"wrap_content\"</code><br><code spellcheck=\"false\">&nbsp; &nbsp; android:layout_height=\"wrap_content\"</code><br><code spellcheck=\"false\"><strong>&nbsp; &nbsp; tools:text=\"Lorem Ipsum\"</strong>/&gt;</code></pre>",
"Hapus_kode_yang_tidak_digunakan": "Kode yang tidak pernah digunakan sebaiknya dihapus daripada dikomentar.",
"Delay": "Anda belum menambahkan delay untuk beberapa TODO di latihan ini. Silakan periksa kembali perintah yang ada pada project latihan ya.",
"Penyederhanaan_dengan_elvis": "<p>Fungsi ini bisa disederhanakan lagi dengan hanya menggunakan style&nbsp;<em>single expression</em><em>&nbsp;body&nbsp;</em>seperti berikut:</p><pre><code spellcheck=\"false\">fun calculateResult(valueA: Int, valueB: Int, valueC: Int?)&nbsp;</code><br><code spellcheck=\"false\">&nbsp; &nbsp;&nbsp;<strong>= valueA + (valueB - (valueC ?: 50))</strong></code></pre>&lt;",
"Content_Desctiption": "Pada sebuah&nbsp;<strong>ImageView</strong>, jangan lupa untuk tambahkan attribut&nbsp;<strong><span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">android:contentDescription</span></strong>. Ini mendefinisikan konten dengan teks yang menjelaskan secara singkat konten tampilan. Properti ini digunakan terutama untuk aksesibilitas. Karena beberapa tampilan tidak memiliki representasi tekstual, atribut ini dapat digunakan untuk menyediakannya.",
"Safe_call_dihapus": "<p>Kode pada latihan ini belum tepat karena Anda menghapus&nbsp;<em>safe call</em> yang berada pada parameter&nbsp;<strong>valueC</strong>. Baca kembali perintah pada project latihan, di sana Anda disuruh menetapkan nilai&nbsp;<strong>50</strong> sebagai angka default dari&nbsp;<strong>valueC</strong></p>",
"Ekspresi_belum_sesuai": "Ekspresi pada <em>if expression</em> ini masih belum sesuai. Silakan periksa kembali perintah yang berada pada project latihan.",
"Use_onViewCreated_instead_onActivityCreated": "Inisialisasi nilai object view sebaiknya dilakukan di dalam fungsi&nbsp;<strong>onViewCreated</strong>. Kedepannya fungsi&nbsp;<strong>onActivityCreated</strong> akan berstatus&nbsp;<em>deprecated</em>.",
"Private_variable": "Variable atau fungsi yang tidak pernah diakses dari kelas lain sebaiknya dijadikan <span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">private</span>.",
"Parameter_dengan_nilai_sama": "Parameter format ini selalu bernilai sama saat dipanggil, sebaiknya dituliskan inline.",
"Credential_security": "<p>Untuk alasan keamaan kredensial, hindari menyematkan sebuah <strong>TOKEN API</strong> ke dalam sebuah kelas, sebaiknya dipindahkan ke dalam berkas build.gradle seperti berikut:</p><pre><code spellcheck=\"false\">android {</code><br><code spellcheck=\"false\">&nbsp; &nbsp; defaultConfig {</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; buildConfigField(\"String\", \"GITHUB_TOKEN\", '”b650046bf640e7bf7054093854b8d02a\"')</code><br><code spellcheck=\"false\">&nbsp; &nbsp; }</code><br><code spellcheck=\"false\">}</code></pre><p>Untuk mengaksesnya kamu bisa menggunakan properti&nbsp;</p><pre><code spellcheck=\"false\">BuildConfig.GITHUB_TOKEN;</code></pre>",
"Property_access_syntax": "Kotlin memiliki Property Access Syntax yang memungkinkan kamu untuk mengakses suatu properti tanpa menggunakan getter setter seperti pada Java. Periksa kembali seluruh kode kamu dan ubahlah penggunaan getter setter menggunakan Property Access Syntax.",
"If_daripada_when": "Jika menggunakan Boolean untuk ekspresi, cukup gunakan if expression daripada menggunakan when expression.",
"PascalCase": "Penamaan interface sebaiknya menggunakan format penulisan <strong>PascalCase</strong> (xxx)",
"Getter_setter_belum_ditambahkan": "TODO untuk menambahkan getter setter pada properti sleep ini belum dikerjakan.&nbsp;",
"Avoid_warning": "Agar memastikan project yang kamu buat terhindar dari segala bentuk warning ataupun error, kamu bisa melakukan inspeksi kode dengan mudah melalui <strong>Analyze → Inspect Code</strong>.&nbsp;",
"First_and_last": "<p>Fungsi ini bisa disederhanakan dengan memanfaatkan fungsi&nbsp;<strong>first</strong> dan&nbsp;<strong>last</strong> seperti berikut:</p><pre><code spellcheck=\"false\">fun String.getFirstAndLast() = mapOf(\"first\" to first(), \"last\" to last())</code></pre>",
"Hasil_pencarian_hilang": "Pastikan kembali hasil pencarian yang sebelumnya sudah tampil tidak hilang ketika pengguna kembali dari halaman detail menggunakan tombol back yang ada pada toolbar",
"Remove_unused_code": "Kode yang tidak pernah digunakan baik itu Class, method, ataupun variable jika tidak digunakan sebaiknya dihapus. Kamu bisa memanfaatkan <strong>Analyze - Code Cleanup</strong> untuk melakukannya dengan cepat.",
"KTX": "Sebaiknya menfaatkan versi KTX untuk mempermudah penerapannya di dalam project.",
"Grouping_package": "Cobalah untuk mengelompokkan Class yang memiliki fungsi dan tanggung jawab yang sama dalam suatu package agar project yang dikembangkan memiliki struktur yang lebih rapih dan akan memudahkan kamu dalam melakukan maintenances kedepannya.",
"ViewLifeCyclerOwner": "Untuk observe LiveData di dalam Fragment sebaiknya menggunakan <strong>viewLifecycleOwner</strong> daripada this.",
"Library_version": " Library ini sudah tersedia versi terbarunya x.x. Silakan diupdate beserta library lainnya.",
"Setting_preferences": "Sebaiknya manfaatkan setting preferences untuk halaman detail karena saat ini halaman tersebut ambigu karena ketika pengguna belum mengaktifkan alarm, tombol untuk menonaktifkannya sudah tersedia",
"Lambda_argument": "Lambda argumen yang tidak pernah digunakan sebaiknya diubah menjadi seperti berikut.",
"Hasil_perncarian_kosong": "Tambahkan pesan keterangan yang tampil konsisten saat pencarian tidak dapat menampilkan data.",
"Nilai_kembalian": "Nilai yang dikembalikan dari beberapa fungsi ini adalah hasil perhitungan paramter <em>valuaA</em> dan <em>valueB</em>.&nbsp;",
"Empty_constructor": "Sebuah kelas yang tidak mempunyai <em>primary constructor</em> tidak memerlukan parenthese <strong>()</strong>.",
"Text_size": "Ukuran dari sebuah teks pada TextView sebaiknya tidak lebih kecil dari 12sp.",
"Unused_namespace": "Namespace yang attributenya tidak pernah digunakan sebaiknya dihapus.",
"Use_sp_instead_dp": "<p>Gunakan <em>Scale-Independent Pixels</em> (<strong>sp</strong>) untuk mengatur ukuran teks pada view yang mempunyai attribute <strong><span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">textSize</span></strong>.</p><pre><code spellcheck=\"false\">&lt;TextView</code><br><code spellcheck=\"false\"><strong>&nbsp; &nbsp; android:textSize=\"20sp\"</strong></code><br><code spellcheck=\"false\">&nbsp; &nbsp; android:layout_width=\"match_parent\"</code><br><code spellcheck=\"false\">&nbsp; &nbsp; android:layout_height=\"wrap_content\" /&gt;</code></pre>",
"Nested_with_constraintlayout": "Ketika menggunakan ConstraintLayout, sebaiknya hindari nested layout karena dengan ConstraintLayout kamu bisa menyusun tampilan aplikasi yang kompleks tanpa harus melakukan nested layout.",
"GlobalScope": "Sebaiknya hindari penggunaan <span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">GlobalScope</span> karena job akan dijalankan pada level application.",
"Menggunakan_elvis": "<p>Fungsi ini bisa disederhanakan dengan hanya menggunakan&nbsp;<em>elvis operator</em> seperti berikut:</p><pre><code spellcheck=\"false\">fun calculateResult(valueA: Int, valueB: Int, valueC: Int?)&nbsp;</code><br><code spellcheck=\"false\">&nbsp; &nbsp; = valueA + (valueB - (valueC ?: 50))</code></pre>",
"Remove_unused_resources": "Selalu perhatikan resources yang tidak pernah digunakan di dalam project karena akan mempengaruhi size APK nantinya. Kamu bisa memanfaatkan fitur <strong>Remove Unused Resource</strong> untuk menghapus resources yang tidak pernah digunakan.",
"Ekspresi_untuk_iterasi": "<em>If expression</em> ini seharusnya digunakan untuk menghentikan proses iterasi. Silakan periksa kembali perintahnya pada project latihan.<br>",
"Raw_string": "<p>Anda bisa memanfaatkan&nbsp;<strong><em>Raw String</em></strong> untuk mencetak beberapa baris text seperti berikut</p><pre><code spellcheck=\"false\">println(\"\"\"</code><br><code spellcheck=\"false\">&nbsp; &nbsp; Vehicle</code><br><code spellcheck=\"false\">&nbsp; &nbsp; Type: $type</code><br><code spellcheck=\"false\">&nbsp; &nbsp; Maximal Speed: $maxSpeed</code><br><code spellcheck=\"false\">&nbsp; &nbsp; Maximal Tank: $maxTank</code><br><code spellcheck=\"false\">\"\"\".trimIndent())</code></pre>",
"Indexing_operator": "<p>Manfaatkanlah fitur indexing sebagai pengganti fungsi get seperti:</p><pre><code spellcheck=\"false\">val type = vehicle.getValue(\"type\")</code></pre><p>Sehingga bisa dituliskan seperti:</p><pre><code spellcheck=\"false\">val type = vehicle[\"type\"]&nbsp;</code></pre>",
"Nilai_valueC_keliru": "<p>Kode pada latihan ini masih belum sesuai dengan yang diharapkan. Silakan cek kembali perintah yang terdapat pada latihan. Di sana Anda disuruh menerapkan nilai&nbsp;<strong>50</strong> pada&nbsp;<strong>valueC</strong> jika variable tersebut bernilai&nbsp;<strong>null</strong>, bukan mengembalikan nilai&nbsp;<strong>50</strong> saat&nbsp;<strong>valueC</strong> bernilai&nbsp;<strong>null</strong> ketika fungsi dipanggil. Silakan gunakan&nbsp;<em>elvis operator</em> untuk menetapkan nilai default pada object bertipe&nbsp;<strong>nullable.</strong></p>",
"CamelCase": "Penamaan variable atau fungsi sebaiknya menggunakan format penulisan <strong>camelCase</strong> (xxx)",
"Onboarding_atau_preload_data": "Sebaiknya tambahkan onboarding fitur pencarian atau preload data daripada dibiarkan kosong ketika pengguna membuka halaman aplikasi",
"Direct_share": "Fitur share sebaiknya dilengkapi dengan direct-share karena saat ini hanya seperti copy-paste dari clipboard.",
"Nilai_dinamis": "Kode yang berada pada latihan ini masih belum tepat karena selalu mengembalikkan nilai statis. Seharusnya fungsi yang berada di latihan tersebut dapat mengembalikan nilai dinamis berdasarkan nilai receivernya.&nbsp;",
"Ubah_struktur": "Untuk menyelesaikan tugas latihan, Anda tidak diperbolehkan mengubah/menghapus kode yang sudah ada. Silakan sesuaikan kembali dan kerjakan berdasarkan perintah yang ada pada project latihan ya.",
"Empty_function": "Jika tidak terdapat logika kode, sebaiknya pemanggilan fungsi ini dihapus.",
"Rumus_perhitungan": "Rumus perhitungan pada kode yang ditambahkan masih belum tepat.&nbsp;",
"Hardcoded_string": "Hindari penggunaan hardcoded string.&nbsp;Kamu&nbsp;bisa memindahkannya kedalam file&nbsp;<strong><span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">strings.xml</span></strong>.",
"Latihan_belum_tepat": "Latihan: <strong>xxx</strong> belum tepat. Silakan periksa review yang diberikan pada latihan tersebut.",
"Key": "Ketentuan key pada TODO 1 ini belum sesuai dengan Task TODO yang diberitahukan. Silakan untuk disesuaikan ya :)",
"Fungsi_baru": "Untuk menyelesaikan latihan, Anda tidak perlu membuat fungsi baru.",
"Use_apply_instead_commit": "Gunakanlah fungsi&nbsp;<strong>apply()</strong> pada&nbsp;<strong>SharedPreferences.Editor</strong>, ini karena fungsi&nbsp;<strong>commit()</strong> akan memblok &amp; menulis data penyimpanan persisten sesegera mungkin sedangkan fungsi&nbsp;<strong>apply()</strong> akan menanganinya didalam background proses.",
"Redundant_ID_properties": "Saat menggunakan <span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">BaseColumns</span>, <span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">_ID</span> tidak perlu dideklarasi karena sudah disediakan kelas tersebut.",
"List_item_tools": "Di dalam&nbsp;layout&nbsp;editor,&nbsp;<strong>Recyclerview</strong> bisa ditambahkan atribut&nbsp;<span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">tools:listitem</span> yang berguna sebagai placeholder ketika kita sedang menyusun&nbsp;tampilan list item untuk&nbsp;<strong>Recyclerview</strong>. Misal:<p></p><pre><code spellcheck=\"false\">&lt;androidx.recyclerview.widget.RecyclerView</code><br><code spellcheck=\"false\">&nbsp; &nbsp; android:layout_width=\"match_parent\"</code><br><code spellcheck=\"false\">&nbsp; &nbsp; android:layout_height=\"match_parent\"</code><br><code spellcheck=\"false\"><strong>&nbsp; &nbsp; tools:listitem=\"@layout/item_list\"</strong> /&gt;</code></pre>",
"Gunakan_when_expression": "<p>Fungsi ini sebaiknya memanfaatkan when expression daripada if expression seperti berikut:</p><pre><code spellcheck=\"false\">&nbsp; &nbsp;return when (args) {</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; &nbsp; is Int -&gt; args * 5</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; &nbsp; is String -&gt; args.length</code><br><code spellcheck=\"false\">&nbsp; &nbsp; &nbsp; &nbsp; else &nbsp;-&gt; 0</code><br><code spellcheck=\"false\">&nbsp; &nbsp; }</code></pre>",
"Menambahkan_kode_untuk_memberi_tahu_pengguna": "Sebaiknya tambahkan kode untuk memberi tahu pengguna jika data tidak dapat ditampilkan daripada hanya menampilkan log error.",
"Kode_transaksi_database": "Kode untuk transaksi database ini seharusnya ditempatkan di dalam kelas <span style=\"padding: 2px 4px; color: rgb(199, 37, 78); background-color: rgb(249, 242, 244); border-radius: 4px;\">ViewModel</span>.",
"Kode_tidak_sesuai": "Kode yang ditambahkan pada latihan ini tidak sesuai dengan perintah yang ada. Silakan periksa kembali perintahnya dan diperbaiki.",
"Elvis_dan_!!": "Ketika menggunakan elvis operator, Anda sudah tidak memerlukan operator !! karena operand yang berada setelah elvis tidak akan terpanggil. Silakan diperbaiki.",
"Getter_setter_tidak_sesuai": "<p>Pembuatan&nbsp;<em>getter setter</em> properti sleep masih belum tepat. Silakan pelajari kembali bagaimana cara membuat&nbsp;<em>getter setter</em> dari sebuah&nbsp;<em>property</em> pada modul&nbsp;<a data-target-href=\"https://www.dicoding.com/academies/80/tutorials/4315\" href=\"https://www.dicoding.com/academies/80/tutorials/4315\" rel=\"noreferrer nofollow noopener\" target=\"_blank\"><strong>Properties</strong></a>.<br></p>",
"Boilerplace_Code_Class": "Kelas ini kurang lebih sama seperti kelas <strong>xxx</strong>, sebaiknya dijadikan satu kelas.",
"Update_course": "Untuk lulus dari tugas latihan dan mendapatkan sertifikat. Latihan yang dikirimkan haruslah latihan yang terbaru. Silakan lakukan&nbsp;<em>Synchronize Course</em> di IntelliJ IDEA dan pastikan sudah&nbsp;<em>up to date</em> sebelum dikerjakan.",
"Remove_unused_import": "Dalam menulis sebuah kode di dalam sebuah kelas, selalu perhatikan import yang tidak pernah digunakan agar kode yang sudah ditulis menjadi lebih bersih dan enak dilihat. Kamu bisa melakukan reformat code dan optimized import supaya code lebih rapi dan bersih dari import yang tidak digunakan.",
"CollapsingToolbarLayout": "Kamu bisa memanfaatkan <strong>CollapsingToolbarLayout</strong> pada halaman detail untuk menambahkan experience pengguna ketika menggunakan aplikasi.",
"Using_Glide_or_Picasso": "Untuk menghindari error seperti Out Of Memory karena aplikasi kehabisan memory saat ingin menampilkan gambar,&nbsp;kamu&nbsp;bisa memanfaatkan seperti&nbsp;<a data-target-href=\"https://github.com/bumptech/glide\" href=\"https://github.com/bumptech/glide\" rel=\"noreferrer nofollow noopener\" target=\"_blank\">Glide</a> atau&nbsp;<a data-target-href=\"https://square.github.io/picasso/\" href=\"https://square.github.io/picasso/\" rel=\"noreferrer nofollow noopener\" target=\"_blank\">Picasso</a>.",
"Package_direction": "Penulisan package seharusnya disesuaikan dengan lokasi file",
"Map": "TODO pada latihan ini seharusnya dikerjakan dengan memanfaatkan Map, yakni sebuah collection yang dapat menyimpan data dengan format key-value. Silakan periksa kembali ketentuan pada latihan.",
"BottomNavigationView": "Best practices menggunakan <strong>BottomNavigationView</strong> adalah jika menu yang ditampilkan berjumlah minimal tiga. Jika kurang dari tiga, kamu bisa menggunakan <strong>TabLayout</strong>.",
"Notifikasi_tidak_menampilkan_kembali_aplikasi": "Project aplikasi dikirimkan sudah dapat berjalan dengan baik. Namun untuk lulus dari tugas submission, halaman aplikasi wajib ditampilkan kembali saat notifikasi reminder diklik. Silakan disesuaikan terlebih dahulu ya.",
"Avoid_using_safecall_in_nonnull": "Terdapat penggunaan&nbsp;<em>safe calls</em> pada beberapa variable yang bertipe&nbsp;<em>non-null</em>. Ubah&nbsp;<em>safe calls</em> tersebut menggunakan&nbsp;<em>dot calls</em>. Pelajari kembali tentang fitur&nbsp;<a data-target-href=\"https://kotlinlang.org/docs/reference/null-safety.html\" href=\"https://kotlinlang.org/docs/reference/null-safety.html\" rel=\"noreferrer nofollow noopener\" target=\"_blank\">Null Safety</a><a data-target-href=\"https://www.dicoding.com/academies/55/tutorials/1538?from=1573\" href=\"https://www.dicoding.com/academies/55/tutorials/1538?from=1573\" rel=\"noreferrer nofollow noopener\" target=\"_blank\">.</a>",
"User_onViewCreated_instead_onCreateView": "Fungsi&nbsp;<strong>onCreateView</strong> sebaiknya hanya digunakan untuk melakukan inflate view. Untuk inisialisasi view sebaiknya dilakukan di dalam fungsi&nbsp;<strong>onViewCreated</strong>.",
"Build_tools_version": "Gunakanlah build tools versi terbaru, 30.0.3.",
"Variable_TODO_2": "Yang seharusnya dicetak adalah beberapa variable yang berada pada TODO 2.",
"Elvis_operator": "<p>Kode ini masih belum tepat, seharusnya Anda menggunakan&nbsp;<em>elvis operator</em>. Baca kembali perintah pada project latihan, di sana Anda disuruh menetapkan nilai&nbsp;<strong>50</strong> sebagai angka default&nbsp;dari&nbsp;<strong>valueC</strong>.<br></p>",
"Handler_deprecated": "Kode ini sudah deprecated, untuk mengatasinya kamu harus menambahkan argument seperti berikut:",
"Non-null_assertion": "Hindari penggunaan double bang operator (!!) saat pengecekan null, karena akan memaksa suatu variable menjadi non-null. Dan jika ternyata variable tersebut bernilai null, maka bisa menyebabkan NPE. Periksa kembali semua kode kamu dan jangan biarkan satupun operator tersebut tersisa.&nbsp;"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment