Rekayasa Perangkat Lunak

10
Lisensi ganda dengan GPL dan lisensi sumber tertutup

Saya telah melakukan banyak penelitian tentang ini, tetapi saya masih cukup bingung. Saat ini saya sedang mengerjakan proyek perangkat lunak yang kompatibel dengan Arduino. Proyek ini open source, jadi saya ingin orang lain memanfaatkannya juga, tapi saya tidak ingin mereka membuat karya turunan...

10
Mengapa Swift membutuhkan meja saksi?

Saya mencoba untuk membaca detail implementasi Swift, dan satu hal yang tidak bisa saya pecahkan adalah "tabel saksi" nya. Sepertinya itu adalah pointer vtable terpisah yang digunakan untuk struct. Tetapi mengapa Anda membutuhkannya? Struct disalin oleh nilai, jadi Anda sudah tahu pada waktu...

10
Mengoptimalkan alokasi string berlebihan di C ++

Saya memiliki komponen C ++ yang cukup kompleks yang kinerjanya menjadi masalah. Profiling menunjukkan bahwa sebagian besar waktu eksekusi hanya dihabiskan mengalokasikan memori untuk std::strings. Saya tahu bahwa ada banyak redundansi di antara string-string itu. Sejumlah nilai berulang sangat...

10
Kelas utilitas pengujian unit

Kita semua memiliki beberapa kelas utilitas, yang hanya berisi metode statis, untuk penggunaan dari berbagai sumber. Sekarang, bisa ada dua pendekatan yang dapat diambil untuk menguji bagian kode ini. Pendekatan 1: Memiliki tes unit terpisah untuk kelas utilitas. Di mana pun mereka dipanggil,...