Rekayasa Perangkat Lunak

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

3
Bagaimana saya bisa mencegah pengguna mengedit kode saya di browser mereka?
Deskripsi Saya merancang aplikasi Node.JS (lebih seperti situs web lengkap). Aplikasi ini akan mengirim lima file JavaScript dan akan memiliki <script>tag yang menghubungkan mereka bersama. Pertanyaan Bagaimana saya bisa mencegah pengguna dan penyerang mengintip dan mengedit kode saya ? Contohnya adalah: Ctrl+ Shift+I Di Devtools , Sumber goto , pilih …

2
Bukankah Sistem Entitas-Komponen mengerikan untuk decoupling / menyembunyikan informasi?
Judulnya sengaja hiperbolik dan mungkin hanya pengalaman saya dengan polanya tapi inilah alasan saya: Cara "biasa" atau bisa langsung dari entitas pelaksana adalah dengan mengimplementasikannya sebagai objek dan mensubklasifikasikan perilaku umum. Ini mengarah ke masalah klasik "adalah EvilTreesubclass dari Treeatau Enemy?". Jika kita mengizinkan beberapa warisan, masalah intan muncul. Sebagai …

5
Bagaimana Anda men-debug format biner?
Saya ingin dapat men-debug membangun biner builder. Saat ini saya pada dasarnya mencetak data input ke parser biner, dan kemudian masuk ke dalam kode dan mencetak pemetaan input ke output, kemudian mengambil pemetaan output (bilangan bulat) dan menggunakannya untuk mencari bilangan bulat yang sesuai dalam biner. Cukup kikuk, dan mengharuskan …
11 debugging  binary 

5
Bagaimana cara menggunakan injeksi ketergantungan dan menghindari pemasangan temporal?
Misalkan saya memiliki Serviceyang menerima dependensi melalui konstruktor tetapi juga perlu diinisialisasi dengan data kustom (konteks) sebelum dapat digunakan: public interface IService { void Initialize(Context context); void DoSomething(); void DoOtherThing(); } public class Service : IService { private readonly object dependency1; private readonly object dependency2; private readonly object dependency3; public …


3
Bagaimana mengukur kompleksitas dalam praktiknya dalam proyek perangkat lunak besar Anda?
Di universitas, di kursus algoritme kami, kami belajar cara menghitung dengan tepat kompleksitas berbagai algoritma sederhana yang digunakan dalam praktik, seperti tabel hash atau pengurutan cepat. Tapi sekarang dalam proyek perangkat lunak besar, ketika kita ingin membuatnya lebih cepat, yang kita lakukan hanyalah melihat potongan-potongan individual - ada beberapa loop …

2
Apakah saya, j = 1 benar-benar menyesatkan? [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 . Ada argumen umum tentang beberapa inisialisasi variabel dalam satu liner, yaitu: Pertimbangkan misalnya …

2
Apakah antarmuka IComparable sudah usang / "berbahaya"?
IComparable hanya bekerja satu arah Katakanlah Anda memiliki Employeekelas. Dalam satu tampilan, Anda ingin menampilkan semua yang Employeesdiurutkan berdasarkan nama - di tampilan lain, berdasarkan alamat. Bagaimana Anda akan mencapai itu? Tidak dengan IComparable, setidaknya tidak dengan cara idiomatis. IComparable memiliki logika di tempat yang salah Antarmuka digunakan dengan memanggil …
11 c#  sorting  comparison 

5
Haruskah kemampuan individu dipertimbangkan dalam poin cerita?
Pemahaman saya tentang estimasi cerita adalah bahwa seseorang harus memperkirakan ukuran sebuah cerita seperti untuk pengembang imajiner rata-rata - sedikit seperti konsep hukum "pengamat yang masuk akal" dalam hukum. Artinya, Anda tidak boleh memperkirakan ukuran cerita dengan asumsi Anda harus melakukannya . Sebagai contoh: dalam pekerjaan saya sebelumnya, saya adalah …
11 agile  estimation 

2
Unit Test untuk menguji pembuatan Objek Domain
Saya memiliki Tes Unit, yang terlihat seperti ini: [Test] public void Should_create_person() { Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01)); } Saya menyatakan bahwa objek Orang dibuat di sini yaitu validasi yang tidak gagal. Misalnya, jika Guid adalah nol atau tanggal lahir lebih awal dari 01/01/1900, maka validasi akan …

3
Bagaimana cara saya mulai menggunakan Git untuk basis kode yang berbeda dari server yang berbeda?
Latar belakang: Saya baru-baru ini mewarisi serangkaian proyek di perusahaan saya dan saya sedang mencoba untuk menyelesaikan beberapa masalah mendasar dengan cara mereka ditangani. Yaitu, pengembang sebelumnya (yang tidak lagi bersama perusahaan) tidak menggunakan segala bentuk kontrol sumber, membuat sedikit dokumentasi, dan tidak benar-benar memiliki proses pengembangan yang baik. Jadi …

2
Apakah pengujian perangkat lunak berbeda ketika kita berhadapan dengan pengembangan game?
Saya membaca makalah ini tentang perbedaan antara pengembangan perangkat lunak secara umum dan pengembangan game dan penulis membuat beberapa poin bagus mengenai pengujian perangkat lunak, menunjukkan, misalnya, bahwa ... pengembang game ragu-ragu untuk menggunakan pengujian otomatis karena keusangan cepat tes ini dalam menghadapi keinginan kreatif bergeser dari desainer game. Jadi, …

1
Selama pembuatan akun, apakah lebih baik membuat kata sandi secara otomatis dan mengirimkannya ke pengguna, atau membiarkan pengguna membuat kata sandinya sendiri?
Pertanyaan ini muncul hari ini ketika berdiskusi dengan seorang kolega tentang halaman 'buat akun' untuk situs web yang sedang kami kerjakan. Pendapat kolega saya adalah bahwa kita harus membuat registrasi secepat dan semulus mungkin, oleh karena itu kita hanya perlu meminta email kepada pengguna dan mengurus sisanya. Saya setuju dengan …

5
Cara mendesain pengecualian
Saya bergumul dengan pertanyaan yang sangat sederhana: Saya sekarang bekerja pada aplikasi server, dan saya perlu menciptakan hierarki untuk pengecualian (beberapa pengecualian sudah ada, tetapi kerangka kerja umum diperlukan). Bagaimana saya mulai melakukan ini? Saya sedang berpikir untuk mengikuti strategi ini: 1) Apa yang salah? Ada yang bertanya, yang tidak …
11 design  c++  exceptions  stl 

1
Mengapa CharSequence tidak mendefinisikan berisi (CharSequence)?
Ini berlaku untuk Java SE & Android, karena kontraknya identik. Dokumentasi CharSequence untuk Java SE Dokumentasi CharSequence untuk Android CharSequencetidak mendefinisikan suatu contains(CharSequence)metode. Saya tidak dapat menemukan alasan mengapa, dan memasukkannya akan sangat berguna, mencegah perlunya menelepon CharSequence#toString()untuk memeriksa urutan karakter. Sebagai contoh, di Android, pengguna dipaksa menelepon Editable#toString()untuk melihat …

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.