Angular-styleguide: Pikiran tentang penggunaan akhiran *Async untuk fungsi apa pun yang mengembalikan janji?

Dibuat pada 7 Mei 2015  ·  4Komentar  ·  Sumber: johnpapa/angular-styleguide

Satu hal yang ingin saya lakukan dalam kode JavaScript saya adalah menambahkan kata "Async" ke akhir nama fungsi yang mengembalikan janji. Ini meningkatkan keterbacaan dan membuat orang tahu sekilas bahwa itu mengembalikan janji ketika intellisense menunjukkan nama fungsi kepada Anda.

Contoh:

function getDataFromThesServer() {}

Akan menjadi:

function getDataFromThesServerAsync() {}
question

Semua 4 komentar

Itu adalah standar di Microsoft untuk perpustakaan .NET. Tapi saya pikir mereka membutuhkannya dan kami tidak dalam JavaScript.

Mereka membutuhkannya karena mereka memiliki banyak metode sinkron dengan alternatif asinkron. Sufiks membantu mereka menyampaikan kesamaan maksud tanpa menciptakan akar nama metode baru.

Tapi itu memukul notasi Hungaria yang menjadi berlalu ketika editor/IDE mulai memberikan bantuan API.

Lebih penting lagi, kami tidak memiliki potensi yang sama untuk bersaing dengan tanda tangan asinkron dan sinkronisasi. Itu terjadi tentu saja, tetapi tidak sesering karena semua komunikasi lintas proses di dunia JS harus asinkron; tidak ada alternatif sinkronisasi yang bersaing. Oleh karena itu, saya pikir kita bisa melakukannya tanpa menulis dan membaca ekstra.

Selain itu, cukup jelas melihat metode yang digunakan apakah itu asinkron atau tidak.

Anda mungkin tidak setuju. Tapi saya pikir panduan gaya seharusnya hanya merekomendasikan praktik terbukti yang digunakan secara luas dan diterima secara luas ... yang ini tidak.

Panduan gaya juga tidak boleh melarangnya sehingga Anda bebas menambahkannya ke standar grup Anda jika diinginkan.

Ini adalah catatan praktis yang membosankan. Saya telah menemukan bahwa, dengan meningkatnya kedalaman pemahaman, persentase yang lebih besar dari semua fungsi mengembalikan janji. Menambahkan kata Async ke bagian yang signifikan dari semua fungsi dalam sebuah aplikasi sepertinya bukan sebuah kemenangan.

diskusi yang menarik. untuk menjadi jelas, saya tidak melakukan ini dan saya tidak berubah ... tapi saya tidak berpikir itu buruk untuk melakukannya. Mengapa? ini adalah konvensi dan jika menurut Anda itu lebih baik untuk Anda, cobalah. tapi saya yakin setelah Anda mendapatkan lebih banyak dan lebih banyak kode dengan ini, Anda mungkin melihat apa yang disebutkan @kylecordes ... banyak fn yang memilikinya dan Anda benar-benar tidak membutuhkannya.

Saya tidak akan melakukannya dan saya setuju bahwa lebih umum untuk melihat fungsi menggunakan janji daripada tidak, dan praktis semuanya async :)

Saya juga dari .Net dan saya kira alasan lain menambahkan *Async ke fungsi async adalah untuk memberi tahu penelepon bahwa itu adalah fungsi async dan jangan lupa untuk menggunakan await .

Adakah praktik bagus (atau dukungan IDE) yang dapat mengingatkan penelepon bahwa await mungkin hilang?

Saya menggunakan VSCode dan WebStorm.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

kdekooter picture kdekooter  ·  8Komentar

jusefb picture jusefb  ·  9Komentar

philmerrell picture philmerrell  ·  10Komentar

Bekt picture Bekt  ·  13Komentar

jejja picture jejja  ·  25Komentar