

# OPS05-BP07 Mengimplementasikan praktik untuk meningkatkan kualitas kode
<a name="ops_dev_integ_code_quality"></a>

 Implementasikan praktik untuk meningkatkan kualitas kode dan meminimalkan kecacatan. Beberapa contohnya termasuk, pengembangan yang didorong pengujian, peninjauan kode, pengadopsian standar, dan pemrograman berpasangan. Sertakan praktik-praktik ini ke dalam integrasi berkelanjutan dan proses penyampaian hasil Anda. 

 **Hasil yang diinginkan:** Organisasi Anda menggunakan praktik-praktik terbaik seperti peninjauan kode atau pemrograman berpasangan untuk meningkatkan kualitas kode. Pengembang dan operator mengadopsi praktik-praktik terbaik dalam kualitas kode sebagai bagian dari siklus hidup pengembangan perangkat lunak. 

 **Anti-pola umum:** 
+  Anda mempercayakan kode ke cabang utama aplikasi tanpa peninjauan kode. Perubahan otomatis melakukan deployment ke lingkungan produksi dan menyebabkan penghentian produksi. 
+  Aplikasi baru dikembangkan tanpa melakukan pengujian integrasi, unit, atau pengujian menyeluruh. Tidak ada cara untuk menguji aplikasi sebelum deployment. 
+  Tim Anda membuat perubahan-perubahan manual pada lingkungan produksi untuk mengatasi kecacatan. Perubahan tidak melalui proses pengujian atau peninjauan kode dan tidak direkam atau dicatat log-nya melalui proses penyampaian hasil dan integrasi berkelanjutan. 

 **Manfaat menerapkan praktik terbaik ini:** Dengan mengadopsi praktik-praktik untuk meningkatkan kualitas kode, Anda dapat membantu meminimalkan masalah-masalah yang terjadi di lingkungan produksi. Praktik-praktik terbaik kualitas kode mencakup pemrograman berpasangan, tinjauan kode, dan implementasi alat-alat produktivitas AI. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Implementasikan praktik-praktik untuk meningkatkan kualitas kode guna meminimalkan terjadinya kecacatan sebelum dilakukan deployment terhadapnya. Gunakan praktik-praktik, misalnya pengembangan berbasis pengujian, peninjauan kode, dan pemrograman berpasangan, untuk meningkatkan kualitas pengembangan Anda. 

 Gunakan kekuatan AI generatif dengan Amazon Q Developer untuk meningkatkan produktivitas pengembang dan kualitas kode Anda. Amazon Q Developer menyertakan pembuatan saran kode (berdasarkan model bahasa besar), produksi pengujian unit (termasuk kondisi batas), dan peningkatan keamanan kode melalui deteksi dan perbaikan kerentanan keamanan. 

 **Contoh pelanggan** 

 AnyCompany Retail mengadopsi beberapa praktik untuk meningkatkan kualitas kode. Mereka telah mengadopsi pengembangan berbasis pengujian sebagai standar untuk menulis aplikasi. Untuk beberapa fitur baru, pengembang mereka akan memasangkan program menjadi satu saat proses sprint. Setiap permintaan penarikan (pull request) akan melewati peninjauan kode oleh pengembang senior sebelum diintegrasikan dan dilakukan deployment. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>

1.  Adopsi praktik-praktik kualitas kode, misalnya praktik pengembangan berbasis pengujian, peninjauan kode, dan pemrograman berpasangan, ke dalam proses penyampaian hasil dan integrasi berkelanjutan Anda. Gunakan teknik-teknik ini untuk meningkatkan kualitas perangkat lunak. 

   1.  Gunakan [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html), sebuah alat AI generatif yang dapat membantu Anda membuat kasus pengujian unit (termasuk ketentuan batas), yang dapat menghasilkan fungsi menggunakan kode dan komentar, menerapkan algoritme terkenal, mendeteksi pelanggaran kebijakan keamanan dan kerentanan dalam kode Anda, mendeteksi rahasia, memindai infrastruktur sebagai kode (IaC), kode dokumen, dan mempelajari pustaka kode pihak ketiga dengan lebih cepat. 

   1.  [Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) dapat memberikan rekomendasi pemrograman untuk kode Python dan Java menggunakan machine learning. 

 **Tingkat upaya untuk rencana implementasi:** Sedang. Ada banyak cara untuk mengimplementasikan praktik-praktik terbaik ini, tetapi membuat organisasi mau mengadopsinya mungkin akan menjadi hal yang sulit. 

## Sumber daya
<a name="resources"></a>

 **Praktik-praktik terbaik terkait:** 
