Rekayasa Perangkat Lunak

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

3
Apakah "komposisi atas warisan" melanggar "prinsip kering"?
Sebagai contoh, pertimbangkan saya memiliki kelas untuk kelas lain untuk diperluas: public class LoginPage { public String userId; public String session; public boolean checkSessionValid() { } } dan beberapa subclass: public class HomePage extends LoginPage { } public class EditInfoPage extends LoginPage { } Bahkan, subclass tidak memiliki metode untuk …

5
Bagaimana mendefinisikan bahwa suatu metode dapat ditimpa komitmen yang lebih kuat daripada mendefinisikan bahwa suatu metode dapat dipanggil?
Dari: http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma: Saya masih berpikir itu benar bahkan setelah sepuluh tahun. Warisan adalah cara yang keren untuk mengubah perilaku. Tetapi kita tahu bahwa itu rapuh, karena subclass dapat dengan mudah membuat asumsi tentang konteks di mana metode yang ditimpa dipanggil. Ada hubungan erat antara kelas dasar dan subkelas, …

2
Mengapa metode yang menggunakan jumlah tak terbatas parameter sering mendefinisikan kelebihan beban dengan parameter lebih sedikit?
Misalnya, System.IO.Path.Combinemetode di .NET memiliki kelebihan berikut: Combine(params String[]) Combine(String, String) Combine(String, String, String) Combine(String, String, String, String) Apa gunanya dari tiga terakhir? Yang pertama akan mencakup semuanya, seolah-olah Anda melihat dari dekat, itu menggunakan paramskata kunci. Argumen kompatibilitas mundur hanya akan mencakupCombine(String, String) varian, karena itu adalah satu-satunya versi …


2
Apa itu generasi bahasa pemrograman ke 4 & 5? Apakah ada lebih banyak dari mereka? [Tutup]
Karena sering diklasifikasikan di tingkat sekolah / perguruan tinggi, bahasa pemrograman populer (C #, Java, C ++) adalah semua bahasa generasi ke-3 (dengan tingkat abstraksi yang lebih tinggi dari bagian fisik mesin). Selain itu, bahasa rakitan diklasifikasikan sebagai bahasa ke-2 dan bahasa mesin sebagai bahasa generasi pertama. Awalnya saya berpikir …




8
Haruskah kemampuan objek diidentifikasi secara eksklusif oleh antarmuka yang diimplementasikan?
Operator C # isdan operator Java instanceofmemungkinkan Anda untuk bercabang pada antarmuka (atau, lebih kasarnya, kelas dasarnya) yang telah diterapkan oleh instance objek. Apakah pantas untuk menggunakan fitur ini untuk percabangan tingkat tinggi berdasarkan kemampuan yang disediakan oleh antarmuka? Atau haruskah kelas dasar menyediakan variabel boolean untuk menyediakan antarmuka untuk …


5
Apakah pantas untuk memberikan komentar positif dalam ulasan kode, atau hanya untuk kritik yang membangun?
Saya telah melakukan banyak tinjauan kode akhir-akhir ini, dan saya tidak yakin dengan efek positif dan negatif serta profesionalisme dalam memberikan komentar positif dan / atau lucu dalam ulasan kode. Kami menggunakan Github sebagai platform peninjauan kode kami di tim saya, sehingga komentar dapat dilihat oleh siapa pun. Saya biasanya …

3
Apakah ada kelebihan SASS dibanding KURANG? [Tutup]
Saya mencoba melakukan penelitian pada preprosesor css ini. Apakah ada keuntungan menggunakan sass lebih sedikit daripada sebagai preprosesor css? Faktor yang saya cari termasuk ukuran komunitas, kematangan proyek perangkat lunak, dll. Saya tahu ada pertanyaan lain yang terkait dengan ini, tetapi itu tidak ditulis dan ditutup secara konstruktif. Memperbarui Sepertinya …
36 css  less 

6
Bagaimana cara menghindari UITableViewController yang besar dan canggung di iOS?
Saya memiliki masalah ketika menerapkan pola-MVC di iOS. Saya telah mencari di internet tetapi sepertinya tidak menemukan solusi yang bagus untuk masalah ini. Banyak UITableViewControllerimplementasi tampaknya agak besar. Kebanyakan contoh yang saya lihat memungkinkan UITableViewControllerimplementasi <UITableViewDelegate>dan <UITableViewDataSource>. Implementasi ini adalah alasan utama mengapa UITableViewControllersemakin besar. Salah satu solusinya adalah membuat …

4
Keterbatasan apa yang diberlakukan JVM pada optimasi panggilan ekor
Clojure tidak melakukan optimasi panggilan ekor sendiri: ketika Anda memiliki fungsi rekursif ekor dan Anda ingin mengoptimalkannya, Anda harus menggunakan formulir khusus recur. Demikian pula, jika Anda memiliki dua fungsi yang saling rekursif, Anda dapat mengoptimalkannya hanya dengan menggunakan trampoline. Scala compiler dapat melakukan TCO untuk fungsi rekursif, tetapi tidak …
36 scala  clojure  jvm  tail-call 

6
Haruskah variabel sesi dihindari?
Saya dulu sangat bergantung pada variabel sesi di masa lalu, tetapi baru-baru ini menemukan banyak dari mereka tidak perlu, menggunakan hal-hal seperti parameter string kueri sebagai gantinya. Seorang kolega saya menolak untuk menggunakan variabel sesi. Apakah ini tujuan yang realistis dan haruskah variabel sesi dihindari karena alasan praktis? Dapatkah variabel …

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.