Selamat datang di repo resmi untuk desain bahasa C#. Di sinilah fitur bahasa C# baru dikembangkan, diadopsi, dan ditentukan.
C# dirancang oleh Tim Desain Bahasa C# (LDT) berkoordinasi erat dengan proyek Roslyn, yang mengimplementasikan bahasa tersebut.
Anda dapat menemukan:
Jika Anda menemukan bug atau kekurangan di atas, silakan tinggalkan masalah untuk memunculkannya, atau bahkan lebih baik lagi: permintaan tarik untuk memperbaikinya.
Namun, untuk proposal fitur baru , harap ajukan proposal tersebut untuk didiskusikan, dan hanya ajukan proposal sebagai isu atau permintaan tarik jika diundang oleh anggota Tim Desain Bahasa (“juara”).
Proses desain lengkap dijelaskan di sini. Gambaran singkatnya ada di bawah.
Perdebatan terkait fitur kebahasaan berlangsung dalam bentuk Diskusi di repo ini.
Jika Anda ingin menyarankan fitur, mendiskusikan catatan atau proposal desain terkini, dll., silakan buka topik Diskusi baru.
Diskusi yang singkat dan sesuai topik akan lebih mudah dibaca. Jika Anda meninggalkan komentar nomor lima puluh, kemungkinan besar hanya sedikit orang yang akan membacanya. Agar diskusi lebih mudah dinavigasi dan dimanfaatkan, harap perhatikan beberapa aturan praktis:
Proposal bahasa yang mencegah terjadinya sintaksis tertentu dapat dicapai dengan penganalisis Roslyn. Proposal yang hanya menjadikan sintaksis yang ada secara opsional ilegal akan ditolak oleh komite desain bahasa untuk mencegah peningkatan kompleksitas bahasa.
Ketika anggota C# LDM menemukan bahwa sebuah proposal layak dipertimbangkan oleh tim yang lebih luas, mereka dapat memperjuangkannya, yang berarti mereka akan membawanya ke Pertemuan Desain Bahasa C#. Proposal selalu dibahas dalam diskusi terkait, bukan dalam isu champion. Kami tidak selalu mengikuti kebijakan ini, sehingga banyak isu-isu pendukung yang akan dibahas; kami sekarang mengunci masalah untuk mencegah terjadinya diskusi baru mengenai masalah tersebut. Setiap isu champion akan memiliki link diskusi di dalamnya.
Proposal berkembang sebagai hasil keputusan dalam Rapat Desain Bahasa, yang diinformasikan melalui diskusi, eksperimen, dan pekerjaan desain offline.
Dalam banyak kasus, kita perlu mengimplementasikan dan membagikan prototipe sebuah fitur agar bisa mendapatkan desain yang tepat, dan pada akhirnya memutuskan apakah akan mengadopsi fitur tersebut. Prototipe membantu menemukan masalah implementasi dan kegunaan suatu fitur. Sebuah prototipe harus diimplementasikan di fork repo Roslyn dan memenuhi kriteria berikut:
Setelah disetujui, sebuah fitur harus diimplementasikan sepenuhnya di Roslyn, dan ditentukan sepenuhnya dalam spesifikasi bahasa, lalu proposal dipindahkan ke folder yang sesuai untuk fitur yang telah selesai, misalnya proposal C# 7.1.
PENOLAKAN : Proposal aktif sedang dipertimbangkan secara aktif untuk dimasukkan ke dalam versi bahasa pemrograman C# yang akan datang, namun tidak ada jaminan bahwa pada akhirnya akan disertakan dalam versi berikutnya atau versi bahasa apa pun. Proposal dapat ditunda atau ditolak kapan saja selama fase proses di atas berdasarkan masukan dari tim desain, komunitas, peninjau kode, atau pengujian.
Kami memiliki beberapa pencapaian berbeda untuk masalah repo:
Rapat Desain Bahasa (LDM) diadakan oleh LDT dan tamu undangan sesekali, dan didokumentasikan dalam Catatan Rapat Desain di folder pertemuan, disusun dalam folder berdasarkan tahun. Masa pakai catatan rapat desain dijelaskan di Meetings/README.md. LDM adalah tempat pengambilan keputusan tentang versi C# di masa depan, termasuk proposal mana yang akan dikerjakan, bagaimana mengembangkan proposal, dan apakah serta kapan mengadopsinya.
Spesifikasi ECMA-334 saat ini dapat ditemukan dalam formulir penurunan harga di repositori Standar Bahasa C#.
Referensi implementasi bahasa C# dapat ditemukan di repositori Roslyn. Repositori ini juga melacak status implementasi fitur bahasa. Hingga baru-baru ini, artefak desain bahasa juga dilacak di sana. Harap berikan sedikit waktu saat kami memproses proposal yang aktif.