

# SUS03-BP03 Mengoptimalkan area kode yang memakai waktu atau sumber daya paling banyak
<a name="sus_sus_software_a4"></a>

Optimalkan kode Anda yang dijalankan di dalam berbagai macam komponen arsitektur Anda untuk meminimalkan penggunaan sumber daya sambil memaksimalkan performa.

 **Anti-pola umum:** 
+  Anda mengabaikan optimalisasi kode Anda untuk penggunaan sumber daya. 
+  Anda biasanya merespons masalah-masalah performa dengan meningkatkan sumber daya. 
+  Proses pengembangan dan peninjauan kode Anda tidak melacak perubahan-perubahan performa. 

 **Manfaat menjalankan praktik terbaik ini:** Menggunakan kode yang efisien dapat meminimalkan penggunaan sumber daya dan meningkatkan kinerja. 

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

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

 Setiap area fungsional harus diperiksa, termasuk kode untuk aplikasi dengan arsitektur cloud, untuk mengoptimalkan penggunaan sumber daya dan performanya. Lakukan pemantauan terhadap performa beban kerja Anda secara terus menerus di lingkungan pembangunan dan produksi dan identifikasi peluang-peluang untuk meningkatkan snippet kode yang memiliki penggunaan sumber daya sangat tinggi. Adopsi proses peninjauan secara teratur untuk mengidentifikasi bug atau anti-pola yang ada di dalam kode Anda yang menggunakan sumber daya secara tidak efisien. Manfaatkan algoritma sederhana dan efisien yang memberikan hasil yang sama untuk kasus penggunaan Anda. 

## Langkah-langkah implementasi
<a name="implementation-steps"></a>
+ **Gunakan bahasa pemrograman yang efisien:** Gunakan sistem operasi dan bahasa pemrograman yang efisien untuk beban kerja. Untuk informasi mendetail tentang bahasa pemrograman yang hemat energi (termasuk Rust), lihat [Keberlanjutan dengan Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **Gunakan pendamping pengodean AI:** Pertimbangkan menggunakan pendamping pengodean AI seperti [Amazon Q Developer](https://aws.amazon.com/q/developer/) untuk menulis kode secara efisien. 
+ **Lakukan otomatisasi peninjauan kode:** Saat mengembangkan beban kerja Anda, adopsi proses peninjauan kode otomatis untuk meningkatkan kualitas dan mengidentifikasi bug dan antipola. 
  + [ Lakukan otomatisasi peninjauan kode dengan Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [ Mendeteksi bug konkurensi dengan Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [ Meningkatkan kualitas kode untuk aplikasi Python menggunakan Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Gunakan profiler kode:** Gunakan profiler kode untuk mengidentifikasi area kode yang menggunakan waktu atau sumber daya paling banyak sebagai target optimasi. 
  + [ Mengurangi jejak karbon organisasi Anda dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [ Memahami penggunaan memori di aplikasi Java Anda dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [ Meningkatkan pengalaman pelanggan dan mengurangi biaya dengan Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Pantau dan optimalkan:** Gunakan sumber daya pemantauan berkelanjutan untuk mengidentifikasi komponen dengan persyaratan sumber daya yang tinggi atau konfigurasi mendekati optimal. 
  +  Ganti algoritma yang banyak memerlukan komputasi dengan versi algoritma yang lebih sederhana dan lebih efisien, yang akan memberikan hasil yang sama. 
  +  Singkirkan kode yang tidak perlu, seperti kode penyortiran dan pemformatan. 
+  **Gunakan pemfaktoran ulang kode atau transformasi:** Jelajahi kemungkinan [transformasi kode Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) untuk pemeliharaan dan peningkatan aplikasi. 
  + [ Tingkatkan versi bahasa dengan Transformasi Kode Amazon Q ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Otomatiskan peningkatan & pemeliharaan aplikasi menggunakan Transformasi Kode Amazon Q](https://www.youtube.com/watch?v=LY76tak6Z1E)

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

 **Dokumen terkait:** 
+  [Apa itu Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [Instans FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [SDK AWS di Alat-alat untuk Membangun di AWS](https://aws.amazon.com/tools/) 

 **Video terkait:** 
+ [ Tingkatkan Efisiensi Kode Menggunakan Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [ Lakukan Otomatisasi Peninjauan Kode dan Rekomendasi Kinerja Aplikasi dengan Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)