Rekayasa Perangkat Lunak

T&J untuk profesional, akademisi, dan siswa yang bekerja dalam siklus hidup pengembangan sistem

6
Apakah fungsi murni memoized itu sendiri dianggap murni?
Katakanlah fn(x)adalah fungsi murni yang melakukan sesuatu yang mahal, seperti mengembalikan daftar faktor utama x. Dan katakanlah kita membuat versi memoised dari fungsi yang sama yang disebut memoizedFn(x). Selalu mengembalikan hasil yang sama untuk input yang diberikan, tetapi tetap menyimpan cache pribadi dari hasil sebelumnya untuk meningkatkan kinerja. Secara formal, …

9
Mengapa loop sementara (benar) di konstruktor sebenarnya buruk?
Meskipun pertanyaan umum ruang lingkup saya agak C # karena saya sadar bahwa bahasa seperti C ++ memiliki semantik yang berbeda mengenai eksekusi konstruktor, manajemen memori, perilaku tidak terdefinisi, dll. Seseorang bertanya kepada saya pertanyaan menarik yang bagi saya tidak mudah dijawab. Mengapa (atau itu sama sekali?) Dianggap sebagai desain …
47 c#  architecture 

8
Mengapa tidak menyandikan nama argumen dalam nama fungsi lebih umum? [Tutup]
Dalam Clean Code , penulis memberikan contoh assertExpectedEqualsActual(expected, actual) vs. assertEquals(expected, actual) dengan mantan diklaim lebih jelas karena menghilangkan kebutuhan untuk mengingat ke mana pergolakan dan potensi penyalahgunaan yang berasal dari itu. Namun, saya belum pernah melihat contoh skema penamaan sebelumnya dalam kode apa pun dan melihat yang terakhir sepanjang …
47 clean-code 


12
Menghindari voodoo `goto`?
Saya memiliki switchstruktur yang memiliki beberapa kasus untuk ditangani. Ini switchberoperasi di atas enumyang menimbulkan masalah kode duplikat melalui nilai gabungan: // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo, Four, FourOne, FourTwo, FourThree, FourOneTwo, FourOneThree, FourTwoThree, FourOneTwoThree // ETC. …

4
Kode Status HTTP untuk “Still Processing”
Saya sedang membangun API tenang yang mendukung antrian tugas yang sudah berjalan lama untuk penanganan akhirnya. Alur kerja khas untuk API ini adalah: Pengguna mengisi formulir Klien memposting data ke API Pengembalian API 202 Diterima Klien mengalihkan pengguna ke URL unik untuk permintaan itu ( /results/{request_id}) ~ akhirnya ~ Klien …
47 rest  http 

7
Apa nilai aktual dari gaya kode yang konsisten
Saya adalah bagian dari tim konsultan yang menerapkan solusi baru untuk pelanggan. Saya bertanggung jawab atas sebagian besar ulasan kode pada basis kode sisi klien (Bereaksi dan javascript). Saya telah memperhatikan bahwa beberapa anggota tim menggunakan pola pengkodean yang unik sampai-sampai saya dapat memilih file secara acak untuk mengetahui siapa …



4
Bagaimana tepatnya Pohon Sintaksis Abstrak dibuat?
Saya pikir saya mengerti tujuan AST, dan saya telah membangun beberapa struktur pohon sebelumnya, tetapi tidak pernah AST. Saya sebagian besar bingung karena node adalah teks dan bukan angka, jadi saya tidak bisa memikirkan cara yang bagus untuk memasukkan token / string karena saya parsing beberapa kode. Sebagai contoh, ketika …

3
Mengapa C # mengizinkan properti di antarmuka?
Di C #, kode berikut ini valid interface I{ int property{get;set;} } Itu tidak masuk akal bagi saya. Hal ini tampaknya mematahkan salah satu prinsip antarmuka yang paling penting: kurangnya negara (dengan kata lain, tidak ada bidang). Bukankah properti membuat bidang pribadi implisit? Bukankah itu benar-benar buruk untuk antarmuka?

4
Mengapa metode tidak seharusnya melempar beberapa jenis pengecualian yang diperiksa?
Kami menggunakan SonarQube untuk menganalisis kode Java kami dan memiliki aturan ini (set ke kritis): Metode publik harus membuang paling banyak satu pengecualian yang diperiksa Menggunakan pengecualian yang diperiksa memaksa pemanggil metode untuk menangani kesalahan, baik dengan menyebarkannya atau dengan menanganinya. Ini membuat pengecualian tersebut sepenuhnya menjadi bagian dari API …

8
Mengapa mendesain bahasa modern tanpa mekanisme penanganan pengecualian?
Banyak bahasa modern menyediakan fitur penanganan pengecualian yang kaya , tetapi bahasa pemrograman Apple Swift tidak menyediakan mekanisme penanganan pengecualian . Tenggelam dalam pengecualian seperti saya, saya mengalami kesulitan membungkus pikiran saya di sekitar apa artinya ini. Swift memiliki asersi, dan tentu saja mengembalikan nilai; tetapi saya mengalami kesulitan membayangkan …

9
Secara umum, apakah lebih baik membuat semua bagian fungsional atau membuat UI berfungsi lebih dulu - atau campuran keduanya?
Secara umum, apakah lebih baik membuat semua bagian fungsional atau membuat UI berfungsi lebih dulu - atau campuran keduanya? Dengan asumsi Anda sedang mengerjakan sesuatu yang besar, apakah ini merupakan praktik yang diterima secara umum untuk mendapatkan semua gumpalan pengumpulan data fungsional berfungsi sebelum UI apa pun, dapatkan semua UI …

2
Strategi untuk menghasilkan pengidentifikasi unik dan aman untuk digunakan dalam aplikasi web "terkadang offline"
Saya memiliki proyek berbasis web yang memungkinkan pengguna untuk bekerja baik online maupun offline dan saya sedang mencari cara untuk menghasilkan id unik untuk catatan di sisi klien. Saya ingin pendekatan yang berfungsi saat pengguna offline (tidak dapat berbicara dengan server), dijamin unik, dan aman. Dengan "aman", saya secara khusus …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.