Rekayasa Perangkat Lunak

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




5
Apakah berguna untuk kode mini-refactor dengan harapan meningkatkan kualitas, atau hanya "memindahkan kode" tanpa banyak manfaat?
Contoh Saya menemukan kode monolitik yang melakukan "segalanya" di satu tempat - memuat data dari basis data, menunjukkan markup HTML, bertindak sebagai router / controller / action. Saya mulai menerapkan kode database bergerak SRP ke file sendiri, memberikan penamaan yang lebih baik untuk hal-hal, dan semuanya terlihat bagus, tapi kemudian …

1
Apa artinya 'cuka sintaksis'
Saya membaca Groovy in Action, Edisi Kedua dan dengan catatan kaki, saya menemukan teks berikut Java menuangkan "syntax vinegar" di atas konstruksi semacam itu untuk mencegah programmer menggunakannya. Apa arti istilah ini di syntax vinegarsini? Saya belum pernah mendengar istilah ini sebelumnya dan mencari di DuckDuckGo dan Google tetapi tidak …
12 java  syntax  groovy 

1
Mengapa semaphore disebut semaphore?
Tampaknya bagi saya bahwa semaphore kereta api menggambarkan semaphore lebih baik daripada objek pensinyalan generik lainnya, seperti bendera atau lampu merah. Bahkan sesuatu seperti keyring (orang mengambil kunci dari ring untuk mengakses sumber daya yang dikunci, lalu mengembalikannya ketika sudah selesai) lebih deskriptif. Jadi mengapa semaphore disebut semaphore?
12 semaphore 

5
Melarang panggilan ke fungsi / kelas yang berubah-ubah dalam kode eksternal
Saya pernah mengalami kasus di mana akan sangat berharga untuk membatasi akses ke API perpustakaan eksternal dan kerangka kerja untuk mencegah konsekuensi negatif dalam sistem. Misalnya, dalam aplikasi SharePoint, mungkin terasa wajar untuk menelepon spList.Items.GetItemById untuk mendapatkan item daftar, bahkan mungkin dalam satu lingkaran, tanpa menyadari bahwa ini dapat menyebabkan …



2
Apakah kompiler seperti Javac secara otomatis mendeteksi fungsi murni dan memparalelkannya?
Fungsi murni dikenal untuk memfasilitasi pembuatan parellel. Ada apa dengan pemrograman fungsional yang membuatnya secara inheren disesuaikan dengan eksekusi paralel? Apakah kompiler seperti Javac cukup pintar untuk mendeteksi kapan suatu metode merupakan fungsi murni? Seseorang selalu dapat mengimplementasikan kelas yang mengimplementasikan antarmuka fungsional seperti Fungsi , tetapi memiliki efek samping.


2
Apakah sistem file “melihat” perangkat penyimpanan sebagai array byte (sangat besar)?
Saya ingin tahu bagaimana sistem file menulis dan membaca dari perangkat penyimpanan. Saya pikir ini cara kerjanya: Sistem file tidak mengakses perangkat penyimpanan secara langsung, melainkan perangkat penyimpanan disajikan (oleh driver perangkat perangkat penyimpanan) ke sistem file sebagai array byte (sangat besar). Misalnya, jika sistem file ingin mengakses hard disk, …

4
Saat pemrograman dalam gaya Fungsional, apakah Anda memiliki satu status aplikasi yang Anda anyam melalui logika aplikasi?
Bagaimana cara membuat sistem yang memiliki semua hal berikut : Menggunakan fungsi murni dengan objek yang tidak berubah. Hanya meneruskan ke data fungsi yang dibutuhkan fungsi, tidak lebih (yaitu tidak ada objek status aplikasi besar) Hindari terlalu banyak argumen pada fungsi. Hindari harus membuat objek baru hanya untuk tujuan mengemas …

2
Cara menguji dan membandingkan implementasi mutex
Seperti judulnya: Bagaimana Anda menguji dan membandingkan penerapan berbagai mutasi di c ++ dengan benar? Pada dasarnya saya menulis std :: mutex seperti kelas saya sendiri untuk proyek yang berjalan pada inti 2, armv7 dengan tujuan untuk meminimalkan overhead dalam kasus yang tidak terbantahkan. Sekarang saya sedang mempertimbangkan untuk menggunakan …
12 c++  testing  mutex 

3
Flat atau bersarang JSON untuk data hierarki?
Saya sudah bolak-balik ~ 5 kali sudah. Titik akhir REST ini /api/tags/akan untuk penggunaan internal (tidak ada klien pihak ke-3), saya satu-satunya yang bekerja dengannya. Saya memutuskan antara dua representasi ini: Datar { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, "text":"Water", "type":1 }, …
12 rest  api-design  json 

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.