Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel berikut ini menjelaskan panduan untuk memformat kode F# dan panduan topikal untuk fitur bahasa dan cara penggunaannya.
Panduan ini telah dirumuskan berdasarkan penggunaan F# dalam basis kode besar dengan berbagai kelompok pemrogram. Panduan ini umumnya mengarah pada keberhasilan penggunaan F# dan meminimalkan frustrasi ketika persyaratan untuk program berubah dari waktu ke waktu.
Lima prinsip kode F# yang baik
Ingatlah prinsip-prinsip berikut setiap kali Anda menulis kode F#, terutama dalam sistem yang akan berubah dari waktu ke waktu. Setiap bagian panduan dalam artikel lebih lanjut berasal dari lima poin ini.
Kode F# yang baik adalah ringkas, ekspresif, dan terkomposisi
F# memiliki banyak fitur yang memungkinkan Anda mengekspresikan tindakan dalam lebih sedikit baris kode dan menggunakan kembali fungsionalitas generik. Pustaka inti F# juga berisi banyak jenis dan fungsi yang berguna untuk bekerja dengan kumpulan data umum. Penyusunan fungsi Anda sendiri dan fungsi yang ada di pustaka inti F# (atau pustaka lain) merupakan bagian dari kegiatan rutin pemrograman F# yang idiomatis. Sebagai aturan umum, jika Anda dapat mengekspresikan solusi untuk masalah dalam lebih sedikit baris kode, pengembang lain (atau diri Anda di masa depan) akan sangat menghargai. Sangat disarankan juga agar Anda menggunakan pustaka seperti FSharp.Core, pustaka .NET luas yang dijalankan F#, atau paket pihak ketiga di NuGet saat Anda perlu melakukan tugas nontrivial.
Kode F# yang baik dapat dioperasikan
Interoperatur dapat mengambil beberapa bentuk, termasuk mengonsumsi kode dalam bahasa yang berbeda. Batas kode Anda yang digunakan untuk berinteraksi dengan pemanggil lain adalah bagian penting yang harus dipastikan benar, bahkan jika pemanggil tersebut juga menggunakan F#. Saat menulis F#, Anda harus selalu memikirkan bagaimana kode lain akan memanggil kode yang Anda tulis, termasuk jika mereka melakukannya dari bahasa lain seperti C#. Panduan Desain Komponen F# menjelaskan interoperabilitas secara rinci.
Kode F# yang baik menggunakan pemrograman objek, bukan orientasi objek
F# memiliki dukungan penuh untuk pemrograman dengan objek di .NET, termasuk kelas, antarmuka, pengubah akses, kelas abstrak, dan sebagainya. Untuk kode fungsional yang lebih rumit, seperti fungsi yang harus sadar konteks, objek dapat dengan mudah membungkus informasi kontekstual dengan cara yang tidak dapat dilakukan oleh fungsi. Fitur seperti parameter opsional dan pemanfaatan overloading yang cermat dapat membuat penggunaan fungsionalitas ini lebih mudah bagi pengguna.
Kode F# yang baik berkinerja baik tanpa mengekspos mutasi
Bukan rahasia lagi bahwa untuk menulis kode berkinerja tinggi, Anda harus menggunakan mutasi. Itu cara kerja komputer, bagaimanapun juga. Kode seperti itu sering rentan terhadap kesalahan dan sulit untuk mendapatkan yang benar. Hindari mengekspos perubahan kepada pemanggil. Sebagai gantinya, bangun antarmuka fungsional yang menyembunyikan implementasi berbasis mutasi saat performa sangat penting.
Kode F# yang baik mudah digunakan dengan alat
Alat sangat berharga untuk bekerja dalam basis kode besar, dan Anda dapat menulis kode F# sehingga dapat digunakan lebih efektif dengan alat bahasa F#. Salah satu contohnya adalah memastikan Anda tidak berlebihan dengan gaya pemrograman bebas titik, sehingga nilai perantara dapat diperiksa dengan debugger. Contoh lain adalah menggunakan komentar dokumentasi XML yang menjelaskan konstruksi sehingga tooltip di editor dapat menampilkan komentar tersebut pada titik pemanggilan. Selalu pikirkan tentang bagaimana kode Anda akan dibaca, dinavigasi, di-debug, dan dimanipulasi oleh programmer lain dengan alat mereka.
Langkah selanjutnya
Panduan pemformatan kode F# memberikan panduan tentang cara memformat kode sehingga mudah dibaca.
Konvensi pengkodean F# memberikan panduan untuk idiom pemrograman F# yang akan membantu pemeliharaan jangka panjang basis kode F# yang lebih besar.
Panduan desain komponen F# memberikan panduan untuk menulis komponen F#, seperti pustaka.