Rekayasa Perangkat Lunak

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

2
Mengapa perangkat lunak menggunakan nama Win32?
Jika suatu perangkat lunak / perpustakaan memiliki beberapa dukungan untuk platform Windows mereka hampir selalu menamai direktori dan variabel mereka sebagai win32. Ini paling lazim dalam proyek C / C ++. Bahkan target triple project MinGW menggunakan win32. Apakah ada alasan untuk ini? Mengapa tidak menggunakan nama yang tepat seperti …

9
Mengapa kita membutuhkan kelas Builder ketika menerapkan pola Builder?
Saya telah melihat banyak implementasi pola Builder (terutama di Jawa). Semua dari mereka memiliki kelas entitas (katakanlah Personkelas), dan kelas pembangun PersonBuilder. Pembangun "menumpuk" berbagai bidang dan mengembalikan a new Persondengan argumen yang diteruskan. Mengapa kita secara eksplisit membutuhkan kelas builder, alih-alih menempatkan semua metode builder di Personkelas itu sendiri? …

1
Apakah "StringBuilder" aplikasi Pola Desain Builder?
Apakah pola "Builder" terbatas untuk mengatasi anti-pola "telescoping constructor", atau dapatkah itu juga dikatakan mengatasi masalah yang lebih umum dari penciptaan rumit benda tak bergerak? The StringBuilderkelas memiliki kata "pembangun" dalam namanya, tetapi tidak ada hubungannya dengan telescoping konstruktor, itu hanya membantu kita mengumpulkan semua data yang kita butuhkan untuk …

8
Apakah membandingkan persamaan angka float menyesatkan pengembang junior bahkan jika tidak ada kesalahan pembulatan terjadi dalam kasus saya?
Misalnya, saya ingin menampilkan daftar tombol mulai 0,0,5, ... 5, yang melompat untuk setiap 0,5. Saya menggunakan loop for untuk melakukan itu, dan memiliki warna berbeda di tombol STANDARD_LINE: var MAX=5.0; var DIFF=0.5 var STANDARD_LINE=1.5; for(var i=0;i<=MAX;i=i+DIFF){ button.text=i+''; if(i==STANDARD_LINE){ button.color='red'; } } Pada kasus ini seharusnya tidak ada kesalahan pembulatan …

2
Metode memisahkan depan dan belakang dengan javascript tumpukan penuh?
Misalkan saya memiliki front-end yang sebagian besar merupakan aplikasi satu halaman yang ditulis menggunakan angular, grunt, dan bower. Dan seandainya saya memiliki backend, yang sebagian besar hanya REST API yang duduk di atas ORM, yang menyimpan / mengambil objek dari database, menggunakan hal-hal seperti mendengus, mengekspresikan dan mengurutkan. Aplikasi sudut …




5
Bagaimana biasanya komentar diurai?
Bagaimana komentar umumnya diperlakukan dalam bahasa pemrograman dan markup? Saya menulis parser untuk beberapa bahasa markup kustom dan ingin mengikuti prinsip paling tidak mengejutkan , jadi saya mencoba menentukan konvensi umum. Misalnya, haruskah komentar yang tertanam di dalam token 'mengganggu' token atau tidak? Secara umum, adalah sesuatu seperti: Sys/* comment …
31 parsing  comments 

5
Tidak ada basis data pusat
Saya memiliki klien yang ingin membangun situs web / aplikasi seluler / aplikasi desktop yang berhubungan dengan data yang sangat sensitif (lebih sensitif daripada rincian bank / kartu). Karena sifat sensitif dari data, mereka tidak ingin menyimpannya di database pusat tetapi mereka masih ingin aplikasi mereka untuk disinkronkan (katakanlah saya …


6
Memasukkan kata sandi dalam panggilan API REST
Misalkan saya memiliki REST API yang juga digunakan untuk mengatur / mengatur ulang kata sandi. Mari kita juga anggap ini berfungsi melalui koneksi HTTPS. Apakah ada alasan bagus untuk tidak meletakkan kata sandi itu di jalur panggilan, katakan juga saya akan menyandikannya di BASE64? Contohnya adalah mengatur ulang kata sandi …
31 rest  passwords 

3
Kesalahan dalam menangani pertimbangan
Masalah: Sejak lama, saya khawatir dengan exceptionsmekanismenya, karena saya merasa tidak benar-benar menyelesaikan apa yang seharusnya. KLAIM: Ada perdebatan panjang di luar tentang topik ini, dan kebanyakan dari mereka kesulitan membandingkan dan exceptionsmengembalikan kode kesalahan. Ini jelas bukan topik di sini. Mencoba mendefinisikan kesalahan, saya setuju dengan CppCoreGuidelines, dari Bjarne …

6
Apakah melempar RuntimeExceptions baru ke dalam kode yang tidak terjangkau merupakan gaya yang buruk?
Saya ditugaskan untuk memelihara aplikasi yang ditulis beberapa waktu lalu oleh pengembang yang lebih terampil. Saya menemukan potongan kode ini: public Configuration retrieveUserMailConfiguration(Long id) throws MailException { try { return translate(mailManagementService.retrieveUserMailConfiguration(id)); } catch (Exception e) { rethrow(e); } throw new RuntimeException("cannot reach here"); } Saya ingin tahu apakah melempar RuntimeException("cannot …

3
Asal-usul lekukan kode
Saya tertarik untuk mencari tahu siapa yang memperkenalkan indentasi kode, serta kapan dan di mana kode itu diperkenalkan. Tampaknya sangat penting untuk pemahaman kode, tetapi itu tidak universal. Kebanyakan kode Fortran dan Basic adalah (tidak?), Dan hal yang sama berlaku untuk Cobol. Saya cukup yakin saya bahkan telah melihat kode …

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.