+  [OPS05-BP02 Menguji dan memvalidasi perubahan](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_test_val_chg.html) 
+  [OPS05-BP06 Membagikan standar desain](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_share_design_stds.html) 

 **Dokumen terkait:** 
+  [Adopsi pendekatan pengembangan berbasis pengujian](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/development-best-practices.html) 
+  [Mengakselerasi Siklus Hidup Pengembangan Perangkat Lunak Anda dengan Amazon Q](https://aws.amazon.com/blogs/devops/accelerate-your-software-development-lifecycle-with-amazon-q/) 
+  [Amazon Q Developer, sekarang tersedia secara umum, menyertakan pratinjau kemampuan-kemampuan baru untuk menata kembali pengalaman pengembang](https://aws.amazon.com/blogs/aws/amazon-q-developer-now-generally-available-includes-new-capabilities-to-reimagine-developer-experience/) 
+  [Lembar Cheat Utama untuk Menggunakan Amazon Q Developer di IDE Anda](https://community.aws/content/2eYoqeFRqaVnk900emsknDfzhfW/the-ultimate-cheat-sheet-for-using-amazon-q-developer-in-your-ide) 
+  [Beban kerja Shift-Left, memanfaatkan AI untuk Pembuatan Uji](https://community.aws/content/2gBZtC94gPzaCQRnt4P0rIYWuBx/shift-left-workload-leveraging-ai-for-test-creation) 
+  [Pusat Amazon Q Developer](https://aws.amazon.com/developer/generative-ai/amazon-q/) 
+  [10 cara untuk membangun aplikasi lebih cepat dengan menggunakan Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/10-ways-to-build-applications-faster-with-amazon-codewhisperer/) 
+  [Melihat melampaui cakupan kode dengan Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/looking-beyond-code-coverage-with-amazon-codewhisperer/) 
+  [Praktik Terbaik untuk Rekayasa Perintah dengan Amazon CodeWhisperer](https://aws.amazon.com/blogs/devops/best-practices-for-prompt-engineering-with-amazon-codewhisperer/) 
+  [Panduan Perangkat Lunak Tangkas](https://martinfowler.com/agile.html) 
+  [Pipeline CI/CD adalah pemandu utama rilisan saya](https://aws.amazon.com/builders-library/cicd-pipeline/) 
+  [Lakukan otomatisasi peninjauan kode dengan Amazon CodeGuru Reviewer](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/) 
+  [Adopsi pendekatan pengembangan berbasis pengujian](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/development-best-practices.html) 
+  [Bagaimana DevFactory membangun aplikasi yang lebih baik dengan Amazon CodeGuru](https://aws.amazon.com/blogs/machine-learning/how-devfactory-builds-better-applications-with-amazon-codeguru/) 
+  [Tentang Pemrograman Berpasangan](https://martinfowler.com/articles/on-pair-programming.html) 
+  [RENGA Inc. mengotomatiskan peninjauan kode dengan Amazon CodeGuru](https://aws.amazon.com/blogs/machine-learning/renga-inc-automates-code-reviews-with-amazon-codeguru/) 
+  [Seni Pengembangan Tangkas: Pengembangan yang Didorong Pengujian](http://www.jamesshore.com/v2/books/aoad1/test_driven_development) 
+  [Mengapa peninjauan kode itu penting (dan sesungguhnya menghemat waktu\$1)](https://www.atlassian.com/agile/software-development/code-reviews) 

 **Video terkait:** 
+  [Menerapkan API dengan Amazon Q Developer Agent untuk Pengembangan Perangkat Lunak](https://www.youtube.com/watch?v=U4XEvJUvff4) 
+  [Menginstal, Mengonfigurasi, & Menggunakan Amazon Q Developer dengan JetBrains IDE (Cara)](https://www.youtube.com/watch?v=-iQfIhTA4J0) 
+  [Menguasai seni Amazon CodeWhisperer - Daftar putar YouTube](https://www.youtube.com/playlist?list=PLDqi6CuDzubxzL-yIqgQb9UbbceYdKhpK) 
+  [AWS re:Invent 2020: Peningkatan berkelanjutan kualitas kode dengan Amazon CodeGuru](https://www.youtube.com/watch?v=iX1i35H1OVw) 
+  [AWS Summit ANZ 2021 - Mendorong strategi yang mengutamakan pengujian dengan CDK dan pengembangan yang didorong pengujian](https://www.youtube.com/watch?v=1R7G_wcyd3s) 

 **Layanan terkait:** 
+  [Amazon Q Developer](https://aws.amazon.com/q/developer/) 
+  [Amazon CodeGuru Reviewer](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 
+  [Amazon CodeGuru Profiler](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 