Rekayasa Perangkat Lunak

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

6
Memisahkan unit tes dengan persyaratan atau metode
Pertama, minta maaf untuk judulnya, saya tidak bisa memikirkan cara termudah untuk menjelaskannya! Saya memiliki metode yang saya ingin menulis unit test. Saya akan menjaganya tetap generik karena saya tidak ingin membahas implementasi metode ini, hanya pengujian saja. Metodenya adalah: public void HandleItem(item a) { CreateNewItem(); UpdateStatusOnPreviousItem(); SetNextRunDate(); } Jadi …
16 c#  unit-testing 

4
Apakah versi utama cepat menabrak bukti desain yang buruk?
Saya memulai pekerjaan sebagai programmer junior beberapa bulan yang lalu. Sistem yang kami kerjakan telah berproduksi selama ~ 2 tahun. Saya tidak terlibat dalam mengemis sistem dan desain. Satu hal yang saya perhatikan adalah bahwa versi sistem utama sudah 11.YZ Membentuk pengalaman saya bekerja dengan sistem dan perpustakaan lain, saya …

3
Bagaimana Anda menguji suatu fungsi yang tujuan utamanya adalah untuk query API eksternal, tetapi API menggunakan sintaks query yang kompleks?
Satu-satunya logika nyata adalah dalam sintaks kueri untuk API eksternal. Saya tidak ingin menguji apakah ia meminta api, saya ingin menguji apakah ia menanyakannya sedemikian rupa sehingga data yang benar akan dikembalikan. Sebagai contoh, beberapa kode semu: function retrieve_related_data(id) { query = "[potentially long, syntactically complex query that uses param …

4
Bagaimana saya bisa mengurangi upaya manual untuk membungkus perpustakaan pihak ketiga dengan model objek yang lebih besar?
Seperti penulis pertanyaan ini dari 2012 dan yang ini dari 2013 , saya memiliki perpustakaan pihak ke-3 yang harus saya bungkus untuk menguji aplikasi saya dengan benar. Jawaban teratas menyatakan: Anda selalu ingin membungkus tipe dan metode pihak ketiga di belakang sebuah antarmuka. Ini bisa membosankan dan menyakitkan. Terkadang Anda …

2
Apakah mereka masih relevan?
Pemahaman saya dari membaca utas seperti ini adalah bahwa titik ems adalah untuk menentukan semua pengukuran di halaman web Anda, berdasarkan ukuran font dasar , yang dapat diatur oleh browser Anda. Misalnya, di Chrome Anda dapat melakukan ini dengan membuka settings -> show advanced settings -> web content -> font …
16 css 

9
Apakah kondisi yang berlebihan memeriksa praktik terbaik?
Saya telah mengembangkan perangkat lunak selama tiga tahun terakhir, tetapi saya baru-baru ini terbangun betapa bodohnya praktik yang baik. Ini membuat saya mulai membaca buku Clean Code , yang mengubah hidup saya menjadi lebih baik, tetapi saya berjuang untuk mendapatkan wawasan tentang beberapa pendekatan terbaik untuk menulis program saya. Saya …

5
Apakah perpustakaan umum adalah ide yang bagus?
Saya selalu berpikir bahwa "perpustakaan umum" adalah ide yang bagus. Maksud saya perpustakaan yang berisi fungsionalitas umum yang sering dibutuhkan oleh beberapa aplikasi yang berbeda. Ini menghasilkan duplikasi / redundansi kode yang lebih sedikit. Saya baru-baru ini membaca sebuah artikel (tidak dapat menemukan sekarang) yang mengatakan ini sebenarnya adalah ide …
16 design  go 


4
Tidak dapat memahami pola desain pemrograman
Saya telah bekerja dengan javascript selama 4 tahun terakhir. Saya sangat yakin dengan kemampuan memecahkan masalah saya dan saya dapat melihat bahwa kualitas kode saya meningkat. Saya mencoba untuk tetap mengikuti perkembangan komunitas dan saat ini saya bekerja dengan ES2015 dan React.js. Namun, saya merasa tidak bisa memahami pola desain …



5
Penggunaan pengecualian secara otomatis dalam C ++
Pernyataan FAQ pengecualian isocpp.org menyatakan Jangan gunakan lemparan untuk menunjukkan kesalahan pengkodean dalam penggunaan suatu fungsi. Gunakan assert atau mekanisme lain untuk mengirim proses ke debugger atau untuk menghentikan proses dan mengumpulkan crash dump untuk pengembang untuk debug. Di sisi lain pustaka standar mendefinisikan std :: logic_error dan semua turunannya, …
16 design  c++  exceptions 

2
Apa itu Comonad dan bagaimana mereka berguna?
Baru-baru ini saya telah membuang pengetahuan saya tentang cara kerja Monads. Saya juga telah diperkenalkan dengan konsep 'Comonad' , yang digambarkan sebagai dua kebalikan dari monad . Namun, saya tidak mungkin membungkus kepala saya di sekitarnya. Untuk memahami Monads, saya membuat analogi sendiri untuk diri saya sendiri: Monads dapat dilihat …

2
Mengapa C # memungkinkan Anda membuat override async?
Di C #, ketika Anda mengganti metode, itu diizinkan untuk membuat menimpa async ketika metode asli tidak. Ini sepertinya bentuk yang buruk. Contoh yang membawa saya ke sini adalah ini - saya dibawa untuk membantu dengan masalah uji beban. Pada sekitar 500 pengguna secara bersamaan, proses login akan mogok dalam …
16 c#  async 

1
Mengapa ES6 tidak memiliki fungsi panah tipis?
ES6 menambahkan fungsi panah-lemak ( =>), yang memiliki dua perbedaan utama dari fungsi normal: sintaksis yang lebih pendek (termasuk pengembalian implisit jika Anda menggunakan satu-ekspresi tubuh) mewarisi thisdari lingkup sekitarnya Keduanya adalah fitur yang sangat berguna, tetapi bagi saya tampaknya benar-benar terpisah dalam nilai dan aplikasinya - kadang-kadang saya menginginkan …
16 javascript  es6 

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.