Rekayasa Perangkat Lunak

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

5
Mengapa Python tidak mengizinkan lambda multi-line?
Adakah yang bisa menjelaskan alasan konkret mengapa BDFL memilih untuk membuat Python lambdas satu baris? Ini bagus: lambda x: x**x Ini menghasilkan kesalahan: lambda x: x**x Saya mengerti bahwa membuat lambda multi-baris entah bagaimana akan "mengganggu" aturan lekukan normal dan akan membutuhkan menambahkan lebih banyak pengecualian, tetapi bukankah itu sepadan …
50 lambda  python 




6
Mengapa banyak fungsi yang mengembalikan struktur dalam C, sebenarnya mengembalikan pointer ke struktur?
Apa keuntungan dari mengembalikan pointer ke struktur sebagai lawan mengembalikan seluruh struktur dalam returnpernyataan fungsi? Saya berbicara tentang fungsi seperti fopendan fungsi level rendah lainnya, tetapi mungkin ada fungsi level yang lebih tinggi yang mengembalikan pointer ke struktur juga. Saya percaya bahwa ini lebih merupakan pilihan desain daripada hanya pertanyaan …

2
Apa saja perbaikan MVP dibandingkan MVC?
Saya telah membaca selama tiga hari tentang pola Model-View-Controller (MVC) dan Model-View-Presenter (MVP) . Dan ada satu pertanyaan yang sangat mengganggu saya. Mengapa perancang perangkat lunak menciptakan MVP, padahal sudah ada MVC? Masalah apa yang mereka hadapi, yang MVC tidak pecahkan (atau pecahkan dengan buruk), tetapi MVP bisa pecahkan? Masalah …






5
Mengapa semua fungsi <algorithm> hanya mengambil rentang, bukan wadah?
Ada banyak fungsi yang berguna &lt;algorithm&gt;, tetapi semuanya beroperasi pada "urutan" - pasangan iterator. Misalnya, jika saya memiliki wadah dan suka menjalankannya std::accumulate, saya perlu menulis: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Yang ingin saya lakukan adalah: int sum = std::accumulate(myContainer, 0); Yang sedikit lebih mudah …


6
Solusi untuk Java memeriksa pengecualian
Saya menghargai banyak fitur Java 8 baru tentang lambdas dan antarmuka metode standar. Namun, saya masih bosan dengan pengecualian yang diperiksa. Misalnya, jika saya hanya ingin membuat daftar semua bidang yang terlihat dari suatu objek, saya hanya ingin menulis ini: Arrays.asList(p.getClass().getFields()).forEach( f -&gt; System.out.println(f.get(p)) ); Namun, karena getmetode ini dapat …

1
Mengapa ada "baru" di Go?
Saya masih bingung mengapa kita harus newpergi. Ketika Anda ingin instantiate sebuah struct, Anda lakukan t := Thing{} dan Anda bisa mendapatkan pointer ke instance baru dengan melakukan t := &amp;Thing{} Tetapi ada juga kemungkinan ini: t := new(Thing) Yang terakhir ini tampaknya agak asing bagi seluruh bahasa. &amp;Thing{}sejelas dan …
49 go 

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.