Rekayasa Perangkat Lunak

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


2
Stack memperpanjang LinkedList. Pelanggaran Prinsip Pergantian Liskov?
Kelas LinkedList ada dengan fungsi-fungsi seperti add_first (), add_last (), add_after (), remove_first (), remove_last (), dan remove () Sekarang ada kelas Stack yang menyediakan fungsionalitas seperti push (), pop (), peek () atau top (), dan untuk mengimplementasikan metode ini ia memperluas metode kelas LinkedList. Apakah ini merupakan pelanggaran …

5
Unit menguji metode batal
Untuk memperbaiki bug dalam aplikasi, saya memodifikasi metode yang dinamai postLogindengan menambahkan panggilan ke metode yang ada bernama getShoppingCart. Kode protected void postLogin() { getShoppingCart(); } Namun, saya tidak yakin apa cara terbaik untuk menulis unit test postLogin. Pendekatan 1 Gunakan verifikasi dari Mockito untuk memverifikasi bahwa metode itu dipanggil. …

1
Haruskah layanan microsoft menjadi pengguna?
Kami mencoba menentukan cara terbaik untuk mengotorisasi pengguna dalam arsitektur layanan mikro, sambil memastikan layanan microser memiliki izin terbatas. Arsitektur kami menggunakan layanan otorisasi pusat untuk menangani penerbitan token JWT. Kami memiliki persyaratan berikut: Pengguna harus dibatasi untuk melakukan peran tertentu. misalnya pengguna hanya dapat membuat / memodifikasi / membaca …

3
Bagaimana cara membuat tes otomatis populer? [Tutup]
Ditutup . Pertanyaan ini didasarkan pada pendapat . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga dapat dijawab dengan fakta dan kutipan dengan mengedit posting ini . Ditutup 2 tahun yang lalu . Basis kode kami berkembang selama 20 tahun sekarang. Kami sekitar 10 devs + …

3
Bagaimana seharusnya seseorang mengelola konstanta di berbagai bahasa?
Saya memiliki situasi di mana saya mendukung perpustakaan yang secara fungsional sama dalam berbagai bahasa. Sering ada konstanta yang perlu dibagi di antara ini (misalnya, kunci nama bidang json atau kode kesalahan). Cara saya saat ini melakukan ini adalah dengan memiliki kode yang mendefinisikan konstanta dalam setiap bahasa. Masalahnya muncul …
13 design  packages 

7
Bagaimana menghindari penulisan ulang bagian aplikasi
Saya bekerja di sebuah perusahaan pada proyek untuk departemen Penjualan mereka. Ini adalah pekerjaan pemrograman profesional pertama saya, tetapi saya telah mengkode sendiri dan belajar selama bertahun-tahun. Bagian dari proyek ini melibatkan pengambilan beberapa data dan menggabungkannya dengan input untuk menghasilkan dan membuat grafik. Lalu simpan datanya ... seterusnya dan …

4
Tentang perang data datatype tanggal database saya: Valid? Bermanfaat? Apakah ada orang lain yang merasakannya?
Saya menghabiskan banyak waktu menjawab pertanyaan SQL pada SO. Saya sering menemukan pertanyaan sejenis ini: SELECT * FROM person WHERE birthdate BETWEEN '01/01/2017' AND '01/03/2017' SELECT * FROM person WHERE birthdate BETWEEN '2017-01-01' AND '2017-03-01' SELECT * FROM person WHERE birthdate BETWEEN 'some string' AND 'other string' yaitu baik mengandalkan …

1
Penggunaan Metode Default Java
Selama beberapa dekade itu menjadi hal interface yang hanya hanya (hanya) untuk menentukan metode tanda tangan. Kami diberitahu bahwa ini adalah "cara yang tepat untuk melakukan sesuatu ™". Kemudian Java 8 keluar dan berkata: Nah, eh, eh, sekarang Anda bisa mendefinisikan metode default. Harus lari, bye. Saya ingin tahu bagaimana …

8
"Lebih suka komposisi daripada warisan" - Apakah satu-satunya alasan untuk bertahan terhadap perubahan tanda tangan?
Halaman ini menganjurkan komposisi atas warisan dengan argumen berikut (diucapkan ulang dengan kata-kata saya): Perubahan tanda tangan dari metode superclass (yang belum ditimpa dalam subclass) menyebabkan perubahan tambahan di banyak tempat ketika kita menggunakan Inheritance. Namun, ketika kami menggunakan Komposisi, perubahan tambahan yang diperlukan hanya di satu tempat: Subkelas. Apakah …

2
Apa nama teknik pemrograman ini?
Saya menemukan teknik pemrograman ini saat melakukan pemrograman berpasangan dalam sebuah wawancara dan tidak dapat menemukan namanya di google. Idenya adalah Anda pertama-tama menulis ekspresi yang menggunakan variabel dan kemudian Anda menulis kode yang menghitung variabel di kemudian hari. Untuk menggunakan beberapa kode contoh di sini: private bool ValidPolicyNumber(string policyNumber) …

4
Bagaimana saya harus menulis tes untuk metode murni yang tidak mengembalikan apa pun?
Saya memiliki banyak kelas yang berhubungan dengan validasi nilai. Sebagai contoh, suatu RangeValidatorkelas memeriksa apakah suatu nilai berada dalam kisaran yang ditentukan. Setiap kelas validator berisi dua metode is_valid(value):, yang mengembalikan Trueatau Falsebergantung pada nilai, dan ensure_valid(value)yang memeriksa nilai yang ditentukan dan tidak melakukan apa pun jika nilainya valid, atau …

6
Bersihkan cara OOP memetakan objek ke presenternya
Saya membuat permainan papan (seperti catur) di Jawa, di mana masing-masing bagian adalah jenisnya sendiri (seperti Pawn, Rookdll.). Untuk bagian GUI dari aplikasi saya perlu gambar untuk masing-masing bagian ini. Sejak melakukan berpikir seperti rook.image(); melanggar pemisahan UI dan logika bisnis, saya akan membuat presenter yang berbeda untuk masing-masing bagian …

2
Apakah ada sistem build yang memasukkan waktu tugas yang diperkirakan relatif ke dalam jadwal?
Inilah ilustrasi kecil dari pertanyaan saya: Asumsikan sebuah pekerjaan build yang terdiri dari 4 tugas independen bernama AD. D membutuhkan waktu lebih lama daripada AC. Sistem build yang tidak dapat menggabungkan waktu tugas relatif mungkin menjadwalkan tugas-tugas seperti ini: --------------------------------------- CPU1: A | C | --------------------------------------- CPU2: B | D …

8
Tim Scrum tidak mengikuti prinsip YAGNI
Pada pertemuan SCRUM, tim produk berdebat tentang fitur pada API yang akan dikonsumsi oleh aplikasi seluler. Kami memiliki mock up yang menunjukkan bagaimana tampilan layar dan elemen kunci apa yang harus dikandungnya ("tata letak"). Berdasarkan hal ini dan diskusi yang saya lakukan dengan pemilik produk, saya membuat prototipe untuk respons …

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